63 #ifndef __vtkClipVolume_h
64 #define __vtkClipVolume_h
66 #include "vtkFiltersGeneralModule.h"
67 #include "vtkUnstructuredGridAlgorithm.h"
72 class vtkImplicitFunction;
74 class vtkOrderedTriangulator;
76 class vtkIncrementalPointLocator;
78 class vtkUnstructuredGrid;
83 class vtkUnsignedCharArray;
85 class VTKFILTERSGENERAL_EXPORT
vtkClipVolume :
public vtkUnstructuredGridAlgorithm
89 void PrintSelf(ostream& os, vtkIndent indent);
99 vtkSetMacro(Value,
double);
100 vtkGetMacro(Value,
double);
109 vtkSetMacro(InsideOut,
int);
110 vtkGetMacro(InsideOut,
int);
111 vtkBooleanMacro(InsideOut,
int);
118 virtual void SetClipFunction(vtkImplicitFunction*);
119 vtkGetObjectMacro(ClipFunction,vtkImplicitFunction);
127 vtkSetMacro(GenerateClipScalars,
int);
128 vtkGetMacro(GenerateClipScalars,
int);
129 vtkBooleanMacro(GenerateClipScalars,
int);
135 vtkSetMacro(GenerateClippedOutput,
int);
136 vtkGetMacro(GenerateClippedOutput,
int);
137 vtkBooleanMacro(GenerateClippedOutput,
int);
141 vtkUnstructuredGrid *GetClippedOutput();
148 vtkSetMacro(Mixed3DCellGeneration,
int);
149 vtkGetMacro(Mixed3DCellGeneration,
int);
150 vtkBooleanMacro(Mixed3DCellGeneration,
int);
157 vtkSetClampMacro(MergeTolerance,
double,0.0001,0.25);
158 vtkGetMacro(MergeTolerance,
double);
164 void SetLocator(vtkIncrementalPointLocator *locator);
165 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
170 void CreateDefaultLocator();
173 unsigned long int GetMTime();
179 virtual void ReportReferences(vtkGarbageCollector*);
181 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
182 virtual int FillInputPortInformation(
int port, vtkInformation *info);
184 void ClipTets(
double value, vtkTetra *clipTetra, vtkDataArray *clipScalars,
185 vtkDataArray *cellScalars, vtkIdList *tetraIds,
186 vtkPoints *tetraPts, vtkPointData *inPD, vtkPointData *outPD,
187 vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD,
188 vtkCellData *clippedCD,
int insideOut);
189 void ClipVoxel(
double value, vtkDataArray *cellScalars,
int flip,
190 double origin[3],
double spacing[3], vtkIdList *cellIds,
191 vtkPoints *cellPts, vtkPointData *inPD, vtkPointData *outPD,
192 vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD,
193 vtkCellData *clippedCD);
206 vtkOrderedTriangulator *Triangulator;
209 vtkIdType NumberOfCells;
210 vtkCellArray *Connectivity;
211 vtkUnsignedCharArray *Types;
212 vtkIdTypeArray *Locations;
213 vtkIdType NumberOfClippedCells;
214 vtkCellArray *ClippedConnectivity;
215 vtkUnsignedCharArray *ClippedTypes;
216 vtkIdTypeArray *ClippedLocations;
clip volume data with user-specified implicit function or input scalar data
int Mixed3DCellGeneration
int GenerateClippedOutput
vtkIncrementalPointLocator * Locator
vtkUnstructuredGrid * ClippedOutput
vtkImplicitFunction * ClipFunction