Go to the documentation of this file.
88 #ifndef vtkQuadricClustering_h
89 #define vtkQuadricClustering_h
91 #include "vtkFiltersCoreModule.h"
97 class vtkQuadricClusteringCellSet;
123 vtkGetMacro(NumberOfXDivisions,
int);
124 vtkGetMacro(NumberOfYDivisions,
int);
125 vtkGetMacro(NumberOfZDivisions,
int);
127 { this->SetNumberOfDivisions(div[0], div[1], div[2]); }
140 vtkGetMacro(AutoAdjustNumberOfDivisions,
int);
153 {this->SetDivisionOrigin(o[0],o[1],o[2]);}
154 vtkGetVector3Macro(DivisionOrigin,
double);
157 {this->SetDivisionSpacing(s[0],s[1],s[2]);}
158 vtkGetVector3Macro(DivisionSpacing,
double);
171 vtkGetMacro(UseInputPoints,
int);
183 vtkGetMacro(UseFeatureEdges,
int);
197 vtkGetMacro(UseFeaturePoints,
int);
206 vtkSetClampMacro(FeaturePointsAngle,
double, 0.0, 180.0);
207 vtkGetMacro(FeaturePointsAngle,
double);
218 vtkGetMacro(UseInternalTriangles,
int);
230 void StartAppend(
double x0,
double x1,
double y0,
double y1,
double z0,
double z1)
231 {
double b[6]; b[0]=x0; b[1]=x1; b[2]=y0; b[3]=y1; b[4]=z0; b[5]=z1;
232 this->StartAppend(b);}
245 vtkGetMacro(CopyCellData,
int);
257 vtkGetMacro(PreventDuplicateCells,
int);
276 void ComputeRepresentativePoint(
double quadric[9],
vtkIdType binId,
288 void AddTriangle(
vtkIdType *binIds,
double *pt0,
double *pt1,
double *pt2,
300 void AddEdge(
vtkIdType *binIds,
double *pt0,
double *pt1,
int geometeryFlag,
311 void AddVertex(
vtkIdType binId,
double *pt,
int geometryFlag,
318 void InitializeQuadric(
double quadric[9]);
351 int UseFeaturePoints;
352 int UseInternalTriangles;
354 int NumberOfXDivisions;
355 int NumberOfYDivisions;
356 int NumberOfZDivisions;
359 int PreventDuplicateCells;
360 vtkQuadricClusteringCellSet *CellSet;
365 int NumberOfDivisions[3];
370 int ComputeNumberOfDivisions;
372 double DivisionOrigin[3];
373 double DivisionSpacing[3];
374 int AutoAdjustNumberOfDivisions;
represent and manipulate 3D points
PointQuadric * QuadricArray
void SetDivisionSpacing(double x, double y, double z)
std::pair< boost::graph_traits< vtkGraph * >::edge_iterator, boost::graph_traits< vtkGraph * >::edge_iterator > edges(vtkGraph *g)
void SetNumberOfXDivisions(int num)
Set/Get the number of divisions along each axis for the spatial bins.
vtkFeatureEdges * FeatureEdges
vtkCellArray * OutputTriangleArray
void GetNumberOfDivisions(int div[3])
~vtkQuadricClustering() override
static vtkQuadricClustering * New()
void SetNumberOfDivisions(int div0, int div1, int div2)
void SetNumberOfDivisions(int div[3])
void SetNumberOfYDivisions(int num)
void SetDivisionSpacing(double s[3])
vtkFeatureEdges * GetFeatureEdges()
reduce the number of triangles in a mesh
a simple class to control print indentation
object to represent cell connectivity
extract boundary, non-manifold, and/or sharp edges from polygonal data
vtkIdType NumberOfBinsUsed
double FeaturePointsAngle
void StartAppend(double x0, double x1, double y0, double y1, double z0, double z1)
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
void SetDivisionOrigin(double x, double y, double z)
This is an alternative way to set up the bins.
void SetNumberOfZDivisions(int num)
void SetDivisionOrigin(double o[3])
vtkCellArray * OutputLines
concrete dataset represents vertices, lines, polygons, and triangle strips
void StartAppend(double *bounds)
These methods provide an alternative way of executing the filter.
int * GetNumberOfDivisions()
void Append(vtkPolyData *piece)
vtkPoints * FeaturePoints
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Superclass for algorithms that produce only polydata as output.