47 #ifndef vtkQuadricDecimation_h
48 #define vtkQuadricDecimation_h
51 #include "vtkFiltersCoreModule.h"
54 VTK_ABI_NAMESPACE_BEGIN
74 vtkSetClampMacro(TargetReduction,
double, 0.0, 1.0);
75 vtkGetMacro(TargetReduction,
double);
121 vtkSetMacro(Regularization,
double);
122 vtkGetMacro(Regularization,
double);
134 vtkSetMacro(WeighBoundaryConstraintsByLength,
vtkTypeBool);
135 vtkGetMacro(WeighBoundaryConstraintsByLength,
vtkTypeBool);
136 vtkBooleanMacro(WeighBoundaryConstraintsByLength,
vtkTypeBool);
137 vtkSetMacro(BoundaryWeightFactor,
double);
138 vtkGetMacro(BoundaryWeightFactor,
double);
145 vtkGetMacro(MapPointData,
bool);
146 vtkSetMacro(MapPointData,
bool);
147 vtkBooleanMacro(MapPointData,
bool);
180 vtkSetMacro(ScalarsWeight,
double);
181 vtkSetMacro(VectorsWeight,
double);
182 vtkSetMacro(NormalsWeight,
double);
183 vtkSetMacro(TCoordsWeight,
double);
184 vtkSetMacro(TensorsWeight,
double);
185 vtkGetMacro(ScalarsWeight,
double);
186 vtkGetMacro(VectorsWeight,
double);
187 vtkGetMacro(NormalsWeight,
double);
188 vtkGetMacro(TCoordsWeight,
double);
189 vtkGetMacro(TensorsWeight,
double);
197 vtkGetMacro(ActualReduction,
double);
215 void InitializeQuadrics(
vtkIdType numPts);
220 void AddBoundaryConstraints();
238 double ComputeCost(
vtkIdType edgeId,
double* x);
239 double ComputeCost2(
vtkIdType edgeId,
double* x);
255 int TrianglePlaneCheck(
256 const double t0[3],
const double t1[3],
const double t2[3],
const double* x);
257 void ComputeNumberOfComponents();
267 "the edge to interpolate point data")
268 void SetPointAttributeArray(
vtkIdType ptId, const
double* x);
269 void SetPointAttributeArray(
vtkIdType ptId[2], const
double* x);
270 void GetPointAttributeArray(
vtkIdType ptId,
double* x);
277 void GetAttributeComponents();
279 double TargetReduction;
280 double ActualReduction;
284 bool MapPointData = false;
292 double ScalarsWeight;
293 double VectorsWeight;
294 double NormalsWeight;
295 double TCoordsWeight;
296 double TensorsWeight;
298 int NumberOfEdgeCollapses;
304 int NumberOfComponents;
317 double Regularization = 0.05;
321 double BoundaryWeightFactor = 1.0;
325 int AttributeComponents[6];
326 double AttributeScale[6];
341 VTK_ABI_NAMESPACE_END
represent and manipulate point attribute data
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
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
#define VTK_DEPRECATED_IN_9_3_0(reason)
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
list of point or cell ids
double * VolumeConstraints
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)