56 #ifndef vtkQuadricDecimation_h 57 #define vtkQuadricDecimation_h 59 #include "vtkFiltersCoreModule.h" 81 vtkSetClampMacro(TargetReduction,
double, 0.0, 1.0);
82 vtkGetMacro(TargetReduction,
double);
92 vtkGetMacro(AttributeErrorMetric,
int);
105 vtkGetMacro(VolumePreservation,
int);
117 vtkGetMacro(ScalarsAttribute,
int);
120 vtkGetMacro(VectorsAttribute,
int);
123 vtkGetMacro(NormalsAttribute,
int);
126 vtkGetMacro(TCoordsAttribute,
int);
129 vtkGetMacro(TensorsAttribute,
int);
144 vtkGetMacro(ScalarsWeight,
double);
145 vtkGetMacro(VectorsWeight,
double);
146 vtkGetMacro(NormalsWeight,
double);
147 vtkGetMacro(TCoordsWeight,
double);
148 vtkGetMacro(TensorsWeight,
double);
156 vtkGetMacro(ActualReduction,
double);
174 void InitializeQuadrics(
vtkIdType numPts);
179 void AddBoundaryConstraints(
void);
197 double ComputeCost(
vtkIdType edgeId,
double *x);
198 double ComputeCost2(
vtkIdType edgeId,
double *x);
214 int TrianglePlaneCheck(const
double t0[3], const
double t1[3],
215 const
double t2[3], const
double *x);
216 void ComputeNumberOfComponents(
void);
223 void SetPointAttributeArray(
vtkIdType ptId, const
double *x);
224 void GetPointAttributeArray(
vtkIdType ptId,
double *x);
231 void GetAttributeComponents();
233 double TargetReduction;
234 double ActualReduction;
235 int AttributeErrorMetric;
236 int VolumePreservation;
238 int ScalarsAttribute;
239 int VectorsAttribute;
240 int NormalsAttribute;
241 int TCoordsAttribute;
242 int TensorsAttribute;
244 double ScalarsWeight;
245 double VectorsWeight;
246 double NormalsWeight;
247 double TCoordsWeight;
248 double TensorsWeight;
250 int NumberOfEdgeCollapses;
256 int NumberOfComponents;
270 int AttributeComponents[6];
271 double AttributeScale[6];
represent and manipulate point attribute data
vtkIdList * CollapseCellIds
ErrorQuadric * ErrorQuadrics
concrete dataset represents vertices, lines, polygons, and triangle strips
keep track of edges (edge is pair of integer id's)
dynamic, self-adjusting array of double
a list of ids arranged in priority order
static vtkPolyDataAlgorithm * New()
reduce the number of triangles in a mesh
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
list of point or cell ids
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
double * VolumeConstraints
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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)