50 #ifndef __vtkBoxClipDataSet_h
51 #define __vtkBoxClipDataSet_h
53 #include "vtkFiltersGeneralModule.h"
54 #include "vtkUnstructuredGridAlgorithm.h"
60 class vtkDataSetAttributes;
64 class vtkIncrementalPointLocator;
71 void PrintSelf(ostream& os, vtkIndent indent);
82 void SetBoxClip(
double xmin,
double xmax,
83 double ymin,
double ymax,
84 double zmin,
double zmax);
85 void SetBoxClip(
const double *n0,
const double *o0,
86 const double *n1,
const double *o1,
87 const double *n2,
const double *o2,
88 const double *n3,
const double *o3,
89 const double *n4,
const double *o4,
90 const double *n5,
const double *o5);
97 vtkSetMacro(GenerateClipScalars,
int);
98 vtkGetMacro(GenerateClipScalars,
int);
99 vtkBooleanMacro(GenerateClipScalars,
int);
105 vtkSetMacro(GenerateClippedOutput,
int);
106 vtkGetMacro(GenerateClippedOutput,
int);
107 vtkBooleanMacro(GenerateClippedOutput,
int);
119 vtkUnstructuredGrid *GetClippedOutput();
120 virtual int GetNumberOfOutputs();
126 void SetLocator(vtkIncrementalPointLocator *locator);
127 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
132 void CreateDefaultLocator();
135 unsigned long GetMTime();
140 vtkGetMacro(Orientation,
unsigned int);
141 vtkSetMacro(Orientation,
unsigned int);
145 static void InterpolateEdge(vtkDataSetAttributes *attributes,
147 vtkIdType fromId1, vtkIdType fromId2,
150 void MinEdgeF(
const unsigned int *id_v,
const vtkIdType *cellIds,
151 unsigned int *edgF );
152 void PyramidToTetra(
const vtkIdType *pyramId,
const vtkIdType *cellIds,
153 vtkCellArray *newCellArray);
154 void WedgeToTetra(
const vtkIdType *wedgeId,
const vtkIdType *cellIds,
155 vtkCellArray *newCellArray);
156 void CellGrid(vtkIdType typeobj, vtkIdType npts,
const vtkIdType *cellIds,
157 vtkCellArray *newCellArray);
158 void CreateTetra(vtkIdType npts,
const vtkIdType *cellIds,
159 vtkCellArray *newCellArray);
160 void ClipBox(vtkPoints *newPoints,vtkGenericCell *cell,
161 vtkIncrementalPointLocator *locator, vtkCellArray *tets,vtkPointData *inPD,
162 vtkPointData *outPD,vtkCellData *inCD,vtkIdType cellId,
164 void ClipHexahedron(vtkPoints *newPoints, vtkGenericCell *cell,
165 vtkIncrementalPointLocator *locator, vtkCellArray *tets,
166 vtkPointData *inPD, vtkPointData *outPD,
167 vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD);
168 void ClipBoxInOut(vtkPoints *newPoints, vtkGenericCell *cell,
169 vtkIncrementalPointLocator *locator, vtkCellArray **tets,
170 vtkPointData *inPD, vtkPointData *outPD,
171 vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD);
172 void ClipHexahedronInOut(vtkPoints *newPoints,vtkGenericCell *cell,
173 vtkIncrementalPointLocator *locator, vtkCellArray **tets,
174 vtkPointData *inPD, vtkPointData *outPD,
175 vtkCellData *inCD, vtkIdType cellId,
176 vtkCellData **outCD);
178 void ClipBox2D(vtkPoints *newPoints, vtkGenericCell *cell,
179 vtkIncrementalPointLocator *locator, vtkCellArray *tets,
180 vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD,
181 vtkIdType cellId, vtkCellData *outCD);
182 void ClipBoxInOut2D(vtkPoints *newPoints,vtkGenericCell *cell,
183 vtkIncrementalPointLocator *locator, vtkCellArray **tets,
184 vtkPointData *inPD, vtkPointData *outPD,
185 vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD);
186 void ClipHexahedron2D(vtkPoints *newPoints,vtkGenericCell *cell,
187 vtkIncrementalPointLocator *locator, vtkCellArray *tets,
188 vtkPointData *inPD, vtkPointData *outPD,
189 vtkCellData *inCD, vtkIdType cellId,
191 void ClipHexahedronInOut2D(vtkPoints *newPoints, vtkGenericCell *cell,
192 vtkIncrementalPointLocator *locator, vtkCellArray **tets,
193 vtkPointData *inPD, vtkPointData *outPD,
194 vtkCellData *inCD,vtkIdType cellId,
195 vtkCellData **outCD);
197 void ClipBox1D(vtkPoints *newPoints, vtkGenericCell *cell,
198 vtkIncrementalPointLocator *locator, vtkCellArray *lines,
199 vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD,
200 vtkIdType cellId, vtkCellData *outCD);
201 void ClipBoxInOut1D(vtkPoints *newPoints, vtkGenericCell *cell,
202 vtkIncrementalPointLocator *locator, vtkCellArray **lines,
203 vtkPointData *inPD, vtkPointData *outPD,
204 vtkCellData *inCD, vtkIdType cellId, vtkCellData **outCD);
205 void ClipHexahedron1D(vtkPoints *newPoints, vtkGenericCell *cell,
206 vtkIncrementalPointLocator *locator, vtkCellArray *lines,
207 vtkPointData *inPD, vtkPointData *outPD,
208 vtkCellData *inCD, vtkIdType cellId,
210 void ClipHexahedronInOut1D(vtkPoints *newPoints, vtkGenericCell *cell,
211 vtkIncrementalPointLocator *locator, vtkCellArray **lines,
212 vtkPointData *inPD, vtkPointData *outPD,
213 vtkCellData *inCD, vtkIdType cellId,
214 vtkCellData **outCD);
216 void ClipBox0D(vtkGenericCell *cell,
217 vtkIncrementalPointLocator *locator, vtkCellArray *verts,
218 vtkPointData *inPD, vtkPointData *outPD, vtkCellData *inCD,
219 vtkIdType cellId, vtkCellData *outCD);
220 void ClipBoxInOut0D(vtkGenericCell *cell,
221 vtkIncrementalPointLocator *locator, vtkCellArray **verts,
222 vtkPointData *inPD, vtkPointData *outPD,
224 vtkIdType cellId, vtkCellData **outCD);
225 void ClipHexahedron0D(vtkGenericCell *cell,
226 vtkIncrementalPointLocator *locator, vtkCellArray *verts,
227 vtkPointData *inPD, vtkPointData *outPD,
229 vtkIdType cellId, vtkCellData *outCD);
230 void ClipHexahedronInOut0D(vtkGenericCell *cell,
231 vtkIncrementalPointLocator *locator, vtkCellArray **verts,
232 vtkPointData *inPD, vtkPointData *outPD,
234 vtkIdType cellId, vtkCellData **outCD);
239 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
240 virtual int FillInputPortInformation(
int port, vtkInformation *info);
249 double BoundBoxClip[3][2];
251 double PlaneNormal[6][3];
252 double PlanePoint[6][3];
clip an unstructured grid
vtkIncrementalPointLocator * Locator
int GenerateClippedOutput