Man Page for vtkImplicitFunction
Table of Contents

NAME

vtkImplicitFunction - abstract interface for implicit functions

SYNOPSIS


#include "/opt/vtk-c++/common/vtkImplicitFunction.h"

class VTK_EXPORT vtkImplicitFunction : public vtkObject

vtkImplicitFunction();
const char *GetClassName() {return "vtkImplicitFunction";};
void PrintSelf(ostream& os, vtkIndent indent);
unsigned long int GetMTime();
float FunctionValue(float x[3]);
void FunctionGradient(float x[3], float g[3]);
virtual float EvaluateFunction(float x[3]) = 0;
virtual void EvaluateGradient(float x[3], float g[3]) = 0;
void SetTransform(vtkTransform*);
void SetTransform(vtkTransform& );
vtkTransform *GetTransform();

DESCRIPTION

vtkImplicitFunction specifies an abstract interface for implicit functions. Implicit functions are of the form F(x,y,z) = 0. Two primitive operations are required: the ability to evaluate the function, and the function gradient at a given point.

Implicit functions are very powerful. It is possible to represent almost any type of geometry with implicit functions, especially if you use boolean combinations implicit functions (see vtkImplicitBoolean).

vtkImplicitFunction provides a mechanism to transform the implicit function(s) via a transformation matrix. This capability can be used to translate, orient, or scale implicit functions. For example, a sphere implicit function can be transformed into an oriented ellipse. This is accomplished by using an instance of vtkTransform.

CAVEATS

The transformation matrix transforms a point into the space of the implicit function (i.e., the model space). Typically we want to transform the implicit model into world coordinates. In this case the inverse of the transformation matrix is required.

SEE ALSO

vtkTransform vtkSphere vtkCylinder vtkImplicitBoolean vtkPlane vtkPlanes vtkQuadric vtkImplicitVolume vtkSampleFunction vtkCutter vtkClipPolyData

SUMMARY

virtual float EvaluateFunction(float x[3]) = 0;
Evaluate function at position x-y-z and return value. Must be implemented by derived class.

virtual void EvaluateGradient(float x[3], float g[3]) = 0; Evaluate function gradient at position x-y-z and pass back vector. Must be implemented by derived class.

void SetTransform(vtkTransform*)
void SetTransform(vtkTransform& )
Set/Get transformation matrix to transform implicit function.

float FunctionValue(float x[3])
Evaluate function at position x-y-z and return value. Point x[3] is transformed through transform (if provided).

void FunctionGradient(float x[3], float g[3])
Evaluate function gradient at position x-y-z and pass back vector. Point x[3] is transformed through transform (if provided).

unsigned long GetMTime()
Overload standard modified time function. If Transform is modified, then this object is modified as well.


Table of Contents