23 #ifndef vtkPVGeometryFilter_h 24 #define vtkPVGeometryFilter_h 26 #include "vtkDataObjectAlgorithm.h" 27 #include "vtkPVVTKExtensionsRenderingModule.h" 28 class vtkCallbackCommand;
30 class vtkDataSetSurfaceFilter;
31 class vtkGenericDataSet;
32 class vtkGenericGeometryFilter;
34 class vtkHyperTreeGrid;
37 class vtkInformationIntegerVectorKey;
38 class vtkInformationVector;
39 class vtkMultiProcessController;
40 class vtkOutlineSource;
43 class vtkRectilinearGrid;
44 class vtkStructuredGrid;
45 class vtkUnstructuredGridBase;
46 class vtkUnstructuredGridGeometryFilter;
48 class vtkOverlappingAMR;
55 void PrintSelf(ostream& os, vtkIndent indent);
62 vtkGetMacro(OutlineFlag,
int);
69 vtkSetMacro(UseOutline,
int);
70 vtkGetMacro(UseOutline,
int);
77 vtkSetMacro(BlockColorsDistinctValues,
int);
78 vtkGetMacro(BlockColorsDistinctValues,
int);
87 void SetUseStrips(
int);
88 vtkGetMacro(UseStrips,
int);
89 vtkBooleanMacro(UseStrips,
int);
94 void SetForceUseStrips(
int);
95 vtkGetMacro(ForceUseStrips,
int);
96 vtkBooleanMacro(ForceUseStrips,
int);
104 vtkSetMacro(GenerateCellNormals,
int);
105 vtkGetMacro(GenerateCellNormals,
int);
106 vtkBooleanMacro(GenerateCellNormals,
int);
116 virtual void SetTriangulate(
int val);
117 vtkGetMacro(Triangulate,
int);
118 vtkBooleanMacro(Triangulate,
int);
129 virtual void SetNonlinearSubdivisionLevel(
int);
130 vtkGetMacro(NonlinearSubdivisionLevel,
int);
137 virtual void SetController(vtkMultiProcessController*);
138 vtkGetObjectMacro(Controller, vtkMultiProcessController);
147 void SetPassThroughCellIds(
int);
148 vtkGetMacro(PassThroughCellIds,
int);
149 vtkBooleanMacro(PassThroughCellIds,
int);
158 void SetPassThroughPointIds(
int);
159 vtkGetMacro(PassThroughPointIds,
int);
160 vtkBooleanMacro(PassThroughPointIds,
int);
167 vtkSetMacro(GenerateProcessIds,
bool);
168 vtkGetMacro(GenerateProcessIds,
bool);
169 vtkBooleanMacro(GenerateProcessIds,
bool);
179 vtkSetMacro(HideInternalAMRFaces,
bool);
180 vtkGetMacro(HideInternalAMRFaces,
bool);
181 vtkBooleanMacro(HideInternalAMRFaces,
bool);
195 vtkSetMacro(UseNonOverlappingAMRMetaDataForOutlines,
bool);
196 vtkGetMacro(UseNonOverlappingAMRMetaDataForOutlines,
bool);
197 vtkBooleanMacro(UseNonOverlappingAMRMetaDataForOutlines,
bool);
202 static vtkInformationIntegerVectorKey* POINT_OFFSETS();
203 static vtkInformationIntegerVectorKey* VERTS_OFFSETS();
204 static vtkInformationIntegerVectorKey* LINES_OFFSETS();
205 static vtkInformationIntegerVectorKey* POLYS_OFFSETS();
206 static vtkInformationIntegerVectorKey* STRIPS_OFFSETS();
217 virtual int RequestDataObject(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
218 virtual int RequestAMRData(vtkInformation* request, vtkInformationVector** inputVector,
219 vtkInformationVector* outputVector);
220 virtual int RequestCompositeData(vtkInformation* request, vtkInformationVector** inputVector,
221 vtkInformationVector* outputVector);
222 virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
223 vtkInformationVector* outputVector);
227 virtual vtkExecutive* CreateDefaultExecutive();
234 void ExecuteAMRBlock(vtkUniformGrid* input, vtkPolyData* output,
const bool extractface[6]);
239 void ExecuteAMRBlockOutline(
240 const double bounds[6], vtkPolyData* output,
const bool extractface[6]);
242 void ExecuteBlock(vtkDataObject* input, vtkPolyData* output,
int doCommunicate,
int updatePiece,
243 int updateNumPieces,
int updateGhosts,
const int* wholeExtent);
245 void DataSetExecute(vtkDataSet* input, vtkPolyData* output,
int doCommunicate);
246 void GenericDataSetExecute(vtkGenericDataSet* input, vtkPolyData* output,
int doCommunicate);
248 void ImageDataExecute(
249 vtkImageData* input, vtkPolyData* output,
int doCommunicate,
int updatePiece,
const int* ext);
251 void StructuredGridExecute(vtkStructuredGrid* input, vtkPolyData* output,
int updatePiece,
252 int updateNumPieces,
int updateGhosts,
const int* wholeExtent);
254 void RectilinearGridExecute(vtkRectilinearGrid* input, vtkPolyData* output,
int updatePiece,
255 int updateNumPieces,
int updateGhosts,
const int* wholeExtent);
257 void UnstructuredGridExecute(
258 vtkUnstructuredGridBase* input, vtkPolyData* output,
int doCommunicate);
260 void PolyDataExecute(vtkPolyData* input, vtkPolyData* output,
int doCommunicate);
262 void OctreeExecute(vtkHyperOctree* input, vtkPolyData* output,
int doCommunicate);
264 void HyperTreeGridExecute(vtkHyperTreeGrid* input, vtkPolyData* output,
int doCommunicate);
270 void CleanupOutputData(vtkPolyData* output,
int doCommunicate);
272 void ExecuteCellNormals(vtkPolyData* output,
int doCommunicate);
274 void ChangeUseStripsInternal(
int val,
int force);
295 int CheckAttributes(vtkDataObject* input);
298 static void InternalProgressCallbackFunction(vtkObject*,
unsigned long,
void* clientdata,
void*);
299 void InternalProgressCallback(vtkAlgorithm* algorithm);
303 virtual int FillInputPortInformation(
int, vtkInformation*);
305 virtual void ReportReferences(vtkGarbageCollector*);
311 virtual int RequestUpdateExtent(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
314 void RemoveGhostCells(vtkPolyData*);
330 void AddCompositeIndex(vtkPolyData* pd,
unsigned int index);
338 void AddBlockColors(vtkPolyData* pd,
unsigned int index);
339 void AddHierarchicalIndex(vtkPolyData* pd,
unsigned int level,
unsigned int index);
340 class BoundsReductionOperation;
vtkUnstructuredGridGeometryFilter * UnstructuredGridGeometryFilter
Get corrected wireframe from tesselated facets.
vtkMultiProcessController * Controller
vtkTimeStamp StripSettingMTime
int NonlinearSubdivisionLevel
vtkCallbackCommand * InternalProgressObserver
vtkGenericGeometryFilter * GenericGeometryFilter
vtkDataSetSurfaceFilter * DataSetSurfaceFilter
Geometry filter that does outlines for volumes.
vtkPVRecoverGeometryWireframe * RecoverWireframeFilter
vtkOutlineSource * OutlineSource
bool HideInternalAMRFaces
int BlockColorsDistinctValues
bool UseNonOverlappingAMRMetaDataForOutlines