88 #ifndef vtkQuadricClustering_h
89 #define vtkQuadricClustering_h
91 #include "vtkFiltersCoreModule.h"
97 class vtkQuadricClusteringCellSet;
120 void SetNumberOfXDivisions(
int num);
121 void SetNumberOfYDivisions(
int num);
122 void SetNumberOfZDivisions(
int num);
123 vtkGetMacro(NumberOfXDivisions,
int);
124 vtkGetMacro(NumberOfYDivisions,
int);
125 vtkGetMacro(NumberOfZDivisions,
int);
127 { this->SetNumberOfDivisions(div[0], div[1], div[2]); }
128 void SetNumberOfDivisions(
int div0,
int div1,
int div2);
129 int *GetNumberOfDivisions();
130 void GetNumberOfDivisions(
int div[3]);
140 vtkGetMacro(AutoAdjustNumberOfDivisions,
int);
151 void SetDivisionOrigin(
double x,
double y,
double z);
153 {this->SetDivisionOrigin(o[0],o[1],o[2]);}
154 vtkGetVector3Macro(DivisionOrigin,
double);
155 void SetDivisionSpacing(
double x,
double y,
double z);
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);
229 void StartAppend(
double *bounds);
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);
266 int FillInputPortInformation(
int, vtkInformation *) VTK_OVERRIDE;
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]);
323 void AddQuadric(
vtkIdType binId,
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;
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