|
virtual const char * | GetClassName () |
|
virtual int | IsA (const char *type) |
|
void | PrintSelf (ostream &os, vtkIndent indent) |
|
virtual int | GetDimension () |
|
virtual void | Evaluate (double uvw[3], double Pt[3], double Duvw[9]) |
|
virtual double | EvaluateScalar (double uvw[3], double Pt[3], double Duvw[9]) |
|
|
virtual void | SetRingRadius (double) |
|
virtual double | GetRingRadius () |
|
|
virtual void | SetCrossSectionRadius (double) |
|
virtual double | GetCrossSectionRadius () |
|
|
virtual void | SetXRadius (double) |
|
virtual double | GetXRadius () |
|
|
virtual void | SetYRadius (double) |
|
virtual double | GetYRadius () |
|
|
virtual void | SetZRadius (double) |
|
virtual double | GetZRadius () |
|
|
virtual void | SetN1 (double) |
|
virtual double | GetN1 () |
|
|
virtual void | SetN2 (double) |
|
virtual double | GetN2 () |
|
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 | 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 | SetClockwiseOrdering (int) |
|
virtual int | GetClockwiseOrdering () |
|
virtual void | ClockwiseOrderingOn () |
|
virtual void | ClockwiseOrderingOff () |
|
virtual void | SetDerivativesAvailable (int) |
|
virtual int | GetDerivativesAvailable () |
|
virtual void | DerivativesAvailableOn () |
|
virtual void | DerivativesAvailableOff () |
|
virtual void | DebugOn () |
|
virtual void | DebugOff () |
|
unsigned char | GetDebug () |
|
void | SetDebug (unsigned char 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) |
|
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 &os) |
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
int | GetReferenceCount () |
|
Generate a supertoroid.
vtkParametricSuperToroid generates a supertoroid. Essentially a supertoroid is a torus with the sine and cosine terms raised to a power. A supertoroid is a versatile primitive that is controlled by four parameters r0, r1, n1 and n2. r0, r1 determine the type of torus whilst the value of n1 determines the shape of the torus ring and n2 determines the shape of the cross section of the ring. It is the different values of these powers which give rise to a family of 3D shapes that are all basically toroidal in shape.
For further information about this surface, please consult the technical description "Parametric surfaces" in http://www.vtk.org/documents.php in the "VTK Technical Documents" section in the VTk.org web pages.
Also see: http://astronomy.swin.edu.au/~pbourke/surfaces/.
- Warning
- Care needs to be taken specifying the bounds correctly. You may need to carefully adjust MinimumU, MinimumV, MaximumU, MaximumV.
- Thanks:
- Andrew Maclean a.mac.nosp@m.lean.nosp@m.@cas..nosp@m.edu..nosp@m.au for creating and contributing the class.
- Tests:
- vtkParametricSuperToroid (Tests)
Definition at line 51 of file vtkParametricSuperToroid.h.
Construct a supertoroid with the following parameters: MinimumU = 0, MaximumU = 2*Pi, MinimumV = 0, MaximumV = 2*Pi, JoinU = 1, JoinV = 1, TwistU = 0, TwistV = 0, ClockwiseOrdering = 1, DerivativesAvailable = 0, RingRadius = 1, CrossSectionRadius = 0.5, N1 = 1, N2 = 1, XRadius = 1, YRadius = 1, ZRadius = 1, a torus in this case.
virtual double vtkParametricSuperToroid::EvaluateScalar |
( |
double |
uvw[3], |
|
|
double |
Pt[3], |
|
|
double |
Duvw[9] |
|
) |
| |
|
virtual |
Calculate a user defined scalar using one or all of uvw, Pt, Duvw. 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(). This function is only called if the ScalarMode has the value vtkParametricFunctionSource::SCALAR_FUNCTION_DEFINED If the user does not need to calculate a scalar, then the instantiated function should return zero.
Implements vtkParametricFunction.