Go to the documentation of this file.
52 #ifndef vtkClipClosedSurface_h
53 #define vtkClipClosedSurface_h
55 #include "vtkFiltersGeneralModule.h"
67 class vtkCCSEdgeLocator;
96 vtkSetMacro(Tolerance,
double);
97 vtkGetMacro(Tolerance,
double);
140 vtkSetClampMacro(ScalarMode,
int,
148 vtkGetMacro(ScalarMode,
int);
159 vtkSetVector3Macro(BaseColor,
double);
160 vtkGetVector3Macro(BaseColor,
double);
169 vtkSetVector3Macro(ClipColor,
double);
170 vtkGetVector3Macro(ClipColor,
double);
179 vtkSetMacro(ActivePlaneId,
int);
180 vtkGetMacro(ActivePlaneId,
int);
189 vtkSetVector3Macro(ActivePlaneColor,
double);
190 vtkGetVector3Macro(ActivePlaneColor,
double);
220 double ActivePlaneColor[3];
240 vtkPointData *pointData, vtkCCSEdgeLocator *edgeLocator,
252 vtkCCSEdgeLocator *edgeLocator,
int triangulate,
265 vtkCCSEdgeLocator *edgeLocator,
double tol,
326 int outputPointDataType);
332 const double color1[3],
const double color2[3],
const double color3[3],
333 unsigned char colors[3][3]);
represent and manipulate 3D points
@ VTK_CCS_SCALAR_MODE_NONE
@ VTK_CCS_SCALAR_MODE_COLORS
static vtkClipClosedSurface * New()
virtual void SetClippingPlanes(vtkPlaneCollection *planes)
Set the vtkPlaneCollection that holds the clipping planes.
represent and manipulate point attribute data
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
a cell that represents an n-sided polygon
~vtkClipClosedSurface() override
dynamic, self-adjusting array of unsigned char
void SetScalarModeToNone()
vtkTypeBool GenerateFaces
void SetScalarModeToColors()
void ClipAndContourPolys(vtkPoints *points, vtkDoubleArray *pointScalars, vtkPointData *pointData, vtkCCSEdgeLocator *edgeLocator, int triangulate, vtkCellArray *inputCells, vtkCellArray *outputPolys, vtkCellArray *outputLines, vtkCellData *inPolyData, vtkCellData *outPolyData, vtkCellData *outLineData)
Clip and contour polys in one step, in order to guarantee that the contour lines exactly match the ne...
void SetScalarModeToLabels()
vtkTypeBool TriangulationErrorDisplay
static void BreakTriangleStrips(vtkCellArray *inputStrips, vtkCellArray *outputPolys, vtkUnsignedCharArray *inputScalars, vtkIdType firstStripScalar, vtkUnsignedCharArray *outputScalars, const unsigned char color[3])
Break triangle strips and add the triangles to the output.
static void SqueezeOutputPoints(vtkPolyData *output, vtkPoints *points, vtkPointData *pointData, int outputPointDataType)
Squeeze the points and store them in the output.
Clip a closed surface with a plane collection.
static int InterpolateEdge(vtkPoints *points, vtkPointData *pointData, vtkCCSEdgeLocator *edgeLocator, double tol, vtkIdType i0, vtkIdType i1, double v0, double v1, vtkIdType &i)
A helper function for interpolating a new point along an edge.
void TriangulateContours(vtkPolyData *data, vtkIdType firstLine, vtkIdType numLines, vtkCellArray *outputPolys, const double normal[3])
Given some closed contour lines, create a triangle mesh that fills those lines.
const char * GetScalarModeAsString()
represent and manipulate cell attribute data
a simple class to control print indentation
object to represent cell connectivity
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int TriangulatePolygon(vtkIdList *polygon, vtkPoints *points, vtkCellArray *triangles)
A robust method for triangulating a polygon.
list of point or cell ids
vtkPlaneCollection * ClippingPlanes
vtkTypeBool GenerateOutline
vtkTypeBool PassPointData
dynamic, self-adjusting array of vtkIdType
static void CreateColorValues(const double color1[3], const double color2[3], const double color3[3], unsigned char colors[3][3])
Take three colors as doubles, and convert to unsigned char.
static void CopyPolygons(vtkCellArray *inputPolys, vtkCellArray *outputPolys, vtkUnsignedCharArray *inputScalars, vtkIdType firstPolyScalar, vtkUnsignedCharArray *outputScalars, const unsigned char color[3])
Copy polygons and their associated scalars to a new array.
concrete dataset represents vertices, lines, polygons, and triangle strips
dynamic, self-adjusting array of double
maintain a list of planes
@ VTK_CCS_SCALAR_MODE_LABELS
int ComputePipelineMTime(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, int requestFromOutputPort, vtkMTimeType *mtime) override
A special version of ProcessRequest meant specifically for the pipeline modified time request.
void ClipLines(vtkPoints *points, vtkDoubleArray *pointScalars, vtkPointData *pointData, vtkCCSEdgeLocator *edgeLocator, vtkCellArray *inputCells, vtkCellArray *outputLines, vtkCellData *inCellData, vtkCellData *outLineData)
Method for clipping lines and copying the scalar data.
static void BreakPolylines(vtkCellArray *inputLines, vtkCellArray *outputLines, vtkUnsignedCharArray *inputScalars, vtkIdType firstLineScalar, vtkUnsignedCharArray *outputScalars, const unsigned char color[3])
Break polylines into individual lines, copying scalar values from inputScalars starting at firstLineS...
vtkTypeUInt32 vtkMTimeType
Superclass for algorithms that produce only polydata as output.