97#ifndef vtkDataSetSurfaceFilter_h
98#define vtkDataSetSurfaceFilter_h
100#include "vtkFiltersGeometryModule.h"
104template <
typename ArrayType>
161 vtkSetMacro(PieceInvariant,
int);
162 vtkGetMacro(PieceInvariant,
int);
187 vtkSetMacro(FastMode,
bool);
188 vtkGetMacro(FastMode,
bool);
189 vtkBooleanMacro(FastMode,
bool);
199 vtkSetStringMacro(OriginalCellIdsName);
200 virtual const
char* GetOriginalCellIdsName()
202 return (this->OriginalCellIdsName ? this->OriginalCellIdsName :
"vtkOriginalCellIds");
204 vtkSetStringMacro(OriginalPointIdsName);
207 return (this->OriginalPointIdsName ? this->OriginalPointIdsName :
"vtkOriginalPointIds");
223 vtkSetMacro(NonlinearSubdivisionLevel,
int);
224 vtkGetMacro(NonlinearSubdivisionLevel,
int);
245#ifdef VTK_USE_64BIT_IDS
246 virtual int StructuredExecute(
251 for (
int cc = 0; cc < 6; cc++)
254 wholeExt[cc] = wholeExt32[cc];
256 return this->StructuredExecute(input, output, ext, wholeExt);
276 vtkIdType* wholeExt,
bool extractface[6]);
285#ifdef VTK_USE_64BIT_IDS
287 const int* wholeExt32,
bool extractface[6])
291 for (
int cc = 0; cc < 6; cc++)
294 wholeExt[cc] = wholeExt32[cc];
296 return this->UniformGridExecute(input, output, ext, wholeExt, extractface);
323 int aAxis,
int bAxis,
int cAxis,
vtkIdType* wholeExt,
bool checkVisibility);
326 int aAxis,
int bAxis,
int cAxis,
vtkIdType* wholeExt);
349 class vtkEdgeInterpolationMap;
353 "Use GetInterpolatedPointId(vtkIdType edgePtA, vtkIdType edgePtB, vtkDataSet* input, vtkCell* "
354 "cell, double pcoords[3], double* weights, vtkPoints* outPts, vtkPointData* outPD) instead")
364 void InitFastGeomQuadAllocation(
vtkIdType numberOfCells);
366 void DeleteAllFastGeomQuads();
370 unsigned char** FastGeomQuadArrays;
381 char* OriginalCellIdsName;
386 char* OriginalPointIdsName;
388 int NonlinearSubdivisionLevel;
397 int StructuredExecuteNoBlanking(
Efficient cell iterator for vtkDataSet topologies.
abstract class to specify cell behavior
Extracts outer surface (as vtkPolyData) of any dataset.
static vtkDataSetSurfaceFilter * New()
Statndard methods for object instantiation, type information, and printing.
vtkFastGeomQuad * QuadHashTraversal
vtkIdType GetOutputPointId(vtkIdType inPtId, vtkDataSet *input, vtkPoints *outPts, vtkPointData *outPD)
vtkFastGeomQuad ** QuadHash
void PrintSelf(ostream &os, vtkIndent indent) override
Statndard methods for object instantiation, type information, and printing.
void ExecuteFaceQuads(vtkDataSet *input, vtkPolyData *output, int maxFlag, vtkIdType *ext, int aAxis, int bAxis, int cAxis, vtkIdType *wholeExt)
int UnstructuredGridExecute(vtkDataSet *input, vtkPolyData *output, vtkGeometryFilterHelper *info)
Optimized UnstructuredGridExecute function for vtkUnstructuredGrid and subclass instances only.
virtual int DataSetExecute(vtkDataSet *input, vtkPolyData *output)
Execute the filter on input and store the result in output.
virtual void InsertPolygonInHash(const vtkIdType *ids, int numpts, vtkIdType sourceId)
void ExecuteFaceQuads(vtkDataSet *input, vtkPolyData *output, int maxFlag, vtkIdType *ext, int aAxis, int bAxis, int cAxis, vtkIdType *wholeExt, bool checkVisibility)
virtual int UniformGridExecute(vtkDataSet *input, vtkPolyData *output, vtkIdType *ext, vtkIdType *wholeExt, bool extractface[6])
Direct access methods so that this class can be used as an algorithm without using it as a filter (i....
vtkIdType QuadHashTraversalIndex
~vtkDataSetSurfaceFilter() override
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkDataSetSurfaceFilter()
void EstimateStructuredDataArraySizes(vtkIdType *ext, vtkIdType *wholeExt, vtkIdType &numPoints, vtkIdType &numCells)
Estimates the total number of points & cells on the surface to render ext – the extent of the structu...
virtual int StructuredExecute(vtkDataSet *input, vtkPolyData *output, vtkIdType *ext, vtkIdType *wholeExt)
Direct access methods so that this class can be used as an algorithm without using it as a filter (i....
virtual int UnstructuredGridExecute(vtkDataSet *input, vtkPolyData *output)
Execute the filter on input and store the result in output.
virtual const char * GetOriginalPointIdsName()
If PassThroughCellIds or PassThroughPointIds is on, then these ivars control the name given to the fi...
vtkIdType GetOutputPointIdAndInterpolate(vtkIdType inPtId, vtkDataSet *input, vtkCell *cell, double *weights, vtkPoints *outPts, vtkPointData *outPD)
vtkEdgeInterpolationMap * EdgeMap
void InitQuadHashTraversal()
vtkFastGeomQuad * GetNextVisibleQuadFromHash()
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
virtual void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
virtual void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId, vtkIdType faceId=-1)
void InitializeQuadHash(vtkIdType numPoints)
abstract class to specify dataset behavior
dynamic, self-adjusting array of vtkIdType
topologically and geometrically regular array of data
a simple class to control print indentation
represent and manipulate point attribute data
represent and manipulate 3D points
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
a dataset that is topologically regular with variable spacing in the three coordinate directions
Hold a reference to a vtkObjectBase instance.
topologically regular array of data
dataset represents arbitrary combinations of all possible cell types.
struct vtkFastGeomQuadStruct * Next
#define VTK_DEPRECATED_IN_9_1_0(reason)