Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

vtkProp3D Class Reference

represents an 3D object for placement in a rendered scene. More...

#include <vtkProp3D.h>

Inheritance diagram for vtkProp3D:

Inheritance graph
[legend]
Collaboration diagram for vtkProp3D:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void ShallowCopy (vtkProp *prop)
virtual void SetPosition (float, float, float)
virtual void SetPosition (float[3])
virtual float * GetPosition ()
virtual void GetPosition (float data[3])
void AddPosition (float deltaPosition[3])
void AddPosition (float deltaX, float deltaY, float deltaZ)
virtual void SetOrigin (float, float, float)
virtual void SetOrigin (float[3])
virtual float * GetOrigin ()
virtual void GetOrigin (float data[3])
virtual void SetScale (float, float, float)
virtual void SetScale (float[3])
virtual float * GetScale ()
virtual void GetScale (float data[3])
void SetScale (float s)
void SetUserTransform (vtkLinearTransform *transform)
virtual vtkLinearTransformGetUserTransform ()
void SetUserMatrix (vtkMatrix4x4 *matrix)
vtkMatrix4x4GetUserMatrix ()
virtual void GetMatrix (vtkMatrix4x4 *m)
virtual void GetMatrix (double m[16])
void GetBounds (float bounds[6])
virtual float * GetBounds ()=0
float * GetCenter ()
float * GetXRange ()
float * GetYRange ()
float * GetZRange ()
float GetLength ()
void RotateX (float)
void RotateY (float)
void RotateZ (float)
void RotateWXYZ (float, float, float, float)
void SetOrientation (float, float, float)
void SetOrientation (float a[3])
float * GetOrientation ()
void GetOrientation (float o[3])
float * GetOrientationWXYZ ()
void AddOrientation (float, float, float)
void AddOrientation (float a[3])
void PokeMatrix (vtkMatrix4x4 *matrix)
void InitPathTraversal ()
vtkMatrix4x4GetMatrix ()
virtual void GetMatrix (vtkMatrix4x4 &m)
virtual vtkMatrix4x4GetMatrixPointer ()

Static Public Methods

int IsTypeOf (const char *type)
vtkProp3D * SafeDownCast (vtkObject *o)

Protected Methods

 vtkProp3D ()
 ~vtkProp3D ()
 vtkProp3D (const vtkProp3D &)
void operator= (const vtkProp3D &)

Protected Attributes

vtkLinearTransformUserTransform
vtkMatrix4x4UserMatrix
vtkMatrix4x4Matrix
vtkTimeStamp MatrixMTime
float Origin [3]
float Position [3]
float Orientation [3]
float Scale [3]
float Center [3]
vtkTransformTransform
float Bounds [6]
vtkProp3D * CachedProp3D

Detailed Description

represents an 3D object for placement in a rendered scene.

Date:
2000/12/10 20:08:48
Revision:
1.25

vtkProp3D is an abstract class used to represent an entity in a rendering scene (i.e., vtkProp3D is a vtkProp with an associated transformation matrix). It handles functions related to the position, orientation and scaling. It combines these instance variables into one 4x4 transformation matrix as follows: [x y z 1] = [x y z 1] Translate(-origin) Scale(scale) Rot(y) Rot(x) Rot (z) Trans(origin) Trans(position). Both vtkActor and vtkVolume are specializations of class vtkProp. The constructor defaults to: origin(0,0,0) position=(0,0,0) orientation=(0,0,0), no user defined matrix or transform, and no texture map.

See also:
vtkProp vtkActor vtkAssembly vtkVolume
Examples:
vtkProp3D (examples)

Definition at line 70 of file vtkProp3D.h.


Constructor & Destructor Documentation

vtkProp3D::vtkProp3D   [protected]
 

vtkProp3D::~vtkProp3D   [protected]
 

vtkProp3D::vtkProp3D const vtkProp3D &    [inline, protected]
 

Definition at line 231 of file vtkProp3D.h.


Member Function Documentation

virtual const char* vtkProp3D::GetClassName   [virtual]
 

Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkProp.

Reimplemented in vtkActor, vtkAssembly, vtkFollower, vtkLODActor, vtkLODProp3D, vtkMesaActor, vtkOpenGLActor, and vtkVolume.

int vtkProp3D::IsTypeOf const char *    type [static]
 

Return 1 if this class type 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 vtkProp.

Reimplemented in vtkActor, vtkAssembly, vtkFollower, vtkLODActor, vtkLODProp3D, vtkMesaActor, vtkOpenGLActor, and vtkVolume.

virtual int vtkProp3D::IsA const char *    type [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 vtkProp.

Reimplemented in vtkActor, vtkAssembly, vtkFollower, vtkLODActor, vtkLODProp3D, vtkMesaActor, vtkOpenGLActor, and vtkVolume.

vtkProp3D* vtkProp3D::SafeDownCast vtkObject   o [static]
 

Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkProp.

Reimplemented in vtkActor, vtkAssembly, vtkFollower, vtkLODActor, vtkLODProp3D, vtkMesaActor, vtkOpenGLActor, and vtkVolume.

Referenced by vtkProp3DCollection::GetLastProp3D(), and vtkProp3DCollection::GetNextProp3D().

void vtkProp3D::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 vtkProp.

Reimplemented in vtkActor, vtkAssembly, vtkFollower, vtkLODActor, vtkLODProp3D, and vtkVolume.

void vtkProp3D::ShallowCopy vtkProp   prop [virtual]
 

Shallow copy of this vtkProp3D.

Reimplemented from vtkProp.

Reimplemented in vtkActor, vtkAssembly, vtkFollower, vtkLODActor, vtkLODProp3D, and vtkVolume.

virtual void vtkProp3D::SetPosition float   ,
float   ,
float   
[virtual]
 

Set/Get/Add the position of the Prop3D in world coordinates.

virtual void vtkProp3D::SetPosition float   [3] [virtual]
 

virtual float* vtkProp3D::GetPosition   [virtual]
 

virtual void vtkProp3D::GetPosition float    data[3] [virtual]
 

void vtkProp3D::AddPosition float    deltaPosition[3]
 

void vtkProp3D::AddPosition float    deltaX,
float    deltaY,
float    deltaZ
 

virtual void vtkProp3D::SetOrigin float   ,
float   ,
float   
[virtual]
 

Set/Get the origin of the Prop3D. This is the point about which all rotations take place.

virtual void vtkProp3D::SetOrigin float   [3] [virtual]
 

virtual float* vtkProp3D::GetOrigin   [virtual]
 

virtual void vtkProp3D::GetOrigin float    data[3] [virtual]
 

virtual void vtkProp3D::SetScale float   ,
float   ,
float   
[virtual]
 

Set/Get the scale of the actor. Scaling in performed independently on the X, Y and Z axis. A scale of zero is illegal and will be replaced with one.

virtual void vtkProp3D::SetScale float   [3] [virtual]
 

virtual float* vtkProp3D::GetScale   [virtual]
 

virtual void vtkProp3D::GetScale float    data[3] [virtual]
 

void vtkProp3D::SetScale float    s [inline]
 

Method to set the scale isotropically

Definition at line 97 of file vtkProp3D.h.

void vtkProp3D::SetUserTransform vtkLinearTransform   transform
 

In addition to the instance variables such as position and orientation, you can add an additional transformation for your own use. This transformation is concatenated with the actor's internal transformation, which you implicitly create through the use of SetPosition(), SetOrigin() and SetOrientation().

If the internal transformation is identity (i.e. if you don't set the Position, Origin, or Orientation) then the actors final transformation will be the UserTransform, concatenated with the UserMatrix if the UserMatrix is present.

virtual vtkLinearTransform* vtkProp3D::GetUserTransform   [virtual]
 

void vtkProp3D::SetUserMatrix vtkMatrix4x4   matrix
 

The UserMatrix can be used in place of UserTransform.

vtkMatrix4x4* vtkProp3D::GetUserMatrix   [inline]
 

Definition at line 113 of file vtkProp3D.h.

virtual void vtkProp3D::GetMatrix vtkMatrix4x4   m [virtual]
 

Return a reference to the Prop3D's 4x4 composite matrix. Get the matrix from the position, origin, scale and orientation This matrix is cached, so multiple GetMatrix() calls will be efficient.

Reimplemented in vtkFollower.

virtual void vtkProp3D::GetMatrix double    m[16] [virtual]
 

Reimplemented in vtkFollower.

void vtkProp3D::GetBounds float    bounds[6]
 

Get the bounds for this Prop3D as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).

Reimplemented in vtkActor, vtkAssembly, vtkLODProp3D, and vtkVolume.

virtual float* vtkProp3D::GetBounds   [pure virtual]
 

Get the bounds for this Prop as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax). in world coordinates. NULL means that the bounds are not defined.

Reimplemented from vtkProp.

Reimplemented in vtkActor, vtkAssembly, vtkLODProp3D, and vtkVolume.

Referenced by vtkVolume::GetBounds(), vtkLODProp3D::GetBounds(), vtkAssembly::GetBounds(), and vtkActor::GetBounds().

float* vtkProp3D::GetCenter  
 

Get the center of the bounding box in world coordinates.

float* vtkProp3D::GetXRange  
 

Get the Prop3D's x range in world coordinates.

float* vtkProp3D::GetYRange  
 

Get the Prop3D's y range in world coordinates.

float* vtkProp3D::GetZRange  
 

Get the Prop3D's z range in world coordinates.

float vtkProp3D::GetLength  
 

Get the length of the diagonal of the bounding box.

void vtkProp3D::RotateX float   
 

Rotate the Prop3D in degrees about the X axis using the right hand rule. The axis is the Prop3D's X axis, which can change as other rotations are performed. To rotate about the world X axis use RotateWXYZ (angle, 1, 0, 0). This rotation is applied before all others in the current transformation matrix.

void vtkProp3D::RotateY float   
 

Rotate the Prop3D in degrees about the Y axis using the right hand rule. The axis is the Prop3D's Y axis, which can change as other rotations are performed. To rotate about the world Y axis use RotateWXYZ (angle, 0, 1, 0). This rotation is applied before all others in the current transformation matrix.

void vtkProp3D::RotateZ float   
 

Rotate the Prop3D in degrees about the Z axis using the right hand rule. The axis is the Prop3D's Z axis, which can change as other rotations are performed. To rotate about the world Z axis use RotateWXYZ (angle, 0, 0, 1). This rotation is applied before all others in the current transformation matrix.

void vtkProp3D::RotateWXYZ float   ,
float   ,
float   ,
float   
 

Rotate the Prop3D in degrees about an arbitrary axis specified by the last three arguments. The axis is specified in world coordinates. To rotate an about its model axes, use RotateX, RotateY, RotateZ.

void vtkProp3D::SetOrientation float   ,
float   ,
float   
 

Sets the orientation of the Prop3D. Orientation is specified as X,Y and Z rotations in that order, but they are performed as RotateZ, RotateX, and finally RotateY.

void vtkProp3D::SetOrientation float    a[3]
 

Sets the orientation of the Prop3D. Orientation is specified as X,Y and Z rotations in that order, but they are performed as RotateZ, RotateX, and finally RotateY.

float* vtkProp3D::GetOrientation  
 

Returns the orientation of the Prop3D as s vector of X,Y and Z rotation. The ordering in which these rotations must be done to generate the same matrix is RotateZ, RotateX, and finally RotateY. See also SetOrientation.

void vtkProp3D::GetOrientation float    o[3]
 

float* vtkProp3D::GetOrientationWXYZ  
 

Returns the WXYZ orientation of the Prop3D.

void vtkProp3D::AddOrientation float   ,
float   ,
float   
 

Add to the current orientation. See SetOrientation and GetOrientation for more details. This basically does a GetOrientation, adds the passed in arguments, and then calls SetOrientation.

void vtkProp3D::AddOrientation float    a[3]
 

Add to the current orientation. See SetOrientation and GetOrientation for more details. This basically does a GetOrientation, adds the passed in arguments, and then calls SetOrientation.

void vtkProp3D::PokeMatrix vtkMatrix4x4   matrix
 

This method modifies the vtkProp3D so that its transformation state is set to the matrix specified. The method does this by setting appropriate transformation-related ivars to initial values (i.e., not transformed), and placing the user-supplied matrix into the UserMatrix of this vtkProp3D. If the method is called again with a NULL matrix, then the original state of the vtkProp3D will be restored. This method is used to support picking and assembly structures.

void vtkProp3D::InitPathTraversal   [virtual]
 

Overload vtkProp's method for setting up assembly paths. See the documentation for vtkProp.

Reimplemented from vtkProp.

Reimplemented in vtkAssembly.

vtkMatrix4x4* vtkProp3D::GetMatrix   [inline, virtual]
 

Get a pointer to an internal vtkMatrix4x4. that represents

Reimplemented from vtkProp.

Reimplemented in vtkFollower.

Definition at line 215 of file vtkProp3D.h.

Referenced by vtkFollower::GetMatrix().

virtual void vtkProp3D::GetMatrix vtkMatrix4x4   m [inline, virtual]
 

For legacy compatibility. Do not use.

Reimplemented in vtkFollower.

Definition at line 223 of file vtkProp3D.h.

virtual vtkMatrix4x4* vtkProp3D::GetMatrixPointer   [virtual]
 

Reimplemented from vtkProp.

void vtkProp3D::operator= const vtkProp3D &    [inline, protected]
 

Definition at line 232 of file vtkProp3D.h.


Member Data Documentation

vtkLinearTransform* vtkProp3D::UserTransform [protected]
 

Definition at line 234 of file vtkProp3D.h.

vtkMatrix4x4* vtkProp3D::UserMatrix [protected]
 

Definition at line 235 of file vtkProp3D.h.

vtkMatrix4x4* vtkProp3D::Matrix [protected]
 

Definition at line 236 of file vtkProp3D.h.

vtkTimeStamp vtkProp3D::MatrixMTime [protected]
 

Definition at line 237 of file vtkProp3D.h.

float vtkProp3D::Origin[3] [protected]
 

Definition at line 238 of file vtkProp3D.h.

float vtkProp3D::Position[3] [protected]
 

Definition at line 239 of file vtkProp3D.h.

float vtkProp3D::Orientation[3] [protected]
 

Definition at line 240 of file vtkProp3D.h.

float vtkProp3D::Scale[3] [protected]
 

Definition at line 241 of file vtkProp3D.h.

float vtkProp3D::Center[3] [protected]
 

Definition at line 242 of file vtkProp3D.h.

vtkTransform* vtkProp3D::Transform [protected]
 

Definition at line 243 of file vtkProp3D.h.

float vtkProp3D::Bounds[6] [protected]
 

Definition at line 244 of file vtkProp3D.h.

vtkProp3D* vtkProp3D::CachedProp3D [protected]
 

Definition at line 245 of file vtkProp3D.h.


The documentation for this class was generated from the following file:
Generated on Wed Nov 21 12:58:01 2001 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001