42 #ifndef __vtkClipClosedSurface_h
43 #define __vtkClipClosedSurface_h
45 #include "vtkFiltersGeneralModule.h"
49 class vtkUnsignedCharArray;
57 class vtkCCSEdgeLocator;
70 void PrintSelf(ostream& os, vtkIndent indent);
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];
194 vtkInformation* request, vtkInformationVector** inputVector,
195 vtkInformationVector* outputVector,
int requestFromOutputPort,
196 unsigned long* mtime);
199 vtkInformation* request, vtkInformationVector** inputVector,
200 vtkInformationVector* outputVector);
205 vtkPoints *points, vtkDoubleArray *pointScalars,
206 vtkPointData *pointData, vtkCCSEdgeLocator *edgeLocator,
216 void ClipAndContourPolys(
217 vtkPoints *points, vtkDoubleArray *pointScalars, vtkPointData *pointData,
218 vtkCCSEdgeLocator *edgeLocator,
int triangulate,
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,
261 static void BreakPolylines(
263 vtkUnsignedCharArray *inputScalars, vtkIdType firstLineScalar,
264 vtkUnsignedCharArray *outputScalars,
const unsigned char color[3]);
271 static void CopyPolygons(
273 vtkUnsignedCharArray *inputScalars, vtkIdType firstPolyScalar,
274 vtkUnsignedCharArray *outputScalars,
const unsigned char color[3]);
280 static void BreakTriangleStrips(
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()
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
int TriangulationErrorDisplay
represent and manipulate cell attribute data
maintain a list of planes
concrete dataset represents vertices, lines, polygons, and triangle strips
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce only polydata as output.
void SetScalarModeToLabels()
object to represent cell connectivity
vtkPlaneCollection * ClippingPlanes
virtual int ComputePipelineMTime(vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, unsigned long *mtime)
Clip a closed surface with a plane collection.