58 #ifndef vtkQuadricDecimation_h 
   59 #define vtkQuadricDecimation_h 
   81   vtkSetClampMacro(TargetReduction, 
double, 0.0, 1.0);
 
   82   vtkGetMacro(TargetReduction, 
double);
 
   89   vtkSetMacro(AttributeErrorMetric, 
int);
 
   90   vtkGetMacro(AttributeErrorMetric, 
int);
 
   91   vtkBooleanMacro(AttributeErrorMetric, 
int);
 
   99   vtkSetMacro(ScalarsAttribute, 
int);
 
  100   vtkGetMacro(ScalarsAttribute, 
int);
 
  101   vtkBooleanMacro(ScalarsAttribute, 
int);
 
  102   vtkSetMacro(VectorsAttribute, 
int);
 
  103   vtkGetMacro(VectorsAttribute, 
int);
 
  104   vtkBooleanMacro(VectorsAttribute, 
int);
 
  105   vtkSetMacro(NormalsAttribute, 
int);
 
  106   vtkGetMacro(NormalsAttribute, 
int);
 
  107   vtkBooleanMacro(NormalsAttribute, 
int);
 
  108   vtkSetMacro(TCoordsAttribute, 
int);
 
  109   vtkGetMacro(TCoordsAttribute, 
int);
 
  110   vtkBooleanMacro(TCoordsAttribute, 
int);
 
  111   vtkSetMacro(TensorsAttribute, 
int);
 
  112   vtkGetMacro(TensorsAttribute, 
int);
 
  113   vtkBooleanMacro(TensorsAttribute, 
int);
 
  120   vtkSetMacro(ScalarsWeight, 
double);
 
  121   vtkSetMacro(VectorsWeight, 
double);
 
  122   vtkSetMacro(NormalsWeight, 
double);
 
  123   vtkSetMacro(TCoordsWeight, 
double);
 
  124   vtkSetMacro(TensorsWeight, 
double);
 
  125   vtkGetMacro(ScalarsWeight, 
double);
 
  126   vtkGetMacro(VectorsWeight, 
double);
 
  127   vtkGetMacro(NormalsWeight, 
double);
 
  128   vtkGetMacro(TCoordsWeight, 
double);
 
  129   vtkGetMacro(TensorsWeight, 
double);
 
  135   vtkGetMacro(ActualReduction, 
double);
 
  149   void InitializeQuadrics(
vtkIdType numPts);
 
  152   void AddBoundaryConstraints(
void);
 
  164   double ComputeCost(
vtkIdType edgeId, 
double *x);
 
  165   double ComputeCost2(
vtkIdType edgeId, 
double *x);
 
  177   int TrianglePlaneCheck(
const double t0[3], 
const double t1[3],
 
  178                          const double t2[3],  
const double *x);
 
  179   void ComputeNumberOfComponents(
void);
 
  185   void SetPointAttributeArray(
vtkIdType ptId, 
const double *x);
 
  186   void GetPointAttributeArray(
vtkIdType ptId, 
double *x);
 
  191   void GetAttributeComponents();
 
  226   int           AttributeComponents[6];
 
  227   double        AttributeScale[6];
 
represent and manipulate point attribute data 
 
vtksys_stl::pair< boost::graph_traits< vtkGraph * >::edge_iterator, boost::graph_traits< vtkGraph * >::edge_iterator > edges(vtkGraph *g)
 
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
#define VTKFILTERSCORE_EXPORT
 
vtkDoubleArray * TargetPoints
 
vtkIdList * CollapseCellIds
 
int NumberOfEdgeCollapses
 
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 
 
void PrintSelf(ostream &os, vtkIndent indent)
 
vtkIdList * EndPoint2List
 
Superclass for algorithms that produce only polydata as output. 
 
a simple class to control print indentation 
 
list of point or cell ids 
 
vtkIdList * EndPoint1List
 
vtkPriorityQueue * EdgeCosts