AnimatLab  2
OsgAnimatSim::Environment::OsgJoint Class Reference

A common class for all joint data specific to vortex. More...

#include <OsgJoint.h>

+ Inheritance diagram for OsgAnimatSim::Environment::OsgJoint:
+ Collaboration diagram for OsgAnimatSim::Environment::OsgJoint:

Public Member Functions

virtual void BuildLocalMatrix ()
 Builds the local matrix. More...
virtual void BuildLocalMatrix (CStdFPoint localPos, CStdFPoint vLocalOffset, CStdFPoint localRot, std::string strName)
virtual osg::MatrixTransform * ChildOSG ()
virtual void DeleteGraphics ()
virtual void EndGripDrag ()
virtual osg::Matrix GetChildComMatrix (bool bInvert=false)
virtual osg::Matrix GetChildPhysicsWorldMatrix ()
virtual osg::Matrix GetChildWorldMatrix ()
virtual void Initialize ()
virtual osg::MatrixTransform * ParentOSG ()
virtual void Physics_AddBodyForceAtLocalPos (float fltPx, float fltPy, float fltPz, float fltFx, float fltFy, float fltFz, bool bScaleUnits)
virtual void Physics_AddBodyForceAtWorldPos (float fltPx, float fltPy, float fltPz, float fltFx, float fltFy, float fltFz, bool bScaleUnits)
virtual void Physics_AddBodyTorque (float fltTx, float fltTy, float fltTz, bool bScaleUnits)
virtual bool Physics_CalculateLocalPosForWorldPos (float fltWorldX, float fltWorldY, float fltWorldZ, CStdFPoint &vLocalPos)
virtual void Physics_DisableCollision (RigidBody *lpBody)
virtual void Physics_EnableCollision (RigidBody *lpBody)
virtual CStdFPoint Physics_GetVelocityAtPoint (float x, float y, float z)
virtual bool Physics_IsGeometryDefined ()
virtual void Physics_PositionChanged ()
virtual void Physics_QueryProperties (CStdPtrArray< TypeProperty > &aryProperties)
virtual void Physics_ResetGraphicsAndPhysics ()
virtual void Physics_ResetSimulation ()
virtual void Physics_Resize ()
virtual void Physics_RotationChanged ()
virtual void Physics_SetChild (MovableItem *lpChild)
virtual bool Physics_SetData (const std::string &strDataType, const std::string &strValue)
virtual void Physics_SetParent (MovableItem *lpParent)
virtual void Physics_UpdateMatrix ()
virtual void SetAlpha ()
virtual void SetupGraphics ()
 Sets up the graphics for the joint. More...
virtual void SetupPhysics ()
virtual void StartGripDrag ()
- Public Member Functions inherited from OsgAnimatSim::Environment::OsgBody
 OsgBody ()
 Default constructor. More...
virtual ~OsgBody ()
 Destructor. More...
virtual void Physics_ChildBodyAdded (RigidBody *lpChild)
virtual void Physics_ChildBodyRemoved (bool bHasStaticJoint)
virtual void Physics_ContactSensorAdded (ContactSensor *lpSensor)
virtual void Physics_ContactSensorRemoved ()
virtual void Physics_DeleteStickyLock ()
virtual void Physics_FluidDataChanged ()
virtual float Physics_GetDensity ()
virtual float Physics_GetMass ()
virtual bool Physics_HasCollisionGeometry ()
virtual void Physics_ResizeSelectedReceptiveFieldVertex ()
virtual void Physics_SetCenterOfMass (float fltTx, float fltTy, float fltTz)
virtual void Physics_SetDensity (float fltVal)
virtual void Physics_SetFreeze (bool bVal)
virtual void Physics_SetMass (float fltVal)
virtual void Physics_SetMaterialID (std::string strID)
virtual void Physics_SetVelocityDamping (float fltLinear, float fltAngular)
virtual void Physics_StepHydrodynamicSimulation ()
virtual void Physics_UpdateNode ()
virtual void Physics_WakeDynamics ()
- Public Member Functions inherited from OsgAnimatSim::Environment::OsgMovableItem
virtual bool AddOsgNodeToParent ()
virtual void BuildLocalMatrix (CStdFPoint vLocalOffset)
virtual void CreateItem ()
virtual void DeletePhysics (bool bIncludeChildren)=0
virtual osg::Matrix FinalMatrix ()
virtual void FinalMatrix (osg::Matrix vFinal)
virtual osg::MatrixTransform * GetCameraMatrixTransform ()
 Gets the matrix transform used by the camera for the mouse spring. More...
virtual osg::Matrix GetComMatrix (bool bInvert=false)
virtual osg::MatrixTransform * GetMatrixTransform ()
virtual OsgSimulatorGetOsgSimulator ()
virtual CStdFPoint GetOSGWorldCoords ()
virtual osg::Matrix GetOSGWorldMatrix (bool bUpdate=false)
virtual osg::Matrix GetParentComMatrix (bool bInvert=false)
virtual osg::Matrix GetParentPhysicsWorldMatrix ()
virtual osg::Matrix GetParentWorldMatrix ()
virtual osg::Matrix GetPhysicsWorldMatrix ()
virtual osg::Matrix GetWorldMatrix ()
virtual osg::Matrix LocalMatrix ()
virtual osg::Group * NodeGroup ()
virtual void Physics_AfterResetSimulation ()
virtual void Physics_CollectData ()
virtual void Physics_CollectExtraData ()
virtual BoundingBox Physics_GetBoundingBox ()
virtual float Physics_GetBoundingRadius ()
virtual float * Physics_GetDataPointer (const std::string &strDataType)
virtual std::string Physics_GetLocalTransformMatrixString ()
virtual std::string Physics_ID ()
virtual void Physics_LoadLocalTransformMatrix (CStdXml &oXml)
virtual void Physics_OrientNewPart (float fltXPos, float fltYPos, float fltZPos, float fltXNorm, float fltYNorm, float fltZNorm)
virtual void Physics_ResizeDragHandler (float fltRadius)
virtual void Physics_SaveLocalTransformMatrix (CStdXml &oXml)
virtual void Physics_Selected (bool bValue, bool bSelectMultiple)
virtual void Physics_SelectedVertex (float fltXPos, float fltYPos, float fltZPos)
virtual void Physics_SetColor ()
virtual void Physics_TextureChanged ()
virtual void Physics_UpdateAbsolutePosition ()
virtual osg::Group * RootGroup ()
virtual void SetColor (CStdColor &vAmbient, CStdColor &vDiffuse, CStdColor &vSpecular, float fltShininess)
virtual void SetCulling ()
virtual void SetMaterialAlpha (osg::Material *osgMat, osg::StateSet *ss, float fltAlpha)
virtual void SetTexture (std::string strTexture)
virtual void SetVisible (bool bVisible)
virtual void SetVisible (osg::Node *osgNode, bool bVisible)
virtual OsgMovableItemVsParent ()
- Public Member Functions inherited from AnimatSim::Environment::IPhysicsMovableItem
virtual void Physics_SetChild (MovableItem *lpChild)=0
virtual void Physics_SetParent (MovableItem *lpParent)=0
- Public Member Functions inherited from AnimatSim::Environment::IPhysicsBody
virtual void Physics_ChildBodyAdded (RigidBody *lpChild)=0
virtual void Physics_ContactSensorAdded (ContactSensor *lpSensor)=0
virtual void Physics_DisableCollision (RigidBody *lpBody)=0
virtual void Physics_EnableCollision (RigidBody *lpBody)=0
virtual bool Physics_IsDefined ()=0

Protected Member Functions

virtual void CreateJointGraphics ()
 Creates the default ball graphics. More...
virtual void DeleteJointGraphics ()
virtual osg::Vec3d NormalizeAxis (CStdFPoint vLocalRot)
virtual void ResetDraggerOnResize ()
virtual void SetThisPointers ()
virtual void UpdatePositionAndRotationFromMatrix ()
- Protected Member Functions inherited from OsgAnimatSim::Environment::OsgMovableItem
virtual void AttachedPartMovedOrRotated (std::string strID)
virtual osg::Matrix CalculateTransformRelativeToParent (osg::Matrix osgLocalMatrix)
virtual void CreateDragger (std::string strName)
virtual void CreateGeometry (bool bOverrideStatic=false)
virtual void CreateGraphicsGeometry ()
virtual void CreatePhysicsGeometry ()
virtual void CreateSelectedGraphics (std::string strName)
virtual void CreateSelectedVertex (std::string strName)
virtual void DeleteSelectedVertex ()
virtual void GeometryRotationMatrix (osg::Matrix osgGeometryMT)
virtual void HideSelectedVertex ()
virtual void InitializeGraphicsGeometry ()
virtual void LocalMatrix (osg::Matrix osgLocalMT)
virtual void ResetPhyiscsAndChildJoints ()
virtual void ResizePhysicsGeometry ()
virtual void ShowSelectedVertex ()
virtual void UpdatePositionAndRotationFromMatrix (osg::Matrix osgMT)
virtual void UpdateWorldMatrix ()

Protected Attributes

Joint * m_lpThisJoint
osg::ref_ptr< osg::Geometry > m_osgDefaultBall
 The osg default ball geometry.
osg::ref_ptr< osg::Material > m_osgDefaultBallMat
 The osg default ball material.
osg::ref_ptr< osg::MatrixTransform > m_osgDefaultBallMT
 The osg default ball matrix transform.
osg::ref_ptr< osg::StateSet > m_osgDefaultBallSS
 The osg default ball state set.
osg::ref_ptr< osg::MatrixTransform > m_osgJointMT
 The osg joint matrix transform.
CStdFPoint m_vJointGraphicsRotOffset
 Rotational offset needed to make the joint graphics match the physics.
- Protected Attributes inherited from OsgAnimatSim::Environment::OsgBody
DynamicsControlType m_eControlType
BodyPart * m_lpThisBP
- Protected Attributes inherited from OsgAnimatSim::Environment::OsgMovableItem
bool m_bCullBackfaces
osg::StateAttribute::GLMode m_eTextureMode
AnimatBase * m_lpThisAB
MovableItem * m_lpThisMI
osg::ref_ptr< osg::CullFace > m_osgCull
osg::ref_ptr< osg::Node > m_osgDebugNode
osg::ref_ptr< OsgDragger > m_osgDragger
osg::Matrix m_osgFinalMatrix
osg::ref_ptr< osg::Geometry > m_osgGeometry
osg::ref_ptr< osg::MatrixTransform > m_osgGeometryRotationMT
osg::Matrix m_osgLocalMatrix
osg::ref_ptr< osg::Material > m_osgMaterial
osg::ref_ptr< osgManipulator::Selection > m_osgMT
osg::ref_ptr< osg::Node > m_osgNode
osg::ref_ptr< osg::Group > m_osgNodeGroup
osg::ref_ptr< osg::MatrixTransform > m_osgParent
osg::ref_ptr< osg::Group > m_osgRoot
osg::ref_ptr< osg::Group > m_osgSelectedGroup
osg::ref_ptr< osg::MatrixTransform > m_osgSelVertexMT
osg::ref_ptr< osg::Geode > m_osgSelVertexNode
osg::ref_ptr< osg::StateSet > m_osgStateSet
osg::ref_ptr< osg::Texture2D > m_osgTexture
osg::Matrix m_osgWorldMatrix

Detailed Description

A common class for all joint data specific to vortex.

This is a common class for the joint objects that specifically holds vortex data and methods. The reasoning behind this class is the same as that for the VsRigidBody. Please see that class for an explanation of why this class is needed.
See also
RigidBody, CVsAlJoint

Definition at line 26 of file OsgJoint.h.

Member Function Documentation

void OsgJoint::BuildLocalMatrix ( )

Builds the local matrix.

This method appears to not be needed here. It is just a pass through. However, if it is not here then the code will not compile because it tries to match to the other overload for some reason. Not sure why, but it does.

David Cofer

Reimplemented from OsgAnimatSim::Environment::OsgMovableItem.

Definition at line 339 of file OsgJoint.cpp.

Referenced by SetupGraphics().

+ Here is the caller graph for this function:

void OsgJoint::CreateJointGraphics ( )

Creates the default ball graphics.


Definition at line 151 of file OsgJoint.cpp.

References OsgAnimatSim::Environment::CreateSphereGeometry(), m_osgDefaultBall, m_osgDefaultBallMat, m_osgDefaultBallMT, m_osgDefaultBallSS, and m_osgJointMT.

Referenced by SetupGraphics().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void OsgJoint::SetupGraphics ( )

Sets up the graphics for the joint.

This base joint class sets up a default ball graphics object. A few of the joint classes do not have any special graphics associated with them, so simply knowing where the joint is located is enough, and a ball to define that position is sufficient. This base code creates that graphics so that each derived class does not have to. If a joint does need special graphics then just override this function and define it yourself, but do not call this base method.


Reimplemented from OsgAnimatSim::Environment::OsgMovableItem.

Definition at line 196 of file OsgJoint.cpp.

References BuildLocalMatrix(), CreateJointGraphics(), m_osgJointMT, and m_vJointGraphicsRotOffset.

+ Here is the call graph for this function:

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