OpenSceneGraph
3.0.1
|
AutoTransform is a derived form of Transform that automatically scales or rotates to keep its children aligned with screen coordinates. More...
Public Types | |
enum | AutoRotateMode { NO_ROTATION, ROTATE_TO_SCREEN, ROTATE_TO_CAMERA, ROTATE_TO_AXIS } |
Public Member Functions | |
AutoTransform () | |
AutoTransform (const AutoTransform &pat, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual osg::Object * | cloneType () const |
clone an object of the same type as the node. | |
virtual osg::Object * | clone (const osg::CopyOp ©op) const |
return a clone of a node, with Object* return type. | |
virtual bool | isSameKindAs (const osg::Object *obj) const |
return true if this and obj are of the same kind of object. | |
virtual const char * | className () const |
return the name of the node's class type. | |
virtual const char * | libraryName () const |
return the name of the node's library. | |
virtual void | accept (NodeVisitor &nv) |
Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. | |
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) |
Set the rotation axis for the AutoTransform's child nodes. | |
const Vec3 & | getAxis () const |
Get the rotation axis. | |
void | setNormal (const Vec3 &normal) |
This normal defines child Nodes' front face direction when unrotated. | |
const Vec3 & | getNormal () const |
Get the front face direction normal. | |
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 |
virtual BoundingSphere | computeBound () const |
Overrides Group's computeBound. | |
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 () |
void | computeMatrix () const |
void | updateCache () |
Protected Attributes | |
Vec3d | _position |
Vec3d | _pivotPoint |
double | _autoUpdateEyeMovementTolerance |
AutoRotateMode | _autoRotateMode |
bool | _autoScaleToScreen |
Quat | _rotation |
Vec3d | _scale |
bool | _firstTimeToInitEyePoint |
osg::Vec3 | _previousEyePoint |
osg::Vec3 | _previousLocalUp |
Viewport::value_type | _previousWidth |
Viewport::value_type | _previousHeight |
osg::Matrixd | _previousProjection |
osg::Vec3d | _previousPosition |
double | _minimumScale |
double | _maximumScale |
double | _autoScaleTransitionWidthRatio |
bool | _matrixDirty |
osg::Matrixd | _cachedMatrix |
Vec3 | _axis |
Vec3 | _normal |
int | _cachedMode |
Vec3 | _side |
AutoTransform is a derived form of Transform that automatically scales or rotates to keep its children aligned with screen coordinates.
enum osg::AutoTransform::AxisAligned [protected] |
osg::AutoTransform::AutoTransform | ( | ) |
osg::AutoTransform::AutoTransform | ( | const AutoTransform & | pat, |
const CopyOp & | copyop = CopyOp::SHALLOW_COPY |
||
) |
virtual osg::AutoTransform::~AutoTransform | ( | ) | [inline, protected, virtual] |
virtual void osg::AutoTransform::accept | ( | NodeVisitor & | nv | ) | [virtual] |
Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.
Reimplemented from osg::Node.
virtual AutoTransform* osg::AutoTransform::asAutoTransform | ( | ) | [inline, virtual] |
virtual const AutoTransform* osg::AutoTransform::asAutoTransform | ( | ) | const [inline, virtual] |
virtual const char* osg::AutoTransform::className | ( | ) | const [inline, virtual] |
return the name of the node's class type.
Reimplemented from osg::Node.
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.
virtual osg::Object* osg::AutoTransform::cloneType | ( | ) | const [inline, virtual] |
clone an object of the same type as the node.
Reimplemented from osg::Node.
virtual BoundingSphere osg::AutoTransform::computeBound | ( | ) | const [virtual] |
Overrides Group's computeBound.
There is no need to override in subclasses from osg::Transform since this computeBound() uses the underlying matrix (calling computeMatrix if required).
Reimplemented from osg::Transform.
virtual bool osg::AutoTransform::computeLocalToWorldMatrix | ( | Matrix & | matrix, |
NodeVisitor * | nv | ||
) | const [virtual] |
Reimplemented from osg::Transform.
void osg::AutoTransform::computeMatrix | ( | ) | const [protected] |
virtual bool osg::AutoTransform::computeWorldToLocalMatrix | ( | Matrix & | matrix, |
NodeVisitor * | nv | ||
) | const [virtual] |
Reimplemented from osg::Transform.
AutoRotateMode osg::AutoTransform::getAutoRotateMode | ( | ) | const [inline] |
bool osg::AutoTransform::getAutoScaleToScreen | ( | ) | const [inline] |
float osg::AutoTransform::getAutoScaleTransitionWidthRatio | ( | ) | const [inline] |
float osg::AutoTransform::getAutoUpdateEyeMovementTolerance | ( | ) | const [inline] |
const Vec3& osg::AutoTransform::getAxis | ( | ) | const [inline] |
Get the rotation axis.
double osg::AutoTransform::getMaximumScale | ( | ) | const [inline] |
double osg::AutoTransform::getMinimumScale | ( | ) | const [inline] |
const Vec3& osg::AutoTransform::getNormal | ( | ) | const [inline] |
Get the front face direction normal.
const Vec3d& osg::AutoTransform::getPivotPoint | ( | ) | const [inline] |
const Vec3d& osg::AutoTransform::getPosition | ( | ) | const [inline] |
const Quat& osg::AutoTransform::getRotation | ( | ) | const [inline] |
const Vec3d& osg::AutoTransform::getScale | ( | ) | const [inline] |
virtual bool osg::AutoTransform::isSameKindAs | ( | const osg::Object * | obj | ) | const [inline, virtual] |
virtual const char* osg::AutoTransform::libraryName | ( | ) | const [inline, virtual] |
return the name of the node's library.
Reimplemented from osg::Node.
void osg::AutoTransform::setAutoRotateMode | ( | AutoRotateMode | mode | ) |
void osg::AutoTransform::setAutoScaleToScreen | ( | bool | autoScaleToScreen | ) | [inline] |
void osg::AutoTransform::setAutoScaleTransitionWidthRatio | ( | float | ratio | ) | [inline] |
void osg::AutoTransform::setAutoUpdateEyeMovementTolerance | ( | float | tolerance | ) | [inline] |
void osg::AutoTransform::setAxis | ( | const Vec3 & | axis | ) |
Set the rotation axis for the AutoTransform's child nodes.
Only utilized when _autoRotateMode==ROTATE_TO_AXIS.
void osg::AutoTransform::setMaximumScale | ( | double | maximumScale | ) | [inline] |
void osg::AutoTransform::setMinimumScale | ( | double | minimumScale | ) | [inline] |
void osg::AutoTransform::setNormal | ( | const Vec3 & | normal | ) |
This normal defines child Nodes' front face direction when unrotated.
void osg::AutoTransform::setPivotPoint | ( | const Vec3d & | pivot | ) | [inline] |
void osg::AutoTransform::setPosition | ( | const Vec3d & | pos | ) | [inline] |
void osg::AutoTransform::setRotation | ( | const Quat & | quat | ) | [inline] |
void osg::AutoTransform::setScale | ( | double | scale | ) | [inline] |
References setScale().
Referenced by setScale().
void osg::AutoTransform::setScale | ( | const Vec3d & | scale | ) |
void osg::AutoTransform::updateCache | ( | ) | [protected] |
AutoRotateMode osg::AutoTransform::_autoRotateMode [protected] |
bool osg::AutoTransform::_autoScaleToScreen [protected] |
double osg::AutoTransform::_autoScaleTransitionWidthRatio [protected] |
double osg::AutoTransform::_autoUpdateEyeMovementTolerance [protected] |
Vec3 osg::AutoTransform::_axis [protected] |
osg::Matrixd osg::AutoTransform::_cachedMatrix [mutable, protected] |
int osg::AutoTransform::_cachedMode [protected] |
bool osg::AutoTransform::_firstTimeToInitEyePoint [mutable, protected] |
bool osg::AutoTransform::_matrixDirty [mutable, protected] |
double osg::AutoTransform::_maximumScale [protected] |
double osg::AutoTransform::_minimumScale [protected] |
Vec3 osg::AutoTransform::_normal [protected] |
Vec3d osg::AutoTransform::_pivotPoint [protected] |
Vec3d osg::AutoTransform::_position [protected] |
osg::Vec3 osg::AutoTransform::_previousEyePoint [mutable, protected] |
Viewport::value_type osg::AutoTransform::_previousHeight [mutable, protected] |
osg::Vec3 osg::AutoTransform::_previousLocalUp [mutable, protected] |
osg::Vec3d osg::AutoTransform::_previousPosition [mutable, protected] |
osg::Matrixd osg::AutoTransform::_previousProjection [mutable, protected] |
Viewport::value_type osg::AutoTransform::_previousWidth [mutable, protected] |
Quat osg::AutoTransform::_rotation [mutable, protected] |
Vec3d osg::AutoTransform::_scale [mutable, protected] |
Vec3 osg::AutoTransform::_side [protected] |
![]() | Generated at Mon Oct 3 2011 12:39:41 for the OpenSceneGraph by doxygen 1.7.5. |