Implicit function that computes the distance from a point x to the nearest point p on an input vtkPolyData.
More...
|
virtual int | IsA (const char *type) |
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
|
|
vtkImplicitPolyDataDistance * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) override |
| Methods invoked by print to print information about the object including superclasses. More...
|
|
vtkMTimeType | GetMTime () override |
| Return the MTime also considering the Input dependency. More...
|
|
double | EvaluateFunction (double x[3]) override |
| Evaluate plane equation of nearest triangle to point x[3]. More...
|
|
void | EvaluateGradient (double x[3], double g[3]) override |
| Evaluate function gradient of nearest triangle to point x[3]. More...
|
|
double | EvaluateFunctionAndGetClosestPoint (double x[3], double closestPoint[3]) |
| Evaluate plane equation of nearest triangle to point x[3] and provides closest point on an input vtkPolyData. More...
|
|
void | SetInput (vtkPolyData *input) |
| Set the input vtkPolyData used for the implicit function evaluation. More...
|
|
|
virtual void | SetNoValue (double) |
| Set/get the function value to use if no input vtkPolyData specified. More...
|
|
virtual double | GetNoValue () |
| Set/get the function value to use if no input vtkPolyData specified. More...
|
|
|
virtual void | SetNoGradient (double, double, double) |
| Set/get the function gradient to use if no input vtkPolyData specified. More...
|
|
virtual void | SetNoGradient (double[3]) |
| Set/get the function gradient to use if no input vtkPolyData specified. More...
|
|
virtual double * | GetNoGradient () |
| Set/get the function gradient to use if no input vtkPolyData specified. More...
|
|
virtual void | GetNoGradient (double &, double &, double &) |
| Set/get the function gradient to use if no input vtkPolyData specified. More...
|
|
virtual void | GetNoGradient (double[3]) |
| Set/get the function gradient to use if no input vtkPolyData specified. More...
|
|
|
virtual void | SetNoClosestPoint (double, double, double) |
| Set/get the closest point to use if no input vtkPolyData specified. More...
|
|
virtual void | SetNoClosestPoint (double[3]) |
| Set/get the closest point to use if no input vtkPolyData specified. More...
|
|
virtual double * | GetNoClosestPoint () |
| Set/get the closest point to use if no input vtkPolyData specified. More...
|
|
virtual void | GetNoClosestPoint (double &, double &, double &) |
| Set/get the closest point to use if no input vtkPolyData specified. More...
|
|
virtual void | GetNoClosestPoint (double[3]) |
| Set/get the closest point to use if no input vtkPolyData specified. More...
|
|
|
virtual double | GetTolerance () |
| Set/get the tolerance usued for the locator. More...
|
|
virtual void | SetTolerance (double) |
| Set/get the tolerance usued for the locator. More...
|
|
vtkImplicitFunction * | NewInstance () const |
|
double | FunctionValue (const double x[3]) |
| Evaluate function at position x-y-z and return value. More...
|
|
double | FunctionValue (double x, double y, double z) |
| Evaluate function at position x-y-z and return value. More...
|
|
void | FunctionGradient (const double x[3], double g[3]) |
| Evaluate function gradient at position x-y-z and pass back vector. More...
|
|
double * | FunctionGradient (const double x[3]) |
| Evaluate function gradient at position x-y-z and pass back vector. More...
|
|
double * | FunctionGradient (double x, double y, double z) |
| Evaluate function gradient at position x-y-z and pass back vector. More...
|
|
virtual void | SetTransform (vtkAbstractTransform *) |
| Set/Get a transformation to apply to input points before executing the implicit function. More...
|
|
virtual void | SetTransform (const double elements[16]) |
| Set/Get a transformation to apply to input points before executing the implicit function. More...
|
|
virtual vtkAbstractTransform * | GetTransform () |
| Set/Get a transformation to apply to input points before executing the implicit function. More...
|
|
double | EvaluateFunction (double x, double y, double z) |
| Evaluate function at position x-y-z and return value. More...
|
|
| 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...
|
|
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...
|
|
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...
|
|
Implicit function that computes the distance from a point x to the nearest point p on an input vtkPolyData.
The sign of the function is set to the sign of the dot product between the angle-weighted pseudonormal at the nearest surface point and the vector x - p. Points interior to the geometry have a negative distance, points on the exterior have a positive distance, and points on the input vtkPolyData have a distance of zero. The gradient of the function is the angle-weighted pseudonormal at the nearest point.
Baerentzen, J. A. and Aanaes, H. (2005). Signed distance computation using the angle weighted pseudonormal. IEEE Transactions on Visualization and Computer Graphics, 11:243-253.
This code was contributed in the VTK Journal paper: "Boolean Operations on Surfaces in VTK Without External Libraries" by Cory Quammen, Chris Weigle C., Russ Taylor http://hdl.handle.net/10380/3262 http://www.midasjournal.org/browse/publication/797
- Tests:
- vtkImplicitPolyDataDistance (Tests)
Definition at line 51 of file vtkImplicitPolyDataDistance.h.