80 #ifndef vtkStreamingTessellator_h
81 #define vtkStreamingTessellator_h
85 #undef PARAVIEW_DEBUG_TESSELLATOR
100 typedef void (*TetrahedronProcessorFunction)(
const double*,
const double*,
const double*,
const double*,
vtkEdgeSubdivisionCriterion*,
void*,
const void* );
102 enum {MaxFieldSize = 18};
106 virtual void SetTetrahedronCallback( TetrahedronProcessorFunction );
107 virtual TetrahedronProcessorFunction GetTetrahedronCallback()
const;
112 virtual void SetTriangleCallback( TriangleProcessorFunction );
113 virtual TriangleProcessorFunction GetTriangleCallback()
const;
118 virtual void SetEdgeCallback( EdgeProcessorFunction );
119 virtual EdgeProcessorFunction GetEdgeCallback()
const;
124 virtual void SetVertexCallback( VertexProcessorFunction );
125 virtual VertexProcessorFunction GetVertexCallback()
const;
132 virtual void SetPrivateData(
void* Private );
133 virtual void* GetPrivateData()
const;
141 virtual void SetConstPrivateData(
const void* ConstPrivate );
142 virtual const void* GetConstPrivateData()
const;
170 virtual void SetEmbeddingDimension(
int k,
int d );
171 int GetEmbeddingDimension(
int k )
const;
201 virtual void SetFieldSize(
int k,
int s );
202 int GetFieldSize(
int k )
const;
207 virtual void SetMaximumNumberOfSubdivisions(
int num_subdiv_in );
208 int GetMaximumNumberOfSubdivisions();
224 void AdaptivelySample3Facet(
double* v1,
double* v2,
double* v3,
double* v4 )
const ;
225 void AdaptivelySample2Facet(
double* v1,
double* v2,
double* v3 )
const ;
226 void AdaptivelySample1Facet(
double* v1,
double* v2 )
const ;
227 void AdaptivelySample0Facet(
double* v1 )
const ;
242 #ifdef PARAVIEW_DEBUG_TESSELLATOR
243 for (
int i=0; i<11; ++i )
245 this->CaseCounts[i] = 0;
246 for (
int j=0; j<51; ++j )
248 this->SubcaseCounts[i][j] = 0;
251 #endif // PARAVIEW_DEBUG_TESSELLATOR
255 #ifdef PARAVIEW_DEBUG_TESSELLATOR
256 return this->CaseCounts[c];
260 #endif // PARAVIEW_DEBUG_TESSELLATOR
264 #ifdef PARAVIEW_DEBUG_TESSELLATOR
265 return this->SubcaseCounts[casenum][sub];
270 #endif // PARAVIEW_DEBUG_TESSELLATOR
276 static int EdgeCodesToCaseCodesPlusPermutation[64][2];
289 #ifdef PARAVIEW_DEBUG_TESSELLATOR
292 #endif // PARAVIEW_DEBUG_TESSELLATOR
301 int PointDimension[4];
306 int EmbeddingDimension[4];
314 void AdaptivelySample3Facet(
double* v1,
double* v2,
double* v3,
double* v4,
int maxDepth )
const ;
315 void AdaptivelySample2Facet(
double* v1,
double* v2,
double* v3,
int maxDepth,
int move=7 )
const ;
316 void AdaptivelySample1Facet(
double* v1,
double* v2,
int maxDepth )
const ;
318 int BestTets(
int*,
double**,
int,
int )
const;
344 #endif // vtkStreamingTessellator_h