osg::AutoTransform Class Reference

`#include <AutoTransform>`

Inheritance diagram for osg::AutoTransform:

## Public Types

enum | AutoRotateMode { NO_ROTATION , ROTATE_TO_SCREEN , ROTATE_TO_CAMERA , ROTATE_TO_AXIS }
Public Types inherited from osg::Transform
enum | ReferenceFrame { RELATIVE_RF , ABSOLUTE_RF , ABSOLUTE_RF_INHERIT_VIEWPOINT }
Public Types inherited from osg::Node
typedef std::vector< Group * > | ParentList
typedef unsigned int | NodeMask
typedef std::vector< std::string > | DescriptionList
Public Types inherited from osg::Object
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED }

## Public Member Functions

| AutoTransform ()
| AutoTransform (const AutoTransform &pat, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual osg::Object * | cloneType () const
virtual osg::Object * | clone (const osg::CopyOp &copyop) const
virtual bool | isSameKindAs (const osg::Object *obj) const
virtual const char * | className () const
virtual const char * | libraryName () const
virtual AutoTransform * | asAutoTransform ()
virtual const AutoTransform * | asAutoTransform () const
void | setPosition (const Vec3d &pos)
const Vec3d & | getPosition () const
void | setRotation (const Quat &quat)
const Quat & | getRotation () const
void | setScale (double scale)
void | setScale (const Vec3d &scale)
const Vec3d & | getScale () const
void | setMinimumScale (double minimumScale)
double | getMinimumScale () const
void | setMaximumScale (double maximumScale)
double | getMaximumScale () const
void | setPivotPoint (const Vec3d &pivot)
const Vec3d & | getPivotPoint () const
void | setAutoUpdateEyeMovementTolerance (float tolerance)
float | getAutoUpdateEyeMovementTolerance () const
void | setAutoRotateMode (AutoRotateMode mode)
AutoRotateMode | getAutoRotateMode () const
void | setAxis (const Vec3 &axis)
const Vec3 & | getAxis () const
void | setNormal (const Vec3 &normal)
const Vec3 & | getNormal () const
void | setAutoScaleToScreen (bool autoScaleToScreen)
bool | getAutoScaleToScreen () const
void | setAutoScaleTransitionWidthRatio (float ratio)
float | getAutoScaleTransitionWidthRatio () const
virtual bool | computeLocalToWorldMatrix (Matrix &matrix, NodeVisitor *nv) const
virtual bool | computeWorldToLocalMatrix (Matrix &matrix, NodeVisitor *nv) const
Public Member Functions inherited from osg::Transform
| Transform ()
| Transform (const Transform &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| META_Node (osg, Transform)
virtual Transform * | asTransform ()
virtual const Transform * | asTransform () const
virtual MatrixTransform * | asMatrixTransform ()
virtual const MatrixTransform * | asMatrixTransform () const
virtual PositionAttitudeTransform * | asPositionAttitudeTransform ()
virtual const PositionAttitudeTransform * | asPositionAttitudeTransform () const
void | setReferenceFrame (ReferenceFrame rf)
ReferenceFrame | getReferenceFrame () const
virtual BoundingSphere | computeBound () const
Public Member Functions inherited from osg::Group
| Group ()
| Group (const Group &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| META_Node (osg, Group)
virtual Group * | asGroup ()
virtual const Group * | asGroup () const
virtual void | traverse (NodeVisitor &nv)
virtual bool | addChild (Node *child)
template<class T>
bool | addChild (const ref_ptr< T > &child)
virtual bool | insertChild (unsigned int index, Node *child)
template<class T>
bool | insertChild (unsigned int index, const ref_ptr< T > &child)
virtual bool | removeChild (Node *child)
template<class T>
bool | removeChild (const ref_ptr< T > &child)
bool | removeChild (unsigned int pos, unsigned int numChildrenToRemove=1)
virtual bool | removeChildren (unsigned int pos, unsigned int numChildrenToRemove)
virtual bool | replaceChild (Node *origChild, Node *newChild)
template<class T, class R>
bool | replaceChild (const ref_ptr< T > &origChild, const ref_ptr< R > &newChild)
virtual unsigned int | getNumChildren () const
virtual bool | setChild (unsigned int i, Node *node)
Node * | getChild (unsigned int i)
const Node * | getChild (unsigned int i) const
bool | containsNode (const Node *node) const
template<class T>
bool | containsNode (const ref_ptr< T > &node) const
unsigned int | getChildIndex (const Node *node) const
virtual void | setThreadSafeRefUnref (bool threadSafe)
virtual void | resizeGLObjectBuffers (unsigned int maxSize)
virtual void | releaseGLObjects (osg::State *=0) const
Public Member Functions inherited from osg::Node
| Node ()
| Node (const Node &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Node * | asNode ()
virtual const Node * | asNode () const
virtual Drawable * | asDrawable ()
virtual const Drawable * | asDrawable () const
virtual Geometry * | asGeometry ()
virtual const Geometry * | asGeometry () const
virtual Switch * | asSwitch ()
virtual const Switch * | asSwitch () const
virtual Geode * | asGeode ()
virtual const Geode * | asGeode () const
virtual osgTerrain::Terrain * | asTerrain ()
virtual const osgTerrain::Terrain * | asTerrain () const
virtual void | accept (NodeVisitor &nv)
virtual void | ascend (NodeVisitor &nv)
const ParentList & | getParents () const
ParentList | getParents ()
Group * | getParent (unsigned int i)
const Group * | getParent (unsigned int i) const
unsigned int | getNumParents () const
NodePathList | getParentalNodePaths (osg::Node *haltTraversalAtNode=0) const
MatrixList | getWorldMatrices (const osg::Node *haltTraversalAtNode=0) const
void | setUpdateCallback (Callback *nc)
template<class T>
void | setUpdateCallback (const ref_ptr< T > &nc)
Callback * | getUpdateCallback ()
const Callback * | getUpdateCallback () const
void | addUpdateCallback (Callback *nc)
template<class T>
void | addUpdateCallback (const ref_ptr< T > &nc)
void | removeUpdateCallback (Callback *nc)
template<class T>
void | removeUpdateCallback (const ref_ptr< T > &nc)
unsigned int | getNumChildrenRequiringUpdateTraversal () const
void | setEventCallback (Callback *nc)
template<class T>
void | setEventCallback (const ref_ptr< T > &nc)
Callback * | getEventCallback ()
const Callback * | getEventCallback () const
void | addEventCallback (Callback *nc)
template<class T>
void | addEventCallback (const ref_ptr< T > &nc)
void | removeEventCallback (Callback *nc)
template<class T>
void | removeEventCallback (const ref_ptr< T > &nc)
unsigned int | getNumChildrenRequiringEventTraversal () const
void | setCullCallback (Callback *nc)
template<class T>
void | setCullCallback (const ref_ptr< T > &nc)
Callback * | getCullCallback ()
const Callback * | getCullCallback () const
void | addCullCallback (Callback *nc)
template<class T>
void | addCullCallback (const ref_ptr< T > &nc)
void | removeCullCallback (Callback *nc)
template<class T>
void | removeCullCallback (const ref_ptr< T > &nc)
void | setCullingActive (bool active)
bool | getCullingActive () const
unsigned int | getNumChildrenWithCullingDisabled () const
bool | isCullingActive () const
unsigned int | getNumChildrenWithOccluderNodes () const
bool | containsOccluderNodes () const
void | setNodeMask (NodeMask nm)
NodeMask | getNodeMask () const
void | setStateSet (osg::StateSet *stateset)
template<class T>
void | setStateSet (const osg::ref_ptr< T > &stateset)
osg::StateSet * | getOrCreateStateSet ()
osg::StateSet * | getStateSet ()
const osg::StateSet * | getStateSet () const
void | setDescriptions (const DescriptionList &descriptions)
DescriptionList & | getDescriptions ()
const DescriptionList & | getDescriptions () const
const std::string & | getDescription (unsigned int i) const
std::string & | getDescription (unsigned int i)
unsigned int | getNumDescriptions () const
void | addDescription (const std::string &desc)
void | setInitialBound (const osg::BoundingSphere &bsphere)
const BoundingSphere & | getInitialBound () const
void | dirtyBound ()
const BoundingSphere & | getBound () const
void | setComputeBoundingSphereCallback (ComputeBoundingSphereCallback *callback)
template<class T>
void | setComputeBoundingSphereCallback (const ref_ptr< T > &callback)
ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback ()
const ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback () const
Public Member Functions inherited from osg::Object
| Object ()
| Object (bool threadSafeRefUnref)
| Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
std::string | getCompoundClassName () const
virtual NodeVisitor * | asNodeVisitor ()
virtual const NodeVisitor * | asNodeVisitor () const
virtual StateSet * | asStateSet ()
virtual const StateSet * | asStateSet () const
virtual StateAttribute * | asStateAttribute ()
virtual const StateAttribute * | asStateAttribute () const
virtual Uniform * | asUniform ()
virtual const Uniform * | asUniform () const
virtual Camera * | asCamera ()
virtual const Camera * | asCamera () const
virtual Callback * | asCallback ()
virtual const Callback * | asCallback () const
virtual CallbackObject * | asCallbackObject ()
virtual const CallbackObject * | asCallbackObject () const
virtual UserDataContainer * | asUserDataContainer ()
virtual const UserDataContainer * | asUserDataContainer () const
virtual ValueObject * | asValueObject ()
virtual const ValueObject * | asValueObject () const
virtual Image * | asImage ()
virtual const Image * | asImage () const
virtual void | setName (const std::string &name)
void | setName (const char *name)
const std::string & | getName () const
void | setDataVariance (DataVariance dv)
DataVariance | getDataVariance () const
virtual void | computeDataVariance ()
void | setUserDataContainer (osg::UserDataContainer *udc)
template<class T>
void | setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * | getUserDataContainer ()
const osg::UserDataContainer * | getUserDataContainer () const
osg::UserDataContainer * | getOrCreateUserDataContainer ()
virtual void | setUserData (Referenced *obj)
template<class T>
void | setUserData (const ref_ptr< T > &ud)
virtual Referenced * | getUserData ()
virtual const Referenced * | getUserData () const
template<typename T>
bool | getUserValue (const std::string &name, T &value) const
template<typename T>
void | setUserValue (const std::string &name, const T &value)
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Protected Types

enum | AxisAligned { AXIAL_ROT_X_AXIS =ROTATE_TO_AXIS+1 , AXIAL_ROT_Y_AXIS , AXIAL_ROT_Z_AXIS , CACHE_DIRTY }

## Protected Member Functions

virtual | ~AutoTransform ()
osg::Matrixd | computeMatrix (const osg::NodeVisitor *nv) const
void | updateCache ()
Protected Member Functions inherited from osg::Transform
virtual | ~Transform ()
Protected Member Functions inherited from osg::Group
virtual | ~Group ()
virtual void | childRemoved (unsigned int, unsigned int)
virtual void | childInserted (unsigned int)
Protected Member Functions inherited from osg::Node
virtual | ~Node ()
void | addParent (osg::Group *parent)
void | removeParent (osg::Group *parent)
void | setNumChildrenRequiringUpdateTraversal (unsigned int num)
void | setNumChildrenRequiringEventTraversal (unsigned int num)
void | setNumChildrenWithCullingDisabled (unsigned int num)
void | setNumChildrenWithOccluderNodes (unsigned int num)
Protected Member Functions inherited from osg::Object
virtual | ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Protected Attributes

Vec3d | _position
Vec3d | _pivotPoint
double | _autoUpdateEyeMovementTolerance
AutoRotateMode | _autoRotateMode
bool | _autoScaleToScreen
Quat | _rotation
Vec3d | _scale
double | _minimumScale
double | _maximumScale
double | _autoScaleTransitionWidthRatio
Vec3 | _axis
Vec3 | _normal
int | _cachedMode
Vec3 | _side
Protected Attributes inherited from osg::Transform
ReferenceFrame | _referenceFrame
Protected Attributes inherited from osg::Group
NodeList | _children
Protected Attributes inherited from osg::Node
BoundingSphere | _initialBound
ref_ptr< ComputeBoundingSphereCallback > | _computeBoundCallback
BoundingSphere | _boundingSphere
bool | _boundingSphereComputed
ParentList | _parents
ref_ptr< Callback > | _updateCallback
unsigned int | _numChildrenRequiringUpdateTraversal
ref_ptr< Callback > | _eventCallback
unsigned int | _numChildrenRequiringEventTraversal
ref_ptr< Callback > | _cullCallback
bool | _cullingActive
unsigned int | _numChildrenWithCullingDisabled
unsigned int | _numChildrenWithOccluderNodes
NodeMask | _nodeMask
ref_ptr< StateSet > | _stateset
Protected Attributes inherited from osg::Object
std::string | _name
DataVariance | _dataVariance
osg::UserDataContainer * | _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Detailed Description

AutoTransform is a derived form of Transform that automatically scales or rotates to keep its children aligned with screen coordinates.

## Member Enumeration Documentation

## AutoRotateMode

enum osg::AutoTransform::AutoRotateMode

Enumerator
NO_ROTATION |
ROTATE_TO_SCREEN |
ROTATE_TO_CAMERA |
ROTATE_TO_AXIS |

## AxisAligned

enum osg::AutoTransform::AxisAligned

protected

Enumerator
AXIAL_ROT_X_AXIS |
AXIAL_ROT_Y_AXIS |
AXIAL_ROT_Z_AXIS |
CACHE_DIRTY |

## Constructor & Destructor Documentation

## AutoTransform() [1/2]

osg::AutoTransform::AutoTransform | ( |  | ) |

Referenced by asAutoTransform(), asAutoTransform(), AutoTransform(), clone(), cloneType(), and isSameKindAs().

## AutoTransform() [2/2]

osg::AutoTransform::AutoTransform | ( | const AutoTransform & | pat,
|  | const CopyOp & | copyop = CopyOp::SHALLOW_COPY )

References AutoTransform(), and osg::CopyOp::SHALLOW_COPY.

## ~AutoTransform()

virtual osg::AutoTransform::~AutoTransform | ( |  | ) |

inline protected virtual

## Member Function Documentation

## asAutoTransform() [1/2]

virtual AutoTransform * osg::AutoTransform::asAutoTransform | ( |  | ) |

inline virtual

Reimplemented from osg::Transform.

References AutoTransform().

## asAutoTransform() [2/2]

virtual const AutoTransform * osg::AutoTransform::asAutoTransform | ( |  | ) | const

inline virtual

Reimplemented from osg::Transform.

References AutoTransform().

## className()

virtual const char * osg::AutoTransform::className | ( |  | ) | const

inline virtual

return the name of the node's class type.

Reimplemented from osg::Node.

## clone()

virtual osg::Object * osg::AutoTransform::clone | ( | const osg::CopyOp & | copyop | ) | const

inline virtual

return a clone of a node, with Object* return type.

Reimplemented from osg::Node.

References AutoTransform().

## cloneType()

virtual osg::Object * osg::AutoTransform::cloneType | ( |  | ) | const

inline virtual

clone an object of the same type as the node.

Reimplemented from osg::Node.

References AutoTransform().

## computeLocalToWorldMatrix()

virtual bool osg::AutoTransform::computeLocalToWorldMatrix | ( | Matrix & | matrix,
|  | NodeVisitor * | nv ) const

virtual

Reimplemented from osg::Transform.

## computeMatrix()

osg::Matrixd osg::AutoTransform::computeMatrix | ( | const osg::NodeVisitor * | nv | ) | const

protected

## computeWorldToLocalMatrix()

virtual bool osg::AutoTransform::computeWorldToLocalMatrix | ( | Matrix & | matrix,
|  | NodeVisitor * | nv ) const

virtual

Reimplemented from osg::Transform.

## getAutoRotateMode()

AutoRotateMode osg::AutoTransform::getAutoRotateMode | ( |  | ) | const

inline

References _autoRotateMode.

## getAutoScaleToScreen()

bool osg::AutoTransform::getAutoScaleToScreen | ( |  | ) | const

inline

References _autoScaleToScreen.

## getAutoScaleTransitionWidthRatio()

float osg::AutoTransform::getAutoScaleTransitionWidthRatio | ( |  | ) | const

inline

References _autoScaleTransitionWidthRatio.

## getAutoUpdateEyeMovementTolerance()

float osg::AutoTransform::getAutoUpdateEyeMovementTolerance | ( |  | ) | const

inline

References _autoUpdateEyeMovementTolerance.

## getAxis()

const Vec3 & osg::AutoTransform::getAxis | ( |  | ) | const

inline

Get the rotation axis.

References _axis.

## getMaximumScale()

double osg::AutoTransform::getMaximumScale | ( |  | ) | const

inline

References _maximumScale.

## getMinimumScale()

double osg::AutoTransform::getMinimumScale | ( |  | ) | const

inline

References _minimumScale.

## getNormal()

const Vec3 & osg::AutoTransform::getNormal | ( |  | ) | const

inline

Get the front face direction normal.

References _normal.

## getPivotPoint()

const Vec3d & osg::AutoTransform::getPivotPoint | ( |  | ) | const

inline

References _pivotPoint.

## getPosition()

const Vec3d & osg::AutoTransform::getPosition | ( |  | ) | const

inline

References _position.

## getRotation()

const Quat & osg::AutoTransform::getRotation | ( |  | ) | const

inline

References _rotation.

## getScale()

const Vec3d & osg::AutoTransform::getScale | ( |  | ) | const

inline

References _scale.

## isSameKindAs()

virtual bool osg::AutoTransform::isSameKindAs | ( | const osg::Object * | obj | ) | const

inline virtual

return true if this and obj are of the same kind of object.

Reimplemented from osg::Node.

References AutoTransform(), and NULL.

## libraryName()

virtual const char * osg::AutoTransform::libraryName | ( |  | ) | const

inline virtual

return the name of the node's library.

Reimplemented from osg::Node.

## setAutoRotateMode()

void osg::AutoTransform::setAutoRotateMode | ( | AutoRotateMode | mode | ) |

## setAutoScaleToScreen()

void osg::AutoTransform::setAutoScaleToScreen | ( | bool | autoScaleToScreen | ) |

## setAutoScaleTransitionWidthRatio()

void osg::AutoTransform::setAutoScaleTransitionWidthRatio | ( | float | ratio | ) |

inline

References _autoScaleTransitionWidthRatio.

## setAutoUpdateEyeMovementTolerance()

void osg::AutoTransform::setAutoUpdateEyeMovementTolerance | ( | float | tolerance | ) |

inline

References _autoUpdateEyeMovementTolerance.

## setAxis()

void osg::AutoTransform::setAxis | ( | const Vec3 & | axis | ) |

Set the rotation axis for the AutoTransform's child nodes. Only utilized when _autoRotateMode==ROTATE_TO_AXIS.

## setMaximumScale()

void osg::AutoTransform::setMaximumScale | ( | double | maximumScale | ) |

inline

References _maximumScale.

## setMinimumScale()

void osg::AutoTransform::setMinimumScale | ( | double | minimumScale | ) |

inline

References _minimumScale.

## setNormal()

void osg::AutoTransform::setNormal | ( | const Vec3 & | normal | ) |

This normal defines child Nodes' front face direction when unrotated.

## setPivotPoint()

void osg::AutoTransform::setPivotPoint | ( | const Vec3d & | pivot | ) |

inline

References _pivotPoint, and osg::Node::dirtyBound().

## setPosition()

void osg::AutoTransform::setPosition | ( | const Vec3d & | pos | ) |

inline

References _position, and osg::Node::dirtyBound().

## setRotation()

void osg::AutoTransform::setRotation | ( | const Quat & | quat | ) |

inline

References _rotation, and osg::Node::dirtyBound().

## setScale() [1/2]

void osg::AutoTransform::setScale | ( | const Vec3d & | scale | ) |

## setScale() [2/2]

void osg::AutoTransform::setScale | ( | double | scale | ) |

inline

References setScale().

Referenced by setScale().

## updateCache()

void osg::AutoTransform::updateCache | ( |  | ) |

protected

## Member Data Documentation

## _autoRotateMode

AutoRotateMode osg::AutoTransform::_autoRotateMode

protected

Referenced by getAutoRotateMode().

## _autoScaleToScreen

bool osg::AutoTransform::_autoScaleToScreen

protected

Referenced by getAutoScaleToScreen().

## _autoScaleTransitionWidthRatio

double osg::AutoTransform::_autoScaleTransitionWidthRatio

protected

Referenced by getAutoScaleTransitionWidthRatio(), and setAutoScaleTransitionWidthRatio().

## _autoUpdateEyeMovementTolerance

double osg::AutoTransform::_autoUpdateEyeMovementTolerance

protected

Referenced by getAutoUpdateEyeMovementTolerance(), and setAutoUpdateEyeMovementTolerance().

## _axis

Vec3 osg::AutoTransform::_axis

protected

Referenced by getAxis().

## _cachedMode

int osg::AutoTransform::_cachedMode

protected

## _maximumScale

double osg::AutoTransform::_maximumScale

protected

Referenced by getMaximumScale(), and setMaximumScale().

## _minimumScale

double osg::AutoTransform::_minimumScale

protected

Referenced by getMinimumScale(), and setMinimumScale().

## _normal

Vec3 osg::AutoTransform::_normal

protected

Referenced by getNormal().

## _pivotPoint

Vec3d osg::AutoTransform::_pivotPoint

protected

Referenced by getPivotPoint(), and setPivotPoint().

## _position

Vec3d osg::AutoTransform::_position

protected

Referenced by getPosition(), and setPosition().

## _rotation

Quat osg::AutoTransform::_rotation

mutable protected

Referenced by getRotation(), and setRotation().

## _scale

Vec3d osg::AutoTransform::_scale

mutable protected

Referenced by getScale().

## _side

Vec3 osg::AutoTransform::_side

protected

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

- AutoTransform