|
|
virtual int | RequiresEdgeSubdivision (double *leftPoint, double *midPoint, double *rightPoint, double alpha)=0 |
|
|
virtual double | GetError (double *leftPoint, double *midPoint, double *rightPoint, double alpha)=0 |
|
|
void | SetGenericCell (vtkGenericAdaptorCell *cell) |
|
virtual vtkGenericAdaptorCell * | GetGenericCell () |
|
|
void | SetDataSet (vtkGenericDataSet *ds) |
|
virtual vtkGenericDataSet * | GetDataSet () |
|
vtkObject * | NewInstance () const |
|
virtual void | DebugOn () |
|
virtual void | DebugOff () |
|
bool | GetDebug () |
|
void | SetDebug (bool debugFlag) |
|
virtual void | Modified () |
|
virtual unsigned long | GetMTime () |
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
|
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
|
vtkCommand * | GetCommand (unsigned long tag) |
|
void | RemoveObserver (vtkCommand *) |
|
void | RemoveObservers (unsigned long event, vtkCommand *) |
|
void | RemoveObservers (const char *event, vtkCommand *) |
|
int | HasObserver (unsigned long event, vtkCommand *) |
|
int | HasObserver (const char *event, vtkCommand *) |
|
void | RemoveObserver (unsigned long tag) |
|
void | RemoveObservers (unsigned long event) |
|
void | RemoveObservers (const char *event) |
|
void | RemoveAllObservers () |
|
int | HasObserver (unsigned long event) |
|
int | HasObserver (const char *event) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
int | InvokeEvent (unsigned long event, void *callData) |
|
int | InvokeEvent (const char *event, void *callData) |
|
int | InvokeEvent (unsigned long event) |
|
int | InvokeEvent (const char *event) |
|
const char * | GetClassName () const |
|
virtual void | Delete () |
|
virtual void | FastDelete () |
|
void | Print (ostream &os) |
|
virtual void | Register (vtkObjectBase *o) |
|
virtual void | UnRegister (vtkObjectBase *o) |
|
void | SetReferenceCount (int) |
|
void | PrintRevisions (ostream &) |
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
int | GetReferenceCount () |
|
Objects that compute error during cell tessellation.
Objects of that class answer the following question during the cell subdivision: "does the edge need to be subdivided?" through RequiresEdgeSubdivision(). The answer depends on the criterium actually used in the subclass of this abstract class: a geometric-based error metric (variation of edge from a straight line), an attribute-based error metric (variation of the active attribute/component value from a linear ramp) , a view-depend error metric, ... Cell subdivision is performed in the context of the adaptor framework: higher-order, or complex cells, are automatically tessellated into simplices so that they can be processed with conventional visualization algorithms.
- See also
- vtkGenericCellTessellator
Definition at line 47 of file vtkGenericSubdivisionErrorMetric.h.
virtual int vtkGenericSubdivisionErrorMetric::RequiresEdgeSubdivision |
( |
double * |
leftPoint, |
|
|
double * |
midPoint, |
|
|
double * |
rightPoint, |
|
|
double |
alpha |
|
) |
| |
|
pure virtual |
Does the edge need to be subdivided according to the implemented computation? The edge is defined by its `leftPoint' and its `rightPoint'. `leftPoint', `midPoint' and `rightPoint' have to be initialized before calling RequiresEdgeSubdivision(). Their format is global coordinates, parametric coordinates and point centered attributes: xyx rst abc de... `alpha' is the normalized abscissa of the midpoint along the edge. (close to 0 means close to the left point, close to 1 means close to the right point)
- Precondition
- leftPoint_exists: leftPoint!=0
-
midPoint_exists: midPoint!=0
-
rightPoint_exists: rightPoint!=0
-
clamped_alpha: alpha>0 && alpha<1
-
valid_size: sizeof(leftPoint)=sizeof(midPoint)=sizeof(rightPoint) =GetAttributeCollection()->GetNumberOfPointCenteredComponents()+6
Implemented in vtkAttributesErrorMetric, vtkViewDependentErrorMetric, vtkGeometricErrorMetric, and vtkSmoothErrorMetric.