VTK  9.2.6
vtkProp3D Class Referenceabstract

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

#include <vtkProp3D.h>

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

Public Types

typedef vtkProp Superclass
Public Types inherited from vtkProp
typedef vtkObject Superclass

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
vtkProp3DNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
void ShallowCopy (vtkProp *prop) override
 Shallow copy of this vtkProp3D.
virtual void SetPosition (double pos[3])
virtual double * GetPosition ()
virtual void GetPosition (double data[3])
void AddPosition (double deltaPosition[3])
void AddPosition (double deltaX, double deltaY, double deltaZ)
void SetScale (double s)
 Method to set the scale isotropically.
virtual void SetPropertiesFromModelToWorldMatrix (vtkMatrix4x4 *modelToWorld)
 Set the position, scale, orientation from a provided model to world matrix.
double * GetCenter ()
 Get the center of the bounding box in world coordinates.
double * GetXRange ()
 Get the Prop3D's x range in world coordinates.
double * GetYRange ()
 Get the Prop3D's y range in world coordinates.
double * GetZRange ()
 Get the Prop3D's z range in world coordinates.
double GetLength ()
 Get the length of the diagonal of the bounding box.
void RotateX (double)
 Rotate the Prop3D in degrees about the X axis using the right hand rule.
void RotateY (double)
 Rotate the Prop3D in degrees about the Y axis using the right hand rule.
void RotateZ (double)
 Rotate the Prop3D in degrees about the Z axis using the right hand rule.
void RotateWXYZ (double w, double x, double y, double z)
 Rotate the Prop3D in degrees about an arbitrary axis specified by the last three arguments.
void SetOrientation (double x, double y, double z)
 Sets the orientation of the Prop3D.
void SetOrientation (double orientation[3])
 Sets the orientation of the Prop3D.
double * GetOrientationWXYZ ()
 Returns the WXYZ orientation of the Prop3D.
void AddOrientation (double x, double y, double z)
 Add to the current orientation.
void AddOrientation (double orentation[3])
 Add to the current orientation.
void PokeMatrix (vtkMatrix4x4 *matrix) override
 This method modifies the vtkProp3D so that its transformation state is set to the matrix specified.
void InitPathTraversal () override
 Overload vtkProp's method for setting up assembly paths.
vtkMTimeType GetMTime () override
 Get the vtkProp3D's mtime.
vtkMTimeType GetUserTransformMatrixMTime ()
 Get the modified time of the user matrix or user transform.
virtual void SetPosition (double x, double y, double z)
 Set/Get/Add the position of the Prop3D in world coordinates.
virtual void SetOrigin (double x, double y, double z)
 Set/Get the origin of the Prop3D.
virtual void SetOrigin (const double pos[3])
 Set/Get the origin of the Prop3D.
virtual double * GetOrigin ()
 Set/Get the origin of the Prop3D.
virtual void GetOrigin (double data[3])
 Set/Get the origin of the Prop3D.
virtual void SetScale (double x, double y, double z)
 Set/Get the scale of the actor.
virtual void SetScale (double scale[3])
 Set/Get the scale of the actor.
virtual double * GetScale ()
 Set/Get the scale of the actor.
virtual void GetScale (double data[3])
 Set/Get the scale of the actor.
void SetUserTransform (vtkLinearTransform *transform)
 In addition to the instance variables such as position and orientation, you can add an additional transformation for your own use.
virtual vtkLinearTransformGetUserTransform ()
 In addition to the instance variables such as position and orientation, you can add an additional transformation for your own use.
void SetUserMatrix (vtkMatrix4x4 *matrix)
 The UserMatrix can be used in place of UserTransform.
vtkMatrix4x4GetUserMatrix ()
 The UserMatrix can be used in place of UserTransform.
virtual void GetMatrix (vtkMatrix4x4 *result)
 Return a reference to the Prop3D's 4x4 composite matrix.
virtual void GetMatrix (double result[16])
 Return a reference to the Prop3D's 4x4 composite matrix.
virtual void GetModelToWorldMatrix (vtkMatrix4x4 *result)
 Return a reference to the Prop3D's Model to World matrix.
void GetBounds (double bounds[6])
 Return a reference to the Prop3D's composite transform.
double * GetBounds () override=0
 Return a reference to the Prop3D's composite transform.
double * GetOrientation ()
 Returns the orientation of the Prop3D as s vector of X,Y and Z rotation.
void GetOrientation (double orentation[3])
 Returns the orientation of the Prop3D as s vector of X,Y and Z rotation.
virtual void ComputeMatrix ()
 Generate the matrix based on ivars.
vtkMatrix4x4GetMatrix () override
 Get a pointer to an internal vtkMatrix4x4.
virtual int GetIsIdentity ()
 Is the matrix for this actor identity.
void SetCoordinateSystemRenderer (vtkRenderer *ren)
 Specify the Renderer that the prop3d is relative to when the coordinate system is set to PHYSICAL or DEVICE.
vtkRendererGetCoordinateSystemRenderer ()
 Specify the Renderer that the prop3d is relative to when the coordinate system is set to PHYSICAL or DEVICE.
virtual void SetCoordinateSystemDevice (int)
 Specify the device to be used when the coordinate system is set to DEVICE.
virtual int GetCoordinateSystemDevice ()
 Specify the device to be used when the coordinate system is set to DEVICE.
Public Member Functions inherited from vtkProp
vtkPropNewInstance () const
virtual void GetActors (vtkPropCollection *)
 For some exporters and other other operations we must be able to collect all the actors or volumes.
virtual void GetActors2D (vtkPropCollection *)
virtual void GetVolumes (vtkPropCollection *)
virtual void Pick ()
 Method fires PickEvent if the prop is picked.
virtual vtkMTimeType GetRedrawMTime ()
 Return the mtime of anything that would cause the rendered image to appear differently.
virtual void PokeMatrix (vtkMatrix4x4 *vtkNotUsed(matrix))
 These methods are used by subclasses to place a matrix (if any) in the prop prior to rendering.
virtual bool HasKeys (vtkInformation *requiredKeys)
 Tells if the prop has all the required keys.
virtual int RenderOpaqueGeometry (vtkViewport *)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS All concrete subclasses must be able to render themselves.
virtual int RenderTranslucentPolygonalGeometry (vtkViewport *)
virtual int RenderVolumetricGeometry (vtkViewport *)
virtual int RenderOverlay (vtkViewport *)
virtual bool RenderFilteredOpaqueGeometry (vtkViewport *v, vtkInformation *requiredKeys)
 Render the opaque geometry only if the prop has all the requiredKeys.
virtual bool RenderFilteredTranslucentPolygonalGeometry (vtkViewport *v, vtkInformation *requiredKeys)
 Render the translucent polygonal geometry only if the prop has all the requiredKeys.
virtual bool RenderFilteredVolumetricGeometry (vtkViewport *v, vtkInformation *requiredKeys)
 Render the volumetric geometry only if the prop has all the requiredKeys.
virtual bool RenderFilteredOverlay (vtkViewport *v, vtkInformation *requiredKeys)
 Render in the overlay of the viewport only if the prop has all the requiredKeys.
virtual vtkTypeBool HasTranslucentPolygonalGeometry ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS Does this prop have some translucent polygonal geometry?
virtual vtkTypeBool HasOpaqueGeometry ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS Does this prop have some opaque geometry?
virtual void ReleaseGraphicsResources (vtkWindow *)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being consumed by this actor.
virtual double GetEstimatedRenderTime (vtkViewport *)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS The EstimatedRenderTime may be used to select between different props, for example in LODProp it is used to select the level-of-detail.
virtual double GetEstimatedRenderTime ()
virtual void SetEstimatedRenderTime (double t)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS This method is used by, for example, the vtkLODProp3D in order to initialize the estimated render time at start-up to some user defined value.
virtual void RestoreEstimatedRenderTime ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS When the EstimatedRenderTime is first set to 0.0 (in the SetAllocatedRenderTime method) the old value is saved.
virtual void AddEstimatedRenderTime (double t, vtkViewport *vtkNotUsed(vp))
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS This method is intended to allow the renderer to add to the EstimatedRenderTime in props that require information that the renderer has in order to do this.
void SetRenderTimeMultiplier (double t)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Get/Set the multiplier for the render time.
virtual double GetRenderTimeMultiplier ()
virtual void BuildPaths (vtkAssemblyPaths *paths, vtkAssemblyPath *path)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Used to construct assembly paths and perform part traversal.
virtual bool GetSupportsSelection ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Used by vtkHardwareSelector to determine if the prop supports hardware selection.
virtual void ProcessSelectorPixelBuffers (vtkHardwareSelector *, std::vector< unsigned int > &)
 allows a prop to update a selections color buffers
virtual void SetVisibility (vtkTypeBool)
 Set/Get visibility of this vtkProp.
virtual vtkTypeBool GetVisibility ()
 Set/Get visibility of this vtkProp.
virtual void VisibilityOn ()
 Set/Get visibility of this vtkProp.
virtual void VisibilityOff ()
 Set/Get visibility of this vtkProp.
virtual void SetPickable (vtkTypeBool)
 Set/Get the pickable instance variable.
virtual vtkTypeBool GetPickable ()
 Set/Get the pickable instance variable.
virtual void PickableOn ()
 Set/Get the pickable instance variable.
virtual void PickableOff ()
 Set/Get the pickable instance variable.
virtual void SetDragable (vtkTypeBool)
 Set/Get the value of the dragable instance variable.
virtual vtkTypeBool GetDragable ()
 Set/Get the value of the dragable instance variable.
virtual void DragableOn ()
 Set/Get the value of the dragable instance variable.
virtual void DragableOff ()
 Set/Get the value of the dragable instance variable.
virtual void SetUseBounds (bool)
 In case the Visibility flag is true, tell if the bounds of this prop should be taken into account or ignored during the computation of other bounding boxes, like in vtkRenderer::ResetCamera().
virtual bool GetUseBounds ()
 In case the Visibility flag is true, tell if the bounds of this prop should be taken into account or ignored during the computation of other bounding boxes, like in vtkRenderer::ResetCamera().
virtual void UseBoundsOn ()
 In case the Visibility flag is true, tell if the bounds of this prop should be taken into account or ignored during the computation of other bounding boxes, like in vtkRenderer::ResetCamera().
virtual void UseBoundsOff ()
 In case the Visibility flag is true, tell if the bounds of this prop should be taken into account or ignored during the computation of other bounding boxes, like in vtkRenderer::ResetCamera().
virtual vtkAssemblyPathGetNextPath ()
 vtkProp and its subclasses can be picked by subclasses of vtkAbstractPicker (e.g., vtkPropPicker).
virtual int GetNumberOfPaths ()
 vtkProp and its subclasses can be picked by subclasses of vtkAbstractPicker (e.g., vtkPropPicker).
virtual vtkInformationGetPropertyKeys ()
 Set/Get property keys.
virtual void SetPropertyKeys (vtkInformation *keys)
 Set/Get property keys.
virtual void SetAllocatedRenderTime (double t, vtkViewport *vtkNotUsed(v))
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS The renderer may use the allocated rendering time to determine how to render this actor.
virtual double GetAllocatedRenderTime ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS.
virtual int GetNumberOfConsumers ()
 Get the number of consumers.
void AddConsumer (vtkObject *c)
 Add or remove or get or check a consumer,.
void RemoveConsumer (vtkObject *c)
 Add or remove or get or check a consumer,.
vtkObjectGetConsumer (int i)
 Add or remove or get or check a consumer,.
int IsConsumer (vtkObject *c)
 Add or remove or get or check a consumer,.
virtual void SetShaderProperty (vtkShaderProperty *property)
 Set/Get the shader property.
virtual vtkShaderPropertyGetShaderProperty ()
 Set/Get the shader property.
virtual bool IsRenderingTranslucentPolygonalGeometry ()
Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
virtual void DebugOn ()
 Turn debugging output on.
virtual void DebugOff ()
 Turn debugging output off.
bool GetDebug ()
 Get the value of the debug flag.
void SetDebug (bool debugFlag)
 Set the value of the debug flag.
virtual void Modified ()
 Update the modification time for this object.
void RemoveObserver (unsigned long tag)
void RemoveObservers (unsigned long event)
void RemoveObservers (const char *event)
void RemoveAllObservers ()
vtkTypeBool HasObserver (unsigned long event)
vtkTypeBool HasObserver (const char *event)
int InvokeEvent (unsigned long event)
int InvokeEvent (const char *event)
std::string GetObjectDescription () const override
 The object description printed in messages and PrintSelf output.
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
template<class U, class T>
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events.
template<class U, class T>
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events.
template<class U, class T>
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method.
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
int InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
virtual void SetObjectName (const std::string &objectName)
 Set/get the name of this object for reporting purposes.
virtual std::string GetObjectName () const
 Set/get the name of this object for reporting purposes.
Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string.
virtual vtkIdType GetNumberOfGenerationsFromBase (const char *name)
 Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
virtual void Delete ()
 Delete a VTK object.
virtual void FastDelete ()
 Delete a reference to this object.
void InitializeObjectBase ()
void Print (ostream &os)
 Print an object to an ostream.
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object).
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object).
int GetReferenceCount ()
 Return the current reference count of this object.
void SetReferenceCount (int)
 Sets the reference count.
bool GetIsInMemkind () const
 A local state flag that remembers whether this object lives in the normal or extended memory space.
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
virtual bool UsesGarbageCollector () const
 Indicate whether the class uses vtkGarbageCollector or not.

Static Public Member Functions

static vtkTypeBool IsTypeOf (const char *type)
static vtkProp3DSafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkProp
static vtkTypeBool IsTypeOf (const char *type)
static vtkPropSafeDownCast (vtkObjectBase *o)
static vtkInformationIntegerKeyGeneralTextureUnit ()
 Optional Key Indicating the texture unit for general texture mapping Old OpenGL was a state machine where you would push or pop items.
static vtkInformationDoubleVectorKeyGeneralTextureTransform ()
 Optional Key Indicating the texture transform for general texture mapping Old OpenGL was a state machine where you would push or pop items.
Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
static void BreakOnError ()
 This method is called when vtkErrorMacro executes.
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
static int GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class.
static vtkIdType GetNumberOfGenerationsFromBaseType (const char *name)
 Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
static void SetMemkindDirectory (const char *directoryname)
 The name of a directory, ideally mounted -o dax, to memory map an extended memory space within.
static bool GetUsingMemkind ()
 A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space.

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkProp3D ()
 ~vtkProp3D () override
Protected Member Functions inherited from vtkProp
 vtkProp ()
 ~vtkProp () override
Protected Member Functions inherited from vtkObject
 vtkObject ()
 ~vtkObject () override
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events.
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events.
Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
virtual ~vtkObjectBase ()
virtual void ReportReferences (vtkGarbageCollector *)
 vtkObjectBase (const vtkObjectBase &)
void operator= (const vtkObjectBase &)

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
int CoordinateSystemDevice
CoordinateSystems CoordinateSystem = WORLD
vtkWeakPointer< vtkRendererCoordinateSystemRenderer
vtkNew< vtkMatrix4x4TempMatrix4x4
Protected Attributes inherited from vtkProp
vtkTypeBool Visibility
vtkTypeBool Pickable
vtkTypeBool Dragable
bool UseBounds
double AllocatedRenderTime
double EstimatedRenderTime
double SavedEstimatedRenderTime
double RenderTimeMultiplier
int NumberOfConsumers
vtkObject ** Consumers
vtkAssemblyPathsPaths
vtkInformationPropertyKeys
vtkShaderPropertyShaderProperty
Protected Attributes inherited from vtkObject
bool Debug
vtkTimeStamp MTime
vtkSubjectHelper * SubjectHelper
std::string ObjectName
Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
vtkWeakPointerBase ** WeakPointers
enum  CoordinateSystems { WORLD = 0 , PHYSICAL = 1 , DEVICE = 2 }
 Specify the coordinate system that this prop is relative to. More...
void SetCoordinateSystemToWorld ()
 Specify the coordinate system that this prop is relative to.
void SetCoordinateSystemToPhysical ()
 Specify the coordinate system that this prop is relative to.
void SetCoordinateSystemToDevice ()
 Specify the coordinate system that this prop is relative to.
void SetCoordinateSystem (CoordinateSystems val)
 Specify the coordinate system that this prop is relative to.
virtual CoordinateSystems GetCoordinateSystem ()
 Specify the coordinate system that this prop is relative to.
const char * GetCoordinateSystemAsString ()
 Specify the coordinate system that this prop is relative to.

Additional Inherited Members

Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction GetCurrentMallocFunction ()
static vtkReallocingFunction GetCurrentReallocFunction ()
static vtkFreeingFunction GetCurrentFreeFunction ()
static vtkFreeingFunction GetAlternateFreeFunction ()

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
Tests:
vtkProp3D (Tests)

Definition at line 49 of file vtkProp3D.h.

Member Typedef Documentation

◆ Superclass

Definition at line 52 of file vtkProp3D.h.

Member Enumeration Documentation

◆ CoordinateSystems

Specify the coordinate system that this prop is relative to.

This defaults to WORLD but can be set to PHYSICAL which for VirtualReality is the physical space (aka room) the viewer is in (in meters). When set to device the CoordinateSystemDevice is used to place the prop relative to that device (such as a HMD or controller)

Enumerator
WORLD 
PHYSICAL 
DEVICE 

Definition at line 362 of file vtkProp3D.h.

Constructor & Destructor Documentation

◆ vtkProp3D()

vtkProp3D::vtkProp3D ( )
protected

◆ ~vtkProp3D()

vtkProp3D::~vtkProp3D ( )
overrideprotected

Member Function Documentation

◆ IsTypeOf()

vtkTypeBool vtkProp3D::IsTypeOf ( const char * type)
static

◆ IsA()

◆ SafeDownCast()

vtkProp3D * vtkProp3D::SafeDownCast ( vtkObjectBase * o)
static

◆ NewInstanceInternal()

◆ NewInstance()

vtkProp3D * vtkProp3D::NewInstance ( ) const

◆ PrintSelf()

void vtkProp3D::PrintSelf ( ostream & os,
vtkIndent indent )
overridevirtual

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 vtkProp3DAxisFollower, vtkProp3DFollower, vtkQuadricLODActor, vtkResliceCursorActor, vtkSkybox, vtkTextActor3D, vtkVolume, and vtkVRFollower.

◆ ShallowCopy()

void vtkProp3D::ShallowCopy ( vtkProp * prop)
overridevirtual

Shallow copy of this vtkProp3D.

Reimplemented from vtkProp.

Reimplemented in vtkProp3DAxisFollower, vtkProp3DFollower, vtkQuadricLODActor, vtkTextActor3D, and vtkVolume.

◆ SetPosition() [1/2]

virtual void vtkProp3D::SetPosition ( double x,
double y,
double z )
inlinevirtual

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

Definition at line 64 of file vtkProp3D.h.

◆ SetPosition() [2/2]

virtual void vtkProp3D::SetPosition ( double pos[3])
inlinevirtual

Definition at line 79 of file vtkProp3D.h.

◆ GetPosition() [1/2]

virtual double * vtkProp3D::GetPosition ( )
virtual

◆ GetPosition() [2/2]

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

◆ AddPosition() [1/2]

void vtkProp3D::AddPosition ( double deltaPosition[3])

◆ AddPosition() [2/2]

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

◆ SetOrigin() [1/2]

virtual void vtkProp3D::SetOrigin ( double x,
double y,
double z )
inlinevirtual

Set/Get the origin of the Prop3D.

This is the point about which all rotations take place.

Definition at line 89 of file vtkProp3D.h.

◆ SetOrigin() [2/2]

virtual void vtkProp3D::SetOrigin ( const double pos[3])
inlinevirtual

Set/Get the origin of the Prop3D.

This is the point about which all rotations take place.

Definition at line 102 of file vtkProp3D.h.

◆ GetOrigin() [1/2]

virtual double * vtkProp3D::GetOrigin ( )
virtual

Set/Get the origin of the Prop3D.

This is the point about which all rotations take place.

◆ GetOrigin() [2/2]

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.

◆ SetScale() [1/3]

virtual void vtkProp3D::SetScale ( double x,
double y,
double z )
inlinevirtual

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 111 of file vtkProp3D.h.

◆ SetScale() [2/3]

virtual void vtkProp3D::SetScale ( double scale[3])
inlinevirtual

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.

◆ GetScale() [1/2]

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.

◆ GetScale() [2/2]

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.

◆ SetScale() [3/3]

void vtkProp3D::SetScale ( double s)
inline

Method to set the scale isotropically.

Definition at line 131 of file vtkProp3D.h.

◆ SetUserTransform()

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.

◆ GetUserTransform()

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.

◆ SetUserMatrix()

void vtkProp3D::SetUserMatrix ( vtkMatrix4x4 * matrix)

The UserMatrix can be used in place of UserTransform.

◆ GetUserMatrix()

vtkMatrix4x4 * vtkProp3D::GetUserMatrix ( )

The UserMatrix can be used in place of UserTransform.

◆ GetMatrix() [1/3]

virtual void vtkProp3D::GetMatrix ( vtkMatrix4x4 * result)
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.

◆ GetMatrix() [2/3]

virtual void vtkProp3D::GetMatrix ( double result[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.

◆ GetModelToWorldMatrix()

virtual void vtkProp3D::GetModelToWorldMatrix ( vtkMatrix4x4 * result)
virtual

Return a reference to the Prop3D's Model to World matrix.

This method takes into account the coordinate system the prop is in.

◆ SetPropertiesFromModelToWorldMatrix()

virtual void vtkProp3D::SetPropertiesFromModelToWorldMatrix ( vtkMatrix4x4 * modelToWorld)
virtual

Set the position, scale, orientation from a provided model to world matrix.

If the prop is in a coordinate system other than world, then ren must be non-null

◆ GetBounds() [1/2]

void vtkProp3D::GetBounds ( double bounds[6])

Return a reference to the Prop3D's composite transform.

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

◆ GetBounds() [2/2]

double * vtkProp3D::GetBounds ( )
overridepure virtual

◆ GetCenter()

double * vtkProp3D::GetCenter ( )

Get the center of the bounding box in world coordinates.

◆ GetXRange()

double * vtkProp3D::GetXRange ( )

Get the Prop3D's x range in world coordinates.

◆ GetYRange()

double * vtkProp3D::GetYRange ( )

Get the Prop3D's y range in world coordinates.

◆ GetZRange()

double * vtkProp3D::GetZRange ( )

Get the Prop3D's z range in world coordinates.

◆ GetLength()

double vtkProp3D::GetLength ( )

Get the length of the diagonal of the bounding box.

◆ RotateX()

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.

◆ RotateY()

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.

◆ RotateZ()

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.

◆ RotateWXYZ()

void vtkProp3D::RotateWXYZ ( double w,
double x,
double y,
double z )

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.

◆ SetOrientation() [1/2]

void vtkProp3D::SetOrientation ( double x,
double y,
double z )

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.

◆ SetOrientation() [2/2]

void vtkProp3D::SetOrientation ( double orientation[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.

◆ GetOrientation() [1/2]

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.

◆ GetOrientation() [2/2]

void vtkProp3D::GetOrientation ( double orentation[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.

◆ GetOrientationWXYZ()

double * vtkProp3D::GetOrientationWXYZ ( )

Returns the WXYZ orientation of the Prop3D.

◆ AddOrientation() [1/2]

void vtkProp3D::AddOrientation ( double x,
double y,
double z )

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.

◆ AddOrientation() [2/2]

void vtkProp3D::AddOrientation ( double orentation[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.

◆ PokeMatrix()

void vtkProp3D::PokeMatrix ( vtkMatrix4x4 * matrix)
override

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.

◆ InitPathTraversal()

void vtkProp3D::InitPathTraversal ( )
overridevirtual

Overload vtkProp's method for setting up assembly paths.

See the documentation for vtkProp.

Reimplemented from vtkProp.

Reimplemented in vtkProp3DFollower.

◆ GetMTime()

vtkMTimeType vtkProp3D::GetMTime ( )
overridevirtual

Get the vtkProp3D's mtime.

Reimplemented from vtkObject.

Reimplemented in vtkResliceCursorActor, and vtkVolume.

◆ GetUserTransformMatrixMTime()

vtkMTimeType vtkProp3D::GetUserTransformMatrixMTime ( )

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

◆ ComputeMatrix()

virtual void vtkProp3D::ComputeMatrix ( )
virtual

Generate the matrix based on ivars.

Reimplemented in vtkAxisFollower, vtkFollower, vtkMultiVolume, vtkProp3DAxisFollower, vtkProp3DFollower, and vtkVRFollower.

◆ GetMatrix() [3/3]

vtkMatrix4x4 * vtkProp3D::GetMatrix ( )
inlineoverridevirtual

Get a pointer to an internal vtkMatrix4x4.

that represents

Reimplemented from vtkProp.

Definition at line 339 of file vtkProp3D.h.

◆ GetIsIdentity()

virtual int vtkProp3D::GetIsIdentity ( )
virtual

Is the matrix for this actor identity.

◆ SetCoordinateSystemToWorld()

void vtkProp3D::SetCoordinateSystemToWorld ( )
inline

Specify the coordinate system that this prop is relative to.

This defaults to WORLD but can be set to PHYSICAL which for VirtualReality is the physical space (aka room) the viewer is in (in meters). When set to device the CoordinateSystemDevice is used to place the prop relative to that device (such as a HMD or controller)

Definition at line 368 of file vtkProp3D.h.

◆ SetCoordinateSystemToPhysical()

void vtkProp3D::SetCoordinateSystemToPhysical ( )
inline

Specify the coordinate system that this prop is relative to.

This defaults to WORLD but can be set to PHYSICAL which for VirtualReality is the physical space (aka room) the viewer is in (in meters). When set to device the CoordinateSystemDevice is used to place the prop relative to that device (such as a HMD or controller)

Definition at line 369 of file vtkProp3D.h.

◆ SetCoordinateSystemToDevice()

void vtkProp3D::SetCoordinateSystemToDevice ( )
inline

Specify the coordinate system that this prop is relative to.

This defaults to WORLD but can be set to PHYSICAL which for VirtualReality is the physical space (aka room) the viewer is in (in meters). When set to device the CoordinateSystemDevice is used to place the prop relative to that device (such as a HMD or controller)

Definition at line 370 of file vtkProp3D.h.

◆ SetCoordinateSystem()

void vtkProp3D::SetCoordinateSystem ( CoordinateSystems val)

Specify the coordinate system that this prop is relative to.

This defaults to WORLD but can be set to PHYSICAL which for VirtualReality is the physical space (aka room) the viewer is in (in meters). When set to device the CoordinateSystemDevice is used to place the prop relative to that device (such as a HMD or controller)

◆ GetCoordinateSystem()

virtual CoordinateSystems vtkProp3D::GetCoordinateSystem ( )
virtual

Specify the coordinate system that this prop is relative to.

This defaults to WORLD but can be set to PHYSICAL which for VirtualReality is the physical space (aka room) the viewer is in (in meters). When set to device the CoordinateSystemDevice is used to place the prop relative to that device (such as a HMD or controller)

◆ GetCoordinateSystemAsString()

const char * vtkProp3D::GetCoordinateSystemAsString ( )

Specify the coordinate system that this prop is relative to.

This defaults to WORLD but can be set to PHYSICAL which for VirtualReality is the physical space (aka room) the viewer is in (in meters). When set to device the CoordinateSystemDevice is used to place the prop relative to that device (such as a HMD or controller)

◆ SetCoordinateSystemRenderer()

void vtkProp3D::SetCoordinateSystemRenderer ( vtkRenderer * ren)

Specify the Renderer that the prop3d is relative to when the coordinate system is set to PHYSICAL or DEVICE.

◆ GetCoordinateSystemRenderer()

vtkRenderer * vtkProp3D::GetCoordinateSystemRenderer ( )

Specify the Renderer that the prop3d is relative to when the coordinate system is set to PHYSICAL or DEVICE.

◆ SetCoordinateSystemDevice()

virtual void vtkProp3D::SetCoordinateSystemDevice ( int )
virtual

Specify the device to be used when the coordinate system is set to DEVICE.

Defaults to vtkEventDataDevice::HeadMountedDisplay.

◆ GetCoordinateSystemDevice()

virtual int vtkProp3D::GetCoordinateSystemDevice ( )
virtual

Specify the device to be used when the coordinate system is set to DEVICE.

Defaults to vtkEventDataDevice::HeadMountedDisplay.

Member Data Documentation

◆ UserTransform

vtkLinearTransform* vtkProp3D::UserTransform
protected

Definition at line 398 of file vtkProp3D.h.

◆ UserMatrix

vtkMatrix4x4* vtkProp3D::UserMatrix
protected

Definition at line 399 of file vtkProp3D.h.

◆ Matrix

vtkMatrix4x4* vtkProp3D::Matrix
protected

Definition at line 400 of file vtkProp3D.h.

◆ MatrixMTime

vtkTimeStamp vtkProp3D::MatrixMTime
protected

Definition at line 401 of file vtkProp3D.h.

◆ Origin

double vtkProp3D::Origin[3]
protected

Definition at line 402 of file vtkProp3D.h.

◆ Position

double vtkProp3D::Position[3]
protected

Definition at line 403 of file vtkProp3D.h.

◆ Orientation

double vtkProp3D::Orientation[3]
protected

Definition at line 404 of file vtkProp3D.h.

◆ Scale

double vtkProp3D::Scale[3]
protected

Definition at line 405 of file vtkProp3D.h.

◆ Center

double vtkProp3D::Center[3]
protected

Definition at line 406 of file vtkProp3D.h.

◆ Transform

vtkTransform* vtkProp3D::Transform
protected

Definition at line 407 of file vtkProp3D.h.

◆ Bounds

double vtkProp3D::Bounds[6]
protected

Definition at line 408 of file vtkProp3D.h.

◆ CachedProp3D

vtkProp3D* vtkProp3D::CachedProp3D
protected

Definition at line 409 of file vtkProp3D.h.

◆ IsIdentity

int vtkProp3D::IsIdentity
protected

Definition at line 410 of file vtkProp3D.h.

◆ CoordinateSystemDevice

int vtkProp3D::CoordinateSystemDevice
protected

Definition at line 412 of file vtkProp3D.h.

◆ CoordinateSystem

CoordinateSystems vtkProp3D::CoordinateSystem = WORLD
protected

Definition at line 413 of file vtkProp3D.h.

◆ CoordinateSystemRenderer

vtkWeakPointer<vtkRenderer> vtkProp3D::CoordinateSystemRenderer
protected

Definition at line 414 of file vtkProp3D.h.

◆ TempMatrix4x4

vtkNew<vtkMatrix4x4> vtkProp3D::TempMatrix4x4
protected

Definition at line 415 of file vtkProp3D.h.


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