Go to the documentation of this file.
80 #ifndef vtkStreamingTessellator_h
81 #define vtkStreamingTessellator_h
86 #undef PARAVIEW_DEBUG_TESSELLATOR
103 enum {MaxFieldSize = 18};
172 int GetEmbeddingDimension(
int k )
const;
203 int GetFieldSize(
int k )
const;
209 int GetMaximumNumberOfSubdivisions();
225 void AdaptivelySample3Facet(
double*
v1,
double*
v2,
double*
v3,
double* v4 )
const ;
226 void AdaptivelySample2Facet(
double*
v1,
double*
v2,
double*
v3 )
const ;
227 void AdaptivelySample1Facet(
double*
v1,
double*
v2 )
const ;
243 #ifdef PARAVIEW_DEBUG_TESSELLATOR
244 for (
int i=0; i<11; ++i )
246 this->CaseCounts[i] = 0;
247 for (
int j=0; j<51; ++j )
249 this->SubcaseCounts[i][j] = 0;
252 #endif // PARAVIEW_DEBUG_TESSELLATOR
256 #ifdef PARAVIEW_DEBUG_TESSELLATOR
257 return this->CaseCounts[
c];
261 #endif // PARAVIEW_DEBUG_TESSELLATOR
265 #ifdef PARAVIEW_DEBUG_TESSELLATOR
266 return this->SubcaseCounts[casenum][sub];
271 #endif // PARAVIEW_DEBUG_TESSELLATOR
277 static int EdgeCodesToCaseCodesPlusPermutation[64][2];
290 #ifdef PARAVIEW_DEBUG_TESSELLATOR
293 #endif // PARAVIEW_DEBUG_TESSELLATOR
302 int PointDimension[4];
307 int EmbeddingDimension[4];
345 #endif // vtkStreamingTessellator_h
An algorithm that refines an initial simplicial tessellation using edge subdivision.
vtkIdType GetCaseCount(int c)
GLfloat GLfloat GLfloat GLfloat v3
GLfloat GLfloat GLfloat v2
void AdaptivelySample2Facet(double *v1, double *v2, double *v3) const
void AdaptivelySample1Facet(double *v1, double *v2) const
int BestTets(int *, double **, int, int) const
int GetEmbeddingDimension(int k) const
void AdaptivelySample3Facet(double *v1, double *v2, double *v3, double *v4, int maxDepth) const
vtkStreamingTessellator()
virtual TriangleProcessorFunction GetTriangleCallback() const
virtual void SetTriangleCallback(TriangleProcessorFunction)
#define vtkTypeMacro(thisClass, superclass)
abstract base class for most VTK objects
EdgeProcessorFunction Callback1
vtkIdType GetSubcaseCount(int casenum, int sub)
int GetFieldSize(int k) const
virtual void SetSubdivisionAlgorithm(vtkEdgeSubdivisionCriterion *)
virtual void SetEmbeddingDimension(int k, int d)
virtual vtkEdgeSubdivisionCriterion * GetSubdivisionAlgorithm()
virtual void SetConstPrivateData(const void *ConstPrivate)
virtual VertexProcessorFunction GetVertexCallback() const
void AdaptivelySample1Facet(double *v1, double *v2, int maxDepth) const
virtual void SetMaximumNumberOfSubdivisions(int num_subdiv_in)
int EmbeddingDimension[4]
how to decide whether a linear approximation to nonlinear geometry or field should be subdivided
#define VTKFILTERSCORE_EXPORT
a simple class to control print indentation
void AdaptivelySample0Facet(double *v1) const
virtual void SetEdgeCallback(EdgeProcessorFunction)
TetrahedronProcessorFunction Callback3
virtual void SetFieldSize(int k, int s)
virtual void * GetPrivateData() const
static vtkStreamingTessellator * New()
virtual void PrintSelf(ostream &os, vtkIndent indent)
vtkEdgeSubdivisionCriterion * Algorithm
const void * ConstPrivateData
~vtkStreamingTessellator()
TriangleProcessorFunction Callback2
virtual void SetPrivateData(void *Private)
VertexProcessorFunction Callback0
virtual void SetTetrahedronCallback(TetrahedronProcessorFunction)
virtual EdgeProcessorFunction GetEdgeCallback() const
int GetMaximumNumberOfSubdivisions()
void AdaptivelySample3Facet(double *v1, double *v2, double *v3, double *v4) const
virtual void SetVertexCallback(VertexProcessorFunction)
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
virtual const void * GetConstPrivateData() const
virtual const vtkEdgeSubdivisionCriterion * GetSubdivisionAlgorithm() const
virtual TetrahedronProcessorFunction GetTetrahedronCallback() const
int MaximumNumberOfSubdivisions
void AdaptivelySample2Facet(double *v1, double *v2, double *v3, int maxDepth, int move=7) const