Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
vtkProp3D Class Reference
#include <vtkProp3D.h>
Inheritance diagram for vtkProp3D:
[legend]Collaboration diagram for vtkProp3D:
[legend]List of all members.
Detailed Description
represents an 3D object for placement in a rendered scene
- Date:
-
2003/01/21 20:34:38
- Revision:
-
1.36
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:
-
- CVS contributions (if > 5%):
-
- Martin, Ken (51%)
- Schroeder, Will (21%)
- Gobbi, David (12%)
- Avila, Lisa (5%)
- CVS logs (CVSweb):
-
- .
cxx
(/Rendering/vtkProp3D.cxx)
- .
h
(/Rendering/vtkProp3D.h)
Definition at line 58 of file vtkProp3D.h.
|
Public Types |
typedef vtkProp | Superclass |
Public Methods |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | ShallowCopy (vtkProp *prop) |
void | SetScale (float s) |
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 * | GetOrientationWXYZ () |
void | AddOrientation (float, float, float) |
void | AddOrientation (float a[3]) |
void | PokeMatrix (vtkMatrix4x4 *matrix) |
void | InitPathTraversal () |
unsigned long int | GetMTime () |
unsigned long int | GetUserTransformMatrixMTime () |
virtual void | ComputeMatrix () |
|
virtual void | SetPosition (float _arg1, float _arg2, float _arg3) |
virtual void | SetPosition (float _arg[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 _arg1, float _arg2, float _arg3) |
virtual void | SetOrigin (float _arg[3]) |
virtual float * | GetOrigin () |
virtual void | GetOrigin (float data[3]) |
|
virtual void | SetScale (float _arg1, float _arg2, float _arg3) |
virtual void | SetScale (float _arg[3]) |
virtual float * | GetScale () |
virtual void | GetScale (float data[3]) |
|
void | SetUserTransform (vtkLinearTransform *transform) |
virtual vtkLinearTransform * | GetUserTransform () |
|
void | SetUserMatrix (vtkMatrix4x4 *matrix) |
vtkMatrix4x4 * | GetUserMatrix () |
|
virtual void | GetMatrix (vtkMatrix4x4 *m) |
virtual void | GetMatrix (double m[16]) |
|
void | GetBounds (float bounds[6]) |
virtual float * | GetBounds ()=0 |
|
float * | GetOrientation () |
void | GetOrientation (float o[3]) |
|
vtkMatrix4x4 * | GetMatrix () |
|
virtual int | GetIsIdentity () |
Static Public Methods |
int | IsTypeOf (const char *type) |
vtkProp3D * | SafeDownCast (vtkObject *o) |
Protected Methods |
| vtkProp3D () |
| ~vtkProp3D () |
Protected Attributes |
vtkLinearTransform * | UserTransform |
vtkMatrix4x4 * | UserMatrix |
vtkMatrix4x4 * | Matrix |
vtkTimeStamp | MatrixMTime |
float | Origin [3] |
float | Position [3] |
float | Orientation [3] |
float | Scale [3] |
float | Center [3] |
vtkTransform * | Transform |
float | Bounds [6] |
vtkProp3D * | CachedProp3D |
int | IsIdentity |
Member Typedef Documentation
typedef vtkProp vtkProp3D::Superclass
|
|
Constructor & Destructor Documentation
vtkProp3D::vtkProp3D |
( |
|
) |
[protected] |
|
vtkProp3D::~vtkProp3D |
( |
|
) |
[protected] |
|
Member Function Documentation
virtual const char* vtkProp3D::GetClassName |
( |
|
) |
[virtual] |
|
int vtkProp3D::IsTypeOf |
( |
const char * |
type |
) |
[static] |
|
virtual int vtkProp3D::IsA |
( |
const char * |
type |
) |
[virtual] |
|
vtkProp3D* vtkProp3D::SafeDownCast |
( |
vtkObject * |
o |
) |
[static] |
|
void vtkProp3D::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
[virtual] |
|
void vtkProp3D::ShallowCopy |
( |
vtkProp * |
prop |
) |
[virtual] |
|
virtual void vtkProp3D::SetPosition |
( |
float |
_arg1, |
|
|
float |
_arg2, |
|
|
float |
_arg3 |
|
) |
[inline, virtual] |
|
virtual void vtkProp3D::SetPosition |
( |
float |
_arg[3] |
) |
[inline, virtual] |
|
|
Set/Get/Add the position of the Prop3D in world coordinates.
Definition at line 85 of file vtkProp3D.h. |
virtual float* vtkProp3D::GetPosition |
( |
|
) |
[virtual] |
|
|
Set/Get/Add the position of the Prop3D in world coordinates. |
virtual void vtkProp3D::GetPosition |
( |
float |
data[3] |
) |
[virtual] |
|
|
Set/Get/Add the position of the Prop3D in world coordinates. |
void vtkProp3D::AddPosition |
( |
float |
deltaPosition[3] |
) |
|
|
|
Set/Get/Add the position of the Prop3D in world coordinates. |
void vtkProp3D::AddPosition |
( |
float |
deltaX, |
|
|
float |
deltaY, |
|
|
float |
deltaZ |
|
) |
|
|
|
Set/Get/Add the position of the Prop3D in world coordinates. |
virtual void vtkProp3D::SetOrigin |
( |
float |
_arg1, |
|
|
float |
_arg2, |
|
|
float |
_arg3 |
|
) |
[inline, virtual] |
|
virtual void vtkProp3D::SetOrigin |
( |
float |
_arg[3] |
) |
[inline, virtual] |
|
|
Set/Get the origin of the Prop3D. This is the point about which all rotations take place.
Definition at line 113 of file vtkProp3D.h. |
virtual float* vtkProp3D::GetOrigin |
( |
|
) |
[virtual] |
|
|
Set/Get the origin of the Prop3D. This is the point about which all rotations take place. |
virtual void vtkProp3D::GetOrigin |
( |
float |
data[3] |
) |
[virtual] |
|
|
Set/Get the origin of the Prop3D. This is the point about which all rotations take place. |
virtual void vtkProp3D::SetScale |
( |
float |
_arg1, |
|
|
float |
_arg2, |
|
|
float |
_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 124 of file vtkProp3D.h.
References vtkObject::Modified(). |
virtual void vtkProp3D::SetScale |
( |
float |
_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 140 of file vtkProp3D.h. |
virtual float* 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 |
( |
float |
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 |
( |
float |
s |
) |
[inline] |
|
|
Method to set the scale isotropically
Definition at line 148 of file vtkProp3D.h. |
|
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. |
|
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. |
|
The UserMatrix can be used in place of UserTransform. |
|
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 |
( |
float |
bounds[6] |
) |
|
|
virtual float* vtkProp3D::GetBounds |
( |
|
) |
[pure virtual] |
|
|
Get the bounds for this Prop3D as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
Reimplemented from vtkProp.
Implemented 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] |
) |
|
|
|
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. |
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. |
|
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] |
|
unsigned long int vtkProp3D::GetMTime |
( |
|
) |
[virtual] |
|
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 |
virtual int vtkProp3D::GetIsIdentity |
( |
|
) |
[virtual] |
|
|
Is the matrix for this actor identity |
Member Data Documentation
float vtkProp3D::Origin[3] [protected]
|
|
float vtkProp3D::Position[3] [protected]
|
|
float vtkProp3D::Orientation[3] [protected]
|
|
float vtkProp3D::Scale[3] [protected]
|
|
float vtkProp3D::Center[3] [protected]
|
|
float vtkProp3D::Bounds[6] [protected]
|
|
vtkProp3D* vtkProp3D::CachedProp3D [protected]
|
|
int vtkProp3D::IsIdentity [protected]
|
|
The documentation for this class was generated from the following file: