VTK
|
Objects that compute geometry-based error during cell tessellation. More...
#include <vtkGeometricErrorMetric.h>
Public Member Functions | |
void | SetAbsoluteGeometricTolerance (double value) |
Set the geometric accuracy with a squared absolute value. More... | |
void | SetRelativeGeometricTolerance (double value, vtkGenericDataSet *ds) |
Set the geometric accuracy with a value relative to the length of the bounding box of the dataset. More... | |
int | RequiresEdgeSubdivision (double *leftPoint, double *midPoint, double *rightPoint, double alpha) override |
Does the edge need to be subdivided according to the distance between the line passing through its endpoints and the mid point? The edge is defined by its `leftPoint' and its `rightPoint'. More... | |
double | GetError (double *leftPoint, double *midPoint, double *rightPoint, double alpha) override |
Return the error at the mid-point. More... | |
int | GetRelative () |
Return the type of output of GetError() More... | |
virtual double | GetAbsoluteGeometricTolerance () |
Return the squared absolute geometric accuracy. More... | |
Public Member Functions inherited from vtkGenericSubdivisionErrorMetric | |
void | SetGenericCell (vtkGenericAdaptorCell *cell) |
The cell that the edge belongs to. More... | |
virtual vtkGenericAdaptorCell * | GetGenericCell () |
The cell that the edge belongs to. More... | |
void | SetDataSet (vtkGenericDataSet *ds) |
Set/Get the dataset to be tessellated. More... | |
virtual vtkGenericDataSet * | GetDataSet () |
Set/Get the dataset to be tessellated. More... | |
vtkGenericSubdivisionErrorMetric * | NewInstance () const |
Standard VTK type and error macros. More... | |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. More... | |
virtual void | DebugOff () |
Turn debugging output off. More... | |
bool | GetDebug () |
Get the value of the debug flag. More... | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. More... | |
virtual void | Modified () |
Update the modification time for this object. More... | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. More... | |
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) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
int | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
int | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual void | Delete () |
Delete a VTK object. More... | |
virtual void | FastDelete () |
Delete a reference to this object. More... | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. More... | |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). More... | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). More... | |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
void | PrintRevisions (ostream &) |
Legacy. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
Static Public Member Functions | |
static vtkGeometricErrorMetric * | New () |
Construct the error metric with a default squared absolute geometric accuracy equal to 1. More... | |
Static Public Member Functions inherited from vtkGenericSubdivisionErrorMetric | |
static int | IsTypeOf (const char *type) |
Standard VTK type and error macros. More... | |
static vtkGenericSubdivisionErrorMetric * | SafeDownCast (vtkObjectBase *o) |
Standard VTK type and error macros. More... | |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. More... | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
Protected Member Functions | |
vtkGeometricErrorMetric () | |
~vtkGeometricErrorMetric () override | |
double | Distance2LinePoint (double x[3], double y[3], double z[3]) |
Square distance between a straight line (defined by points x and y) and a point z. More... | |
Protected Member Functions inherited from vtkGenericSubdivisionErrorMetric | |
vtkGenericSubdivisionErrorMetric () | |
~vtkGenericSubdivisionErrorMetric () override | |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. More... | |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
double | AbsoluteGeometricTolerance |
double | SmallestSize |
int | Relative |
Protected Attributes inherited from vtkGenericSubdivisionErrorMetric | |
vtkGenericAdaptorCell * | GenericCell |
vtkGenericDataSet * | DataSet |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
typedef vtkGenericSubdivisionErrorMetric | Superclass |
Standard VTK type and error macros. More... | |
static int | IsTypeOf (const char *type) |
Standard VTK type and error macros. More... | |
static vtkGeometricErrorMetric * | SafeDownCast (vtkObjectBase *o) |
Standard VTK type and error macros. More... | |
virtual int | IsA (const char *type) |
Standard VTK type and error macros. More... | |
vtkGeometricErrorMetric * | NewInstance () const |
Standard VTK type and error macros. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Standard VTK type and error macros. More... | |
virtual vtkObjectBase * | NewInstanceInternal () const |
Standard VTK type and error macros. More... | |
Additional Inherited Members | |
Public Types inherited from vtkGenericSubdivisionErrorMetric | |
typedef vtkObject | Superclass |
Standard VTK type and error macros. More... | |
Objects that compute geometry-based error during cell tessellation.
It is a concrete error metric, based on a geometric criterium: the variation of the edge from a straight line.
Definition at line 39 of file vtkGeometricErrorMetric.h.
Standard VTK type and error macros.
Definition at line 52 of file vtkGeometricErrorMetric.h.
|
protected |
|
overrideprotected |
|
static |
Construct the error metric with a default squared absolute geometric accuracy equal to 1.
|
static |
Standard VTK type and error macros.
|
virtual |
Standard VTK type and error macros.
Reimplemented from vtkGenericSubdivisionErrorMetric.
|
static |
Standard VTK type and error macros.
|
protectedvirtual |
Standard VTK type and error macros.
Reimplemented from vtkGenericSubdivisionErrorMetric.
vtkGeometricErrorMetric* vtkGeometricErrorMetric::NewInstance | ( | ) | const |
Standard VTK type and error macros.
|
overridevirtual |
Standard VTK type and error macros.
Reimplemented from vtkGenericSubdivisionErrorMetric.
|
virtual |
Return the squared absolute geometric accuracy.
See SetAbsoluteGeometricTolerance() for details.
void vtkGeometricErrorMetric::SetAbsoluteGeometricTolerance | ( | double | value | ) |
Set the geometric accuracy with a squared absolute value.
This is the geometric object-based accuracy. Subdivision will be required if the square distance between the real point and the straight line passing through the vertices of the edge is greater than `value'. For instance 0.01 will give better result than 0.1.
void vtkGeometricErrorMetric::SetRelativeGeometricTolerance | ( | double | value, |
vtkGenericDataSet * | ds | ||
) |
Set the geometric accuracy with a value relative to the length of the bounding box of the dataset.
Internally compute the absolute tolerance. For instance 0.01 will give better result than 0.1.
|
overridevirtual |
Does the edge need to be subdivided according to the distance between the line passing through its endpoints and the mid point? 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)
Implements vtkGenericSubdivisionErrorMetric.
|
overridevirtual |
Return the error at the mid-point.
It will return an error relative to the bounding box size if GetRelative() is true, a square absolute error otherwise. See RequiresEdgeSubdivision() for a description of the arguments.
Implements vtkGenericSubdivisionErrorMetric.
int vtkGeometricErrorMetric::GetRelative | ( | ) |
Return the type of output of GetError()
|
protected |
Square distance between a straight line (defined by points x and y) and a point z.
Property: if x and y are equal, the line is a point and the result is the square distance between points x and z.
|
protected |
Definition at line 140 of file vtkGeometricErrorMetric.h.
|
protected |
Definition at line 141 of file vtkGeometricErrorMetric.h.
|
protected |
Definition at line 142 of file vtkGeometricErrorMetric.h.