168#ifndef vtkDataSetSurfaceFilter_h
169#define vtkDataSetSurfaceFilter_h
171#include "vtkFiltersGeometryModule.h"
175VTK_ABI_NAMESPACE_BEGIN
176template <
typename ArrayType>
214 vtkSetMacro(PieceInvariant,
int);
215 vtkGetMacro(PieceInvariant,
int);
240 vtkSetMacro(FastMode,
bool);
241 vtkGetMacro(FastMode,
bool);
242 vtkBooleanMacro(FastMode,
bool);
252 vtkSetStringMacro(OriginalCellIdsName);
255 return (this->OriginalCellIdsName ? this->OriginalCellIdsName :
"vtkOriginalCellIds");
257 vtkSetStringMacro(OriginalPointIdsName);
260 return (this->OriginalPointIdsName ? this->OriginalPointIdsName :
"vtkOriginalPointIds");
276 vtkSetMacro(NonlinearSubdivisionLevel,
int);
277 vtkGetMacro(NonlinearSubdivisionLevel,
int);
287 vtkSetMacro(MatchBoundariesIgnoringCellOrder,
int);
288 vtkGetMacro(MatchBoundariesIgnoringCellOrder,
int);
318#ifdef VTK_USE_64BIT_IDS
319 virtual int StructuredExecute(
324 for (
int cc = 0; cc < 6; cc++)
327 wholeExt[cc] = wholeExt32[cc];
329 return this->StructuredExecute(input, output, ext, wholeExt);
349 vtkIdType* wholeExt,
bool extractface[6]);
358#ifdef VTK_USE_64BIT_IDS
360 const int* wholeExt32,
bool extractface[6])
364 for (
int cc = 0; cc < 6; cc++)
367 wholeExt[cc] = wholeExt32[cc];
369 return this->UniformGridExecute(input, output, ext, wholeExt, extractface);
396 int aAxis,
int bAxis,
int cAxis,
vtkIdType* wholeExt,
bool checkVisibility);
399 int aAxis,
int bAxis,
int cAxis,
vtkIdType* wholeExt);
420 class vtkEdgeInterpolationMap;
462 int UnstructuredGridExecuteInternal(
465 int StructuredExecuteNoBlanking(
abstract class to specify cell behavior
Extracts outer surface (as vtkPolyData) of any dataset.
char * OriginalPointIdsName
static vtkDataSetSurfaceFilter * New()
Statndard methods for object instantiation, type information, and printing.
unsigned char ** FastGeomQuadArrays
vtkFastGeomQuad * QuadHashTraversal
vtkTypeBool PassThroughCellIds
vtkFastGeomQuad * NewFastGeomQuad(int numPts)
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.
vtkIdType GetInterpolatedPointId(vtkDataSet *input, vtkCell *cell, double pcoords[3], double *weights, vtkPoints *outPts, vtkPointData *outPD)
virtual void InsertPolygonInHash(const vtkIdType *ids, int numpts, vtkIdType sourceId)
vtkIdType GetInterpolatedPointId(vtkIdType edgePtA, vtkIdType edgePtB, vtkDataSet *input, vtkCell *cell, double *pcoords, double *weights, vtkPoints *outPts, vtkPointData *outPD)
vtkIdType NumberOfFastGeomQuadArrays
void DeleteAllFastGeomQuads()
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.
char * OriginalCellIdsName
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 const char * GetOriginalCellIdsName()
If PassThroughCellIds or PassThroughPointIds is on, then these ivars control the name given to the fi...
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....
vtkIdTypeArray * OriginalCellIds
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...
vtkEdgeInterpolationMap * EdgeMap
virtual void RecordOrigCellId(vtkIdType newIndex, vtkFastGeomQuad *quad)
void InitQuadHashTraversal()
void InitFastGeomQuadAllocation(vtkIdType numberOfCells)
vtkFastGeomQuad * GetNextVisibleQuadFromHash()
int NonlinearSubdivisionLevel
void RecordOrigPointId(vtkIdType newIndex, vtkIdType origId)
void RecordOrigCellId(vtkIdType newIndex, vtkIdType origId)
vtkIdType NumberOfNewCells
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int MatchBoundariesIgnoringCellOrder
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)
vtkTypeBool AllowInterpolation
vtkIdTypeArray * OriginalPointIds
vtkIdType FastGeomQuadArrayLength
vtkTypeBool PassThroughPointIds
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