Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkProp3D Class Reference

#include <vtkProp3D.h>

Inheritance diagram for vtkProp3D:

Inheritance graph
[legend]
Collaboration diagram for vtkProp3D:

Collaboration graph
[legend]
List of all members.

Detailed Description

represents an 3D object for placement in a rendered scene

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
Created by:
  • Martin, Ken
CVS contributions (if > 5%):
  • Martin, Ken (55%)
  • Schroeder, Will (19%)
  • Gobbi, David (11%)
CVS logs (CVSweb):
  • .h (/Rendering/vtkProp3D.h)
  • .cxx (/Rendering/vtkProp3D.cxx)

Definition at line 53 of file vtkProp3D.h.

Public Types

typedef vtkProp Superclass

Public Member Functions

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

Static Public Member Functions

int IsTypeOf (const char *type)
vtkProp3DSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkProp3D ()
 ~vtkProp3D ()

Protected Attributes

vtkLinearTransformUserTransform
vtkMatrix4x4UserMatrix
vtkMatrix4x4Matrix
vtkTimeStamp MatrixMTime
double Origin [3]
double Position [3]
double Orientation [3]
double Scale [3]
double Center [3]
vtkTransformTransform
double Bounds [6]
vtkProp3DCachedProp3D
int IsIdentity


Member Typedef Documentation

typedef vtkProp vtkProp3D::Superclass
 

Reimplemented from vtkProp.

Reimplemented in vtkAnnotatedCubeActor, vtkAxesActor, vtkActor, vtkAssembly, vtkFollower, vtkImageActor, vtkLODActor, vtkLODProp3D, vtkMesaActor, vtkMesaImageActor, vtkOpenGLActor, vtkOpenGLImageActor, vtkTextActor3D, and vtkVolume.

Definition at line 56 of file vtkProp3D.h.


Constructor & Destructor Documentation

vtkProp3D::vtkProp3D  )  [protected]
 

vtkProp3D::~vtkProp3D  )  [protected]
 


Member Function Documentation

virtual const char* vtkProp3D::GetClassName  )  [virtual]
 

Reimplemented from vtkProp.

Reimplemented in vtkAnnotatedCubeActor, vtkAxesActor, vtkActor, vtkAssembly, vtkFollower, vtkImageActor, vtkLODActor, vtkLODProp3D, vtkMesaActor, vtkMesaImageActor, vtkOpenGLActor, vtkOpenGLImageActor, vtkTextActor3D, 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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkProp.

Reimplemented in vtkAnnotatedCubeActor, vtkAxesActor, vtkActor, vtkAssembly, vtkFollower, vtkImageActor, vtkLODActor, vtkLODProp3D, vtkMesaActor, vtkMesaImageActor, vtkOpenGLActor, vtkOpenGLImageActor, vtkTextActor3D, 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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkProp.

Reimplemented in vtkAnnotatedCubeActor, vtkAxesActor, vtkActor, vtkAssembly, vtkFollower, vtkImageActor, vtkLODActor, vtkLODProp3D, vtkMesaActor, vtkMesaImageActor, vtkOpenGLActor, vtkOpenGLImageActor, vtkTextActor3D, and vtkVolume.

vtkProp3D* vtkProp3D::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtkProp.

Reimplemented in vtkAnnotatedCubeActor, vtkAxesActor, vtkActor, vtkAssembly, vtkFollower, vtkImageActor, vtkLODActor, vtkLODProp3D, vtkMesaActor, vtkMesaImageActor, vtkOpenGLActor, vtkOpenGLImageActor, vtkTextActor3D, and vtkVolume.

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 vtkAnnotatedCubeActor, vtkAxesActor, vtkActor, vtkAssembly, vtkFollower, vtkImageActor, vtkLODActor, vtkLODProp3D, vtkMesaActor, vtkMesaImageActor, vtkOpenGLActor, vtkOpenGLImageActor, vtkTextActor3D, and vtkVolume.

void vtkProp3D::ShallowCopy vtkProp prop  )  [virtual]
 

Shallow copy of this vtkProp3D.

Reimplemented from vtkProp.

Reimplemented in vtkAnnotatedCubeActor, vtkAxesActor, vtkActor, vtkAssembly, vtkFollower, vtkLODActor, vtkLODProp3D, vtkTextActor3D, and vtkVolume.

virtual void vtkProp3D::SetPosition double  _arg1,
double  _arg2,
double  _arg3
[inline, virtual]
 

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

Definition at line 64 of file vtkProp3D.h.

References vtkObject::Modified().

virtual void vtkProp3D::SetPosition double  _arg[3]  )  [inline, virtual]
 

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

Definition at line 80 of file vtkProp3D.h.

virtual double* vtkProp3D::GetPosition  )  [virtual]
 

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

virtual void vtkProp3D::GetPosition double  data[3]  )  [virtual]
 

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

void vtkProp3D::AddPosition double  deltaPosition[3]  ) 
 

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

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

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

virtual void vtkProp3D::SetOrigin double  _arg1,
double  _arg2,
double  _arg3
[inline, virtual]
 

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

Definition at line 92 of file vtkProp3D.h.

References vtkObject::Modified().

virtual void vtkProp3D::SetOrigin double  _arg[3]  )  [inline, virtual]
 

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

Definition at line 108 of file vtkProp3D.h.

virtual double* vtkProp3D::GetOrigin  )  [virtual]
 

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

virtual void vtkProp3D::GetOrigin double  data[3]  )  [virtual]
 

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

virtual void vtkProp3D::SetScale double  _arg1,
double  _arg2,
double  _arg3
[inline, 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.

Definition at line 119 of file vtkProp3D.h.

References vtkObject::Modified().

virtual void vtkProp3D::SetScale double  _arg[3]  )  [inline, 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.

Definition at line 135 of file vtkProp3D.h.

virtual double* vtkProp3D::GetScale  )  [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::GetScale double  data[3]  )  [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.

void vtkProp3D::SetScale double  s  )  [inline]
 

Method to set the scale isotropically

Definition at line 143 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]
 

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.

void vtkProp3D::SetUserMatrix vtkMatrix4x4 matrix  ) 
 

The UserMatrix can be used in place of UserTransform.

vtkMatrix4x4* vtkProp3D::GetUserMatrix  ) 
 

The UserMatrix can be used in place of UserTransform.

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]
 

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.

void vtkProp3D::GetBounds double  bounds[6]  ) 
 

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

Reimplemented in vtkAnnotatedCubeActor, vtkAxesActor, vtkActor, vtkAssembly, vtkImageActor, vtkLODProp3D, and vtkVolume.

virtual double* vtkProp3D::GetBounds  )  [pure virtual]
 

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

Reimplemented from vtkProp.

Implemented in vtkAnnotatedCubeActor, vtkAxesActor, vtkActor, vtkAssembly, vtkImageActor, vtkLODProp3D, vtkTextActor3D, and vtkVolume.

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

double* vtkProp3D::GetCenter  ) 
 

Get the center of the bounding box in world coordinates.

double* vtkProp3D::GetXRange  ) 
 

Get the Prop3D's x range in world coordinates.

double* vtkProp3D::GetYRange  ) 
 

Get the Prop3D's y range in world coordinates.

double* vtkProp3D::GetZRange  ) 
 

Get the Prop3D's z range in world coordinates.

double vtkProp3D::GetLength  ) 
 

Get the length of the diagonal of the bounding box.

void vtkProp3D::RotateX double   ) 
 

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 double   ) 
 

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 double   ) 
 

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 double  ,
double  ,
double  ,
double 
 

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 double  ,
double  ,
double 
 

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 double  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.

double* 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 double  o[3]  ) 
 

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.

double* vtkProp3D::GetOrientationWXYZ  ) 
 

Returns the WXYZ orientation of the Prop3D.

void vtkProp3D::AddOrientation double  ,
double  ,
double 
 

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 double  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.

unsigned long int vtkProp3D::GetMTime  )  [virtual]
 

Get the vtkProp3D's mtime

Reimplemented from vtkObject.

Reimplemented in vtkAnnotatedCubeActor, vtkAxesActor, vtkActor, vtkAssembly, and vtkVolume.

unsigned long int vtkProp3D::GetUserTransformMatrixMTime  ) 
 

Get the modified time of the user matrix or user transform.

virtual void vtkProp3D::ComputeMatrix  )  [virtual]
 

Generate the matrix based on ivars

vtkMatrix4x4* vtkProp3D::GetMatrix  )  [inline, virtual]
 

Get a pointer to an internal vtkMatrix4x4. that represents

Reimplemented from vtkProp.

Reimplemented in vtkFollower.

Definition at line 279 of file vtkProp3D.h.

Referenced by vtkFollower::GetMatrix().

virtual int vtkProp3D::GetIsIdentity  )  [virtual]
 

Is the matrix for this actor identity


Member Data Documentation

vtkLinearTransform* vtkProp3D::UserTransform [protected]
 

Definition at line 295 of file vtkProp3D.h.

vtkMatrix4x4* vtkProp3D::UserMatrix [protected]
 

Definition at line 296 of file vtkProp3D.h.

vtkMatrix4x4* vtkProp3D::Matrix [protected]
 

Definition at line 297 of file vtkProp3D.h.

vtkTimeStamp vtkProp3D::MatrixMTime [protected]
 

Definition at line 298 of file vtkProp3D.h.

double vtkProp3D::Origin[3] [protected]
 

Definition at line 299 of file vtkProp3D.h.

double vtkProp3D::Position[3] [protected]
 

Definition at line 300 of file vtkProp3D.h.

double vtkProp3D::Orientation[3] [protected]
 

Definition at line 301 of file vtkProp3D.h.

double vtkProp3D::Scale[3] [protected]
 

Definition at line 302 of file vtkProp3D.h.

double vtkProp3D::Center[3] [protected]
 

Definition at line 303 of file vtkProp3D.h.

vtkTransform* vtkProp3D::Transform [protected]
 

Reimplemented in vtkAnnotatedCubeActor.

Definition at line 304 of file vtkProp3D.h.

double vtkProp3D::Bounds[6] [protected]
 

Definition at line 305 of file vtkProp3D.h.

vtkProp3D* vtkProp3D::CachedProp3D [protected]
 

Definition at line 306 of file vtkProp3D.h.

int vtkProp3D::IsIdentity [protected]
 

Definition at line 307 of file vtkProp3D.h.


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