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);
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]);
365 int NumberOfDivisions[3];
372 double DivisionOrigin[3];
373 double DivisionSpacing[3];
void SetDivisionOrigin(double o[3])
This is an alternative way to set up the bins.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
int ComputeNumberOfDivisions
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()
vtkQuadricClusteringCellSet * CellSet
double FeaturePointsAngle
Superclass for algorithms that produce only polydata as output.
int AutoAdjustNumberOfDivisions
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.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkPoints * FeaturePoints
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkIdType NumberOfBinsUsed
int UseInputPoints
This method will rep[lace the quadric generated points with the input points with the lowest error...
void SetDivisionSpacing(double s[3])
This is an alternative way to set up the bins.
int PreventDuplicateCells
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