 |
VTK
9.1.0
|
Go to the documentation of this file.
109 #ifndef vtkQuadricClustering_h
110 #define vtkQuadricClustering_h
112 #include "vtkFiltersCoreModule.h"
118 class vtkQuadricClusteringCellSet;
143 vtkGetMacro(NumberOfXDivisions,
int);
144 vtkGetMacro(NumberOfYDivisions,
int);
145 vtkGetMacro(NumberOfZDivisions,
int);
149 void GetNumberOfDivisions(
int div[3]);
170 void SetDivisionOrigin(
double x,
double y,
double z);
172 vtkGetVector3Macro(DivisionOrigin,
double);
175 vtkGetVector3Macro(DivisionSpacing,
double);
223 vtkSetClampMacro(FeaturePointsAngle,
double, 0.0, 180.0);
224 vtkGetMacro(FeaturePointsAngle,
double);
247 void StartAppend(
double x0,
double x1,
double y0,
double y1,
double z0,
double z1)
256 this->StartAppend(b);
388 int NumberOfDivisions[3];
395 double DivisionOrigin[3];
396 double DivisionSpacing[3];
represent and manipulate 3D points
PointQuadric * QuadricArray
void AddEdges(vtkCellArray *edges, vtkPoints *points, int geometryFlag, vtkPolyData *input, vtkPolyData *output)
Add edges to the quadric array.
void SetDivisionSpacing(double x, double y, double z)
This is an alternative way to set up the bins.
void SetNumberOfXDivisions(int num)
Set/Get the number of divisions along each axis for the spatial bins.
vtkTypeBool UseInternalTriangles
vtkTypeBool UseFeaturePoints
void ComputeRepresentativePoint(double quadric[9], vtkIdType binId, double point[3])
Determine the representative point for this bin.
vtkTypeBool UseInputPoints
This method will rep[lace the quadric generated points with the input points with the lowest error.
void EndAppendUsingPoints(vtkPolyData *input, vtkPolyData *output)
This method will rep[lace the quadric generated points with the input points with the lowest error.
void InitializeQuadric(double quadric[9])
Initialize the quadric matrix to 0's.
void AddStrips(vtkCellArray *strips, vtkPoints *points, int geometryFlag, vtkPolyData *input, vtkPolyData *output)
Add triangles to the quadric array.
vtkFeatureEdges * FeatureEdges
vtkCellArray * OutputTriangleArray
~vtkQuadricClustering() override
void AddTriangle(vtkIdType *binIds, double *pt0, double *pt1, double *pt2, int geometeryFlag, vtkPolyData *input, vtkPolyData *output)
Add triangles to the quadric array.
void AddQuadric(vtkIdType binId, double quadric[9])
Add this quadric to the quadric already associated with this bin.
static vtkQuadricClustering * New()
Standard instantiation, type and print methods.
void SetNumberOfDivisions(int div0, int div1, int div2)
Set/Get the number of divisions along each axis for the spatial bins.
void AddVertices(vtkCellArray *verts, vtkPoints *points, int geometryFlag, vtkPolyData *input, vtkPolyData *output)
Add vertices to the quadric array.
void SetNumberOfDivisions(int div[3])
Set/Get the number of divisions along each axis for the spatial bins.
vtkTypeBool AutoAdjustNumberOfDivisions
void SetNumberOfYDivisions(int num)
Set/Get the number of divisions along each axis for the spatial bins.
void EndAppendVertexGeometry(vtkPolyData *input, vtkPolyData *output)
This method sets the vertices of the output.
void SetDivisionSpacing(double s[3])
This is an alternative way to set up the bins.
#define VTK_SIZEHINT(...)
vtkFeatureEdges * GetFeatureEdges()
By default, this flag is off.
void AddVertex(vtkIdType binId, double *pt, int geometryFlag, vtkPolyData *input, vtkPolyData *output)
Add vertices to the quadric array.
reduce the number of triangles in a mesh
a simple class to control print indentation
vtkIdType HashPoint(double point[3])
Given a point, determine what bin it falls into.
object to represent cell connectivity
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
vtkIdType NumberOfBinsUsed
double FeaturePointsAngle
void AddEdge(vtkIdType *binIds, double *pt0, double *pt1, int geometeryFlag, vtkPolyData *input, vtkPolyData *output)
Add edges to the quadric array.
void StartAppend(double x0, double x1, double y0, double y1, double z0, double z1)
These methods provide an alternative way of executing the filter.
vtkQuadricClusteringCellSet * CellSet
void AppendFeatureQuadrics(vtkPolyData *pd, vtkPolyData *output)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
void SetNumberOfZDivisions(int num)
Set/Get the number of divisions along each axis for the spatial bins.
void SetDivisionOrigin(double o[3])
This is an alternative way to set up the bins.
vtkTypeBool UseFeatureEdges
vtkCellArray * OutputLines
void AddPolygons(vtkCellArray *polys, vtkPoints *points, int geometryFlag, vtkPolyData *input, vtkPolyData *output)
Add triangles to the quadric array.
vtkTypeBool PreventDuplicateCells
concrete dataset represents vertices, lines, polygons, and triangle strips
void StartAppend(double *bounds)
These methods provide an alternative way of executing the filter.
std::pair< boost::graph_traits< vtkGraph * >::edge_iterator, boost::graph_traits< vtkGraph * >::edge_iterator > edges(vtkGraph *g)
int * GetNumberOfDivisions()
Set/Get the number of divisions along each axis for the spatial bins.
void Append(vtkPolyData *piece)
These methods provide an alternative way of executing the filter.
void EndAppend()
These methods provide an alternative way of executing the filter.
int ComputeNumberOfDivisions
void FindFeaturePoints(vtkCellArray *edges, vtkPoints *edgePts, double angle)
Find the feature points of a given set of edges.
vtkPoints * FeaturePoints
void PrintSelf(ostream &os, vtkIndent indent) override
Standard instantiation, type and print methods.
Superclass for algorithms that produce only polydata as output.