11 #ifndef vtkPVGeometryFilter_h 12 #define vtkPVGeometryFilter_h 24 class vtkDataObjectMeshCache;
26 class vtkExplicitStructuredGrid;
39 class vtkRecoverGeometryWireframe;
59 vtkGetMacro(OutlineFlag,
int);
66 vtkSetMacro(UseOutline,
int);
67 vtkGetMacro(UseOutline,
int);
75 void SetGenerateFeatureEdges(
bool);
76 vtkGetMacro(GenerateFeatureEdges,
bool);
83 vtkSetMacro(BlockColorsDistinctValues,
int);
84 vtkGetMacro(BlockColorsDistinctValues,
int);
93 vtkSetMacro(GenerateCellNormals,
int);
94 vtkGetMacro(GenerateCellNormals,
int);
95 vtkBooleanMacro(GenerateCellNormals,
int);
105 vtkSetMacro(Triangulate,
int);
106 vtkGetMacro(Triangulate,
int);
107 vtkBooleanMacro(Triangulate,
int);
118 virtual void SetNonlinearSubdivisionLevel(
int);
119 vtkGetMacro(NonlinearSubdivisionLevel,
int);
129 virtual void SetMatchBoundariesIgnoringCellOrder(
int);
130 vtkGetMacro(MatchBoundariesIgnoringCellOrder,
int);
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);
215 ~vtkPVGeometryFilter() override;
223 virtual
int RequestAMRData(vtkInformation* request, vtkInformationVector** inputVector,
224 vtkInformationVector* outputVector);
225 virtual
int RequestDataObjectTree(vtkInformation* request, vtkInformationVector** inputVector,
226 vtkInformationVector* outputVector);
227 int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
228 vtkInformationVector* outputVector) override;
241 void ExecuteAMRBlockOutline(
245 int updateNumPieces,
int updateGhosts,
const int* wholeExtent);
250 void ImageDataExecute(
254 int updateNumPieces,
int updateGhosts,
const int* wholeExtent);
257 int updateNumPieces,
int updateGhosts,
const int* wholeExtent);
259 void UnstructuredGridExecute(
266 void ExplicitStructuredGridExecute(
267 vtkExplicitStructuredGrid* input,
vtkPolyData* out,
int doCommunicate,
const int* wholeExtent);
269 void CellGridExecute(vtkCellGrid* input,
vtkPolyData* output,
int doCommunicate);
275 void CleanupOutputData(
vtkPolyData* output,
int doCommunicate);
277 void ExecuteCellNormals(
vtkPolyData* output,
int doCommunicate);
281 int BlockColorsDistinctValues;
282 int GenerateCellNormals;
284 int NonlinearSubdivisionLevel;
285 int MatchBoundariesIgnoringCellOrder = 0;
302 void HandleGeometryFilterProgress(
vtkObject* caller,
unsigned long,
void*);
304 int FillInputPortInformation(
int, vtkInformation*) override;
308 bool GenerateProcessIds;
309 int PassThroughCellIds;
310 int PassThroughPointIds;
311 bool HideInternalAMRFaces;
312 bool UseNonOverlappingAMRMetaDataForOutlines;
313 bool GenerateFeatureEdges;
316 vtkPVGeometryFilter(
const vtkPVGeometryFilter&) = delete;
317 void operator=(
const vtkPVGeometryFilter&) = delete;
319 void AddCompositeIndex(
vtkPolyData* pd,
unsigned int index);
328 void AddHierarchicalIndex(
vtkPolyData* pd,
unsigned int level,
unsigned int index);
329 class BoundsReductionOperation;
346 void GenerateProcessIdsArrays(
vtkPolyData* output);
359 vtkNew<vtkDataObjectMeshCache> MeshCache;
static vtkDataObjectAlgorithm * New()
Geometry filter that does outlines for volumes.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
#define PARAVIEW_DEPRECATED_IN_5_13_0(reason)
#define VTKPVVTKEXTENSIONSFILTERSRENDERING_EXPORT