85 #ifndef vtkQuadricClustering_h 86 #define vtkQuadricClustering_h 88 #include "vtkFiltersCoreModule.h" 94 class vtkQuadricClusteringCellSet;
117 void SetNumberOfXDivisions(
int num);
118 void SetNumberOfYDivisions(
int num);
119 void SetNumberOfZDivisions(
int num);
120 vtkGetMacro(NumberOfXDivisions,
int);
121 vtkGetMacro(NumberOfYDivisions,
int);
122 vtkGetMacro(NumberOfZDivisions,
int);
124 { this->SetNumberOfDivisions(div[0], div[1], div[2]); }
125 void SetNumberOfDivisions(
int div0,
int div1,
int div2);
126 int *GetNumberOfDivisions();
127 void GetNumberOfDivisions(
int div[3]);
137 vtkGetMacro(AutoAdjustNumberOfDivisions,
int);
148 void SetDivisionOrigin(
double x,
double y,
double z);
150 {this->SetDivisionOrigin(o[0],o[1],o[2]);}
151 vtkGetVector3Macro(DivisionOrigin,
double);
152 void SetDivisionSpacing(
double x,
double y,
double z);
154 {this->SetDivisionSpacing(s[0],s[1],s[2]);}
155 vtkGetVector3Macro(DivisionSpacing,
double);
168 vtkGetMacro(UseInputPoints,
int);
180 vtkGetMacro(UseFeatureEdges,
int);
194 vtkGetMacro(UseFeaturePoints,
int);
203 vtkSetClampMacro(FeaturePointsAngle,
double, 0.0, 180.0);
204 vtkGetMacro(FeaturePointsAngle,
double);
215 vtkGetMacro(UseInternalTriangles,
int);
226 void StartAppend(
double *bounds);
227 void StartAppend(
double x0,
double x1,
double y0,
double y1,
double z0,
double z1)
228 {
double b[6]; b[0]=x0; b[1]=x1; b[2]=y0; b[3]=y1; b[4]=z0; b[5]=z1;
229 this->StartAppend(b);}
242 vtkGetMacro(CopyCellData,
int);
254 vtkGetMacro(PreventDuplicateCells,
int);
273 void ComputeRepresentativePoint(
double quadric[9],
vtkIdType binId,
285 void AddTriangle(
vtkIdType *binIds,
double *pt0,
double *pt1,
double *pt2,
297 void AddEdge(
vtkIdType *binIds,
double *pt0,
double *pt1,
int geometeryFlag,
308 void AddVertex(
vtkIdType binId,
double *pt,
int geometryFlag,
315 void InitializeQuadric(
double quadric[9]);
320 void AddQuadric(
vtkIdType binId,
double quadric[9]);
348 int UseFeaturePoints;
349 int UseInternalTriangles;
351 int NumberOfXDivisions;
352 int NumberOfYDivisions;
353 int NumberOfZDivisions;
356 int PreventDuplicateCells;
357 vtkQuadricClusteringCellSet *CellSet;
362 int NumberOfDivisions[3];
367 int ComputeNumberOfDivisions;
369 double DivisionOrigin[3];
370 double DivisionSpacing[3];
371 int AutoAdjustNumberOfDivisions;
void SetDivisionOrigin(double o[3])
This is an alternative way to set up the bins.
vtkCellArray * OutputTriangleArray
concrete dataset represents vertices, lines, polygons, and triangle strips
void SetNumberOfDivisions(int div[3])
Set/Get the number of divisions along each axis for the spatial bins.
vtkFeatureEdges * FeatureEdges
static vtkPolyDataAlgorithm * New()
double FeaturePointsAngle
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
extract boundary, non-manifold, and/or sharp edges from polygonal data
PointQuadric * QuadricArray
vtkCellArray * OutputLines
void StartAppend(double x0, double x1, double y0, double y1, double z0, double z1)
These methods provide an alternative way of executing the filter.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
object to represent cell connectivity
vtkFeatureEdges * GetFeatureEdges()
By default, this flag is off.
vtkPoints * FeaturePoints
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkIdType NumberOfBinsUsed
void SetDivisionSpacing(double s[3])
This is an alternative way to set up the bins.
represent and manipulate 3D points
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
std::pair< boost::graph_traits< vtkGraph *>::edge_iterator, boost::graph_traits< vtkGraph *>::edge_iterator > edges(vtkGraph *g)
reduce the number of triangles in a mesh