VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkParametricFunction Class Referenceabstract

abstract interface for parametric functions More...

#include <vtkParametricFunction.h>

Inheritance diagram for vtkParametricFunction:
[legend]
Collaboration diagram for vtkParametricFunction:
[legend]

Public Types

typedef vtkObject Superclass
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkParametricFunctionNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual int GetDimension ()=0
 
virtual void Evaluate (double uvw[3], double Pt[3], double Duvw[9])=0
 
virtual double EvaluateScalar (double uvw[3], double Pt[3], double Duvw[9])=0
 
virtual void SetMinimumU (double)
 
virtual double GetMinimumU ()
 
virtual void SetMaximumU (double)
 
virtual double GetMaximumU ()
 
virtual void SetMinimumV (double)
 
virtual double GetMinimumV ()
 
virtual void SetMaximumV (double)
 
virtual double GetMaximumV ()
 
virtual void SetMinimumW (double)
 
virtual double GetMinimumW ()
 
virtual void SetMaximumW (double)
 
virtual double GetMaximumW ()
 
virtual void SetJoinU (int)
 
virtual int GetJoinU ()
 
virtual void JoinUOn ()
 
virtual void JoinUOff ()
 
virtual void SetJoinV (int)
 
virtual int GetJoinV ()
 
virtual void JoinVOn ()
 
virtual void JoinVOff ()
 
virtual void SetJoinW (int)
 
virtual int GetJoinW ()
 
virtual void JoinWOn ()
 
virtual void JoinWOff ()
 
virtual void SetTwistU (int)
 
virtual int GetTwistU ()
 
virtual void TwistUOn ()
 
virtual void TwistUOff ()
 
virtual void SetTwistV (int)
 
virtual int GetTwistV ()
 
virtual void TwistVOn ()
 
virtual void TwistVOff ()
 
virtual void SetTwistW (int)
 
virtual int GetTwistW ()
 
virtual void TwistWOn ()
 
virtual void TwistWOff ()
 
virtual void SetClockwiseOrdering (int)
 
virtual int GetClockwiseOrdering ()
 
virtual void ClockwiseOrderingOn ()
 
virtual void ClockwiseOrderingOff ()
 
virtual void SetDerivativesAvailable (int)
 
virtual int GetDerivativesAvailable ()
 
virtual void DerivativesAvailableOn ()
 
virtual void DerivativesAvailableOff ()
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () 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)
 
vtkCommandGetCommand (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)
 
- Public Member Functions inherited from vtkObjectBase
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 ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkParametricFunctionSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkParametricFunction ()
 
virtual ~vtkParametricFunction ()
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- 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 MinimumU
 
double MaximumU
 
double MinimumV
 
double MaximumV
 
double MinimumW
 
double MaximumW
 
int JoinU
 
int JoinV
 
int JoinW
 
int TwistU
 
int TwistV
 
int TwistW
 
int ClockwiseOrdering
 
int DerivativesAvailable
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

abstract interface for parametric functions

vtkParametricFunction is an abstract interface for functions defined by parametric mapping i.e. f(u,v,w)->(x,y,z) where u_min <= u < u_max, v_min <= v < v_max, w_min <= w < w_max. (For notational convenience, we will write f(u)->x and assume that u means (u,v,w) and x means (x,y,z).)

The interface contains the pure virtual function, Evaluate(), that generates a point and the derivatives at that point which are then used to construct the surface. A second pure virtual function, EvaluateScalar(), can be used to generate a scalar for the surface. Finally, the GetDimension() virtual function is used to differentiate 1D, 2D, and 3D parametric functions. Since this abstract class defines a pure virtual API, its subclasses must implement the pure virtual functions GetDimension(), Evaluate() and EvaluateScalar().

This class has also methods for defining a range of parametric values (u,v,w).

Thanks:
Andrew Maclean andre.nosp@m.w.am.nosp@m.aclea.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om for creating and contributing the class.
See also
vtkParametricFunctionSource - tessellates a parametric function
Implementations of derived classes implementing non-orentable surfaces: vtkParametricBoy vtkParametricCrossCap vtkParametricFigure8Klein vtkParametricKlein vtkParametricMobius vtkParametricRoman
Implementations of derived classes implementing orientable surfaces: vtkParametricConicSpiral vtkParametricDini vtkParametricEllipsoid vtkParametricEnneper vtkParametricRandomHills vtkParametricSuperEllipsoid vtkParametricSuperToroid vtkParametricTorus

Definition at line 61 of file vtkParametricFunction.h.

Member Typedef Documentation

Definition at line 64 of file vtkParametricFunction.h.

Constructor & Destructor Documentation

vtkParametricFunction::vtkParametricFunction ( )
protected
virtual vtkParametricFunction::~vtkParametricFunction ( )
protectedvirtual

Member Function Documentation

static int vtkParametricFunction::IsTypeOf ( const char *  type)
static
virtual int vtkParametricFunction::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkParametricSpline, vtkParametricSuperToroid, vtkParametricFigure8Klein, vtkParametricKlein, vtkParametricSuperEllipsoid, vtkParametricRandomHills, vtkParametricEllipsoid, vtkParametricBoy, vtkParametricCrossCap, vtkParametricDini, vtkParametricEnneper, vtkParametricConicSpiral, vtkParametricRoman, vtkParametricTorus, and vtkParametricMobius.

static vtkParametricFunction* vtkParametricFunction::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkParametricFunction::NewInstanceInternal ( ) const
protectedvirtual
vtkParametricFunction* vtkParametricFunction::NewInstance ( ) const
void vtkParametricFunction::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

Reimplemented in vtkParametricSpline, vtkParametricSuperToroid, vtkParametricKlein, vtkParametricSuperEllipsoid, vtkParametricRandomHills, vtkParametricRoman, vtkParametricTorus, and vtkParametricMobius.

virtual int vtkParametricFunction::GetDimension ( )
pure virtual

Return the dimension of parametric space. Depending on the dimension, then the (u,v,w) parameters and associated information (e.g., derivates) have meaning. For example, if the dimension of the function is one, then u[0] and Duvw[0...2] have meaning. This is a pure virtual function that must be instantiated in a derived class.

Implemented in vtkParametricFigure8Klein, vtkParametricTorus, vtkParametricSuperToroid, vtkParametricSpline, vtkParametricSuperEllipsoid, vtkParametricKlein, vtkParametricMobius, vtkParametricEllipsoid, vtkParametricBoy, vtkParametricCrossCap, vtkParametricDini, vtkParametricEnneper, vtkParametricRandomHills, vtkParametricConicSpiral, and vtkParametricRoman.

virtual void vtkParametricFunction::Evaluate ( double  uvw[3],
double  Pt[3],
double  Duvw[9] 
)
pure virtual

Performs the mapping $f(uvw)->(Pt,Duvw)$f. This is a pure virtual function that must be instantiated in a derived class. uvw are the parameters, with u corresponding to uvw[0], v to uvw[1] and w to uvw[2] respectively. Pt is the returned Cartesian point, Duvw are the derivatives of this point with respect to u, v and w. Note that the first three values in Duvw are Du, the next three are Dv, and the final three are Dw. Du Dv Dw are the partial derivatives of the function at the point Pt with respect to u, v and w respectively.

Implemented in vtkParametricRandomHills, vtkParametricSuperToroid, vtkParametricSuperEllipsoid, vtkParametricConicSpiral, vtkParametricEllipsoid, vtkParametricDini, vtkParametricFigure8Klein, vtkParametricTorus, vtkParametricBoy, vtkParametricSpline, vtkParametricKlein, vtkParametricRoman, vtkParametricMobius, vtkParametricCrossCap, and vtkParametricEnneper.

virtual double vtkParametricFunction::EvaluateScalar ( double  uvw[3],
double  Pt[3],
double  Duvw[9] 
)
pure virtual

Calculate a user defined scalar using one or all of uvw, Pt, Duvw. This is a pure virtual function that must be instantiated in a derived class. uvw are the parameters with Pt being the the cartesian point, Duvw are the derivatives of this point with respect to u, v, and w. Pt, Duvw are obtained from Evaluate().

Implemented in vtkParametricRandomHills, vtkParametricSuperToroid, vtkParametricSuperEllipsoid, vtkParametricConicSpiral, vtkParametricEllipsoid, vtkParametricDini, vtkParametricFigure8Klein, vtkParametricTorus, vtkParametricBoy, vtkParametricKlein, vtkParametricRoman, vtkParametricMobius, vtkParametricSpline, vtkParametricCrossCap, and vtkParametricEnneper.

virtual void vtkParametricFunction::SetMinimumU ( double  )
virtual

Set/Get the minimum u-value.

virtual double vtkParametricFunction::GetMinimumU ( )
virtual

Set/Get the minimum u-value.

virtual void vtkParametricFunction::SetMaximumU ( double  )
virtual

Set/Get the maximum u-value.

virtual double vtkParametricFunction::GetMaximumU ( )
virtual

Set/Get the maximum u-value.

virtual void vtkParametricFunction::SetMinimumV ( double  )
virtual

Set/Get the minimum v-value.

virtual double vtkParametricFunction::GetMinimumV ( )
virtual

Set/Get the minimum v-value.

virtual void vtkParametricFunction::SetMaximumV ( double  )
virtual

Set/Get the maximum v-value.

virtual double vtkParametricFunction::GetMaximumV ( )
virtual

Set/Get the maximum v-value.

virtual void vtkParametricFunction::SetMinimumW ( double  )
virtual

Set/Get the minimum w-value.

virtual double vtkParametricFunction::GetMinimumW ( )
virtual

Set/Get the minimum w-value.

virtual void vtkParametricFunction::SetMaximumW ( double  )
virtual

Set/Get the maximum w-value.

virtual double vtkParametricFunction::GetMaximumW ( )
virtual

Set/Get the maximum w-value.

virtual void vtkParametricFunction::SetJoinU ( int  )
virtual

Set/Get the flag which joins the first triangle strip to the last one.

virtual int vtkParametricFunction::GetJoinU ( )
virtual

Set/Get the flag which joins the first triangle strip to the last one.

virtual void vtkParametricFunction::JoinUOn ( )
virtual

Set/Get the flag which joins the first triangle strip to the last one.

virtual void vtkParametricFunction::JoinUOff ( )
virtual

Set/Get the flag which joins the first triangle strip to the last one.

virtual void vtkParametricFunction::SetJoinV ( int  )
virtual

Set/Get the flag which joins the the ends of the triangle strips.

virtual int vtkParametricFunction::GetJoinV ( )
virtual

Set/Get the flag which joins the the ends of the triangle strips.

virtual void vtkParametricFunction::JoinVOn ( )
virtual

Set/Get the flag which joins the the ends of the triangle strips.

virtual void vtkParametricFunction::JoinVOff ( )
virtual

Set/Get the flag which joins the the ends of the triangle strips.

virtual void vtkParametricFunction::SetJoinW ( int  )
virtual

Set/Get the flag which joins the the ends of the triangle strips.

virtual int vtkParametricFunction::GetJoinW ( )
virtual

Set/Get the flag which joins the the ends of the triangle strips.

virtual void vtkParametricFunction::JoinWOn ( )
virtual

Set/Get the flag which joins the the ends of the triangle strips.

virtual void vtkParametricFunction::JoinWOff ( )
virtual

Set/Get the flag which joins the the ends of the triangle strips.

virtual void vtkParametricFunction::SetTwistU ( int  )
virtual

Set/Get the flag which joins the first triangle strip to the last one with a twist. JoinU must also be set if this is set. Used when building some non-orientable surfaces.

virtual int vtkParametricFunction::GetTwistU ( )
virtual

Set/Get the flag which joins the first triangle strip to the last one with a twist. JoinU must also be set if this is set. Used when building some non-orientable surfaces.

virtual void vtkParametricFunction::TwistUOn ( )
virtual

Set/Get the flag which joins the first triangle strip to the last one with a twist. JoinU must also be set if this is set. Used when building some non-orientable surfaces.

virtual void vtkParametricFunction::TwistUOff ( )
virtual

Set/Get the flag which joins the first triangle strip to the last one with a twist. JoinU must also be set if this is set. Used when building some non-orientable surfaces.

virtual void vtkParametricFunction::SetTwistV ( int  )
virtual

Set/Get the flag which joins the ends of the triangle strips with a twist. JoinV must also be set if this is set. Used when building some non-orientable surfaces.

virtual int vtkParametricFunction::GetTwistV ( )
virtual

Set/Get the flag which joins the ends of the triangle strips with a twist. JoinV must also be set if this is set. Used when building some non-orientable surfaces.

virtual void vtkParametricFunction::TwistVOn ( )
virtual

Set/Get the flag which joins the ends of the triangle strips with a twist. JoinV must also be set if this is set. Used when building some non-orientable surfaces.

virtual void vtkParametricFunction::TwistVOff ( )
virtual

Set/Get the flag which joins the ends of the triangle strips with a twist. JoinV must also be set if this is set. Used when building some non-orientable surfaces.

virtual void vtkParametricFunction::SetTwistW ( int  )
virtual

Set/Get the flag which joins the ends of the triangle strips with a twist. JoinW must also be set if this is set. Used when building some non-orientable surfaces.

virtual int vtkParametricFunction::GetTwistW ( )
virtual

Set/Get the flag which joins the ends of the triangle strips with a twist. JoinW must also be set if this is set. Used when building some non-orientable surfaces.

virtual void vtkParametricFunction::TwistWOn ( )
virtual

Set/Get the flag which joins the ends of the triangle strips with a twist. JoinW must also be set if this is set. Used when building some non-orientable surfaces.

virtual void vtkParametricFunction::TwistWOff ( )
virtual

Set/Get the flag which joins the ends of the triangle strips with a twist. JoinW must also be set if this is set. Used when building some non-orientable surfaces.

virtual void vtkParametricFunction::SetClockwiseOrdering ( int  )
virtual

Set/Get the flag which determines the ordering of the the vertices forming the triangle strips. The ordering of the points being inserted into the triangle strip is important because it determines the direction of the normals for the lighting. If set, the ordering is clockwise, otherwise the ordering is anti-clockwise. Default is true (i.e. clockwise ordering).

virtual int vtkParametricFunction::GetClockwiseOrdering ( )
virtual

Set/Get the flag which determines the ordering of the the vertices forming the triangle strips. The ordering of the points being inserted into the triangle strip is important because it determines the direction of the normals for the lighting. If set, the ordering is clockwise, otherwise the ordering is anti-clockwise. Default is true (i.e. clockwise ordering).

virtual void vtkParametricFunction::ClockwiseOrderingOn ( )
virtual

Set/Get the flag which determines the ordering of the the vertices forming the triangle strips. The ordering of the points being inserted into the triangle strip is important because it determines the direction of the normals for the lighting. If set, the ordering is clockwise, otherwise the ordering is anti-clockwise. Default is true (i.e. clockwise ordering).

virtual void vtkParametricFunction::ClockwiseOrderingOff ( )
virtual

Set/Get the flag which determines the ordering of the the vertices forming the triangle strips. The ordering of the points being inserted into the triangle strip is important because it determines the direction of the normals for the lighting. If set, the ordering is clockwise, otherwise the ordering is anti-clockwise. Default is true (i.e. clockwise ordering).

virtual void vtkParametricFunction::SetDerivativesAvailable ( int  )
virtual

Set/Get the flag which determines whether derivatives are available from the parametric function (i.e., whether the Evaluate() method returns valid derivatives).

virtual int vtkParametricFunction::GetDerivativesAvailable ( )
virtual

Set/Get the flag which determines whether derivatives are available from the parametric function (i.e., whether the Evaluate() method returns valid derivatives).

virtual void vtkParametricFunction::DerivativesAvailableOn ( )
virtual

Set/Get the flag which determines whether derivatives are available from the parametric function (i.e., whether the Evaluate() method returns valid derivatives).

virtual void vtkParametricFunction::DerivativesAvailableOff ( )
virtual

Set/Get the flag which determines whether derivatives are available from the parametric function (i.e., whether the Evaluate() method returns valid derivatives).

Member Data Documentation

double vtkParametricFunction::MinimumU
protected

Definition at line 202 of file vtkParametricFunction.h.

double vtkParametricFunction::MaximumU
protected

Definition at line 203 of file vtkParametricFunction.h.

double vtkParametricFunction::MinimumV
protected

Definition at line 204 of file vtkParametricFunction.h.

double vtkParametricFunction::MaximumV
protected

Definition at line 205 of file vtkParametricFunction.h.

double vtkParametricFunction::MinimumW
protected

Definition at line 206 of file vtkParametricFunction.h.

double vtkParametricFunction::MaximumW
protected

Definition at line 207 of file vtkParametricFunction.h.

int vtkParametricFunction::JoinU
protected

Definition at line 209 of file vtkParametricFunction.h.

int vtkParametricFunction::JoinV
protected

Definition at line 210 of file vtkParametricFunction.h.

int vtkParametricFunction::JoinW
protected

Definition at line 211 of file vtkParametricFunction.h.

int vtkParametricFunction::TwistU
protected

Definition at line 213 of file vtkParametricFunction.h.

int vtkParametricFunction::TwistV
protected

Definition at line 214 of file vtkParametricFunction.h.

int vtkParametricFunction::TwistW
protected

Definition at line 215 of file vtkParametricFunction.h.

int vtkParametricFunction::ClockwiseOrdering
protected

Definition at line 217 of file vtkParametricFunction.h.

int vtkParametricFunction::DerivativesAvailable
protected

Definition at line 219 of file vtkParametricFunction.h.


The documentation for this class was generated from the following file: