42 #ifndef __vtkClipClosedSurface_h
43 #define __vtkClipClosedSurface_h
45 #include "vtkFiltersGeneralModule.h"
46 #include "vtkPolyDataAlgorithm.h"
48 class vtkPlaneCollection;
49 class vtkUnsignedCharArray;
57 class vtkCCSEdgeLocator;
70 void PrintSelf(ostream& os, vtkIndent indent);
74 virtual void SetClippingPlanes(vtkPlaneCollection *planes);
75 vtkGetObjectMacro(ClippingPlanes,vtkPlaneCollection);
82 vtkSetMacro(Tolerance,
double);
83 vtkGetMacro(Tolerance,
double);
89 vtkSetMacro(PassPointData,
int);
90 vtkBooleanMacro(PassPointData,
int);
91 vtkGetMacro(PassPointData,
int);
97 vtkSetMacro(GenerateOutline,
int);
98 vtkBooleanMacro(GenerateOutline,
int);
99 vtkGetMacro(GenerateOutline,
int);
105 vtkSetMacro(GenerateFaces,
int);
106 vtkBooleanMacro(GenerateFaces,
int);
107 vtkGetMacro(GenerateFaces,
int);
117 vtkSetClampMacro(ScalarMode,
int,
125 vtkGetMacro(ScalarMode,
int);
126 const char *GetScalarModeAsString();
134 vtkSetVector3Macro(BaseColor,
double);
135 vtkGetVector3Macro(BaseColor,
double);
142 vtkSetVector3Macro(ClipColor,
double);
143 vtkGetVector3Macro(ClipColor,
double);
150 vtkSetMacro(ActivePlaneId,
int);
151 vtkGetMacro(ActivePlaneId,
int);
158 vtkSetVector3Macro(ActivePlaneColor,
double);
159 vtkGetVector3Macro(ActivePlaneColor,
double);
167 vtkSetMacro(TriangulationErrorDisplay,
int);
168 vtkBooleanMacro(TriangulationErrorDisplay,
int);
169 vtkGetMacro(TriangulationErrorDisplay,
int);
187 double ActivePlaneColor[3];
193 virtual int ComputePipelineMTime(
194 vtkInformation* request, vtkInformationVector** inputVector,
195 vtkInformationVector* outputVector,
int requestFromOutputPort,
196 unsigned long* mtime);
198 virtual int RequestData(
199 vtkInformation* request, vtkInformationVector** inputVector,
200 vtkInformationVector* outputVector);
205 vtkPoints *points, vtkDoubleArray *pointScalars,
206 vtkPointData *pointData, vtkCCSEdgeLocator *edgeLocator,
207 vtkCellArray *inputCells, vtkCellArray *outputLines,
208 vtkCellData *inCellData, vtkCellData *outLineData);
216 void ClipAndContourPolys(
217 vtkPoints *points, vtkDoubleArray *pointScalars, vtkPointData *pointData,
218 vtkCCSEdgeLocator *edgeLocator,
int triangulate,
219 vtkCellArray *inputCells, vtkCellArray *outputPolys,
220 vtkCellArray *outputLines, vtkCellData *inPolyData,
221 vtkCellData *outPolyData, vtkCellData *outLineData);
229 static int InterpolateEdge(
230 vtkPoints *points, vtkPointData *pointData,
231 vtkCCSEdgeLocator *edgeLocator,
double tol,
232 vtkIdType i0, vtkIdType i1,
double v0,
double v1, vtkIdType &i);
239 int TriangulatePolygon(
240 vtkIdList *polygon, vtkPoints *points, vtkCellArray *triangles);
251 void TriangulateContours(
252 vtkPolyData *data, vtkIdType firstLine, vtkIdType numLines,
253 vtkCellArray *outputPolys,
const double normal[3]);
261 static void BreakPolylines(
262 vtkCellArray *inputLines, vtkCellArray *outputLines,
263 vtkUnsignedCharArray *inputScalars, vtkIdType firstLineScalar,
264 vtkUnsignedCharArray *outputScalars,
const unsigned char color[3]);
271 static void CopyPolygons(
272 vtkCellArray *inputPolys, vtkCellArray *outputPolys,
273 vtkUnsignedCharArray *inputScalars, vtkIdType firstPolyScalar,
274 vtkUnsignedCharArray *outputScalars,
const unsigned char color[3]);
280 static void BreakTriangleStrips(
281 vtkCellArray *inputStrips, vtkCellArray *outputPolys,
282 vtkUnsignedCharArray *inputScalars, vtkIdType firstStripScalar,
283 vtkUnsignedCharArray *outputScalars,
const unsigned char color[3]);
290 static void SqueezeOutputPoints(
291 vtkPolyData *output, vtkPoints *points, vtkPointData *pointData,
292 int outputPointDataType);
297 static void CreateColorValues(
298 const double color1[3],
const double color2[3],
const double color3[3],
299 unsigned char colors[3][3]);
void SetScalarModeToColors()
void SetScalarModeToNone()
int TriangulationErrorDisplay
void SetScalarModeToLabels()
vtkPlaneCollection * ClippingPlanes
Clip a closed surface with a plane collection.