AnimatLab  2
VortexAnimatSim::Environment::VsJoint Class Reference

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

#include <VsJoint.h>

+ Inheritance diagram for VortexAnimatSim::Environment::VsJoint:
+ Collaboration diagram for VortexAnimatSim::Environment::VsJoint:

Public Member Functions

virtual void BuildLocalMatrix ()
virtual void BuildLocalMatrix (CStdFPoint localPos, CStdFPoint localRot, std::string strName)
virtual osg::Group * ChildOSG ()
virtual Vx::VxConstraint * Constraint ()
virtual Vx::VxConstraint::CoordinateID CoordinateID ()
virtual void Initialize ()
virtual osg::Group * 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_CollectData ()
virtual void Physics_DisableCollision (RigidBody *lpBody)
virtual void Physics_EnableCollision (RigidBody *lpBody)
virtual float Physics_GetDensity ()
virtual float Physics_GetMass ()
virtual CStdFPoint Physics_GetVelocityAtPoint (float x, float y, float z)
virtual void Physics_PositionChanged ()
virtual void Physics_QueryProperties (CStdPtrArray< TypeProperty > &aryProperties)
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 SetBody ()
- Public Member Functions inherited from VortexAnimatSim::Environment::VsBody
 VsBody ()
 Default constructor. More...
virtual ~VsBody ()
 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 bool Physics_HasCollisionGeometry ()
virtual bool Physics_IsDefined ()
virtual bool Physics_IsGeometryDefined ()
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 VortexAnimatSim::Environment::VsMovableItem
virtual void CreateItem ()
virtual void EndGripDrag ()
virtual osg::Matrix FinalMatrix ()
virtual osg::MatrixTransform * GetCameraMatrixTransform ()
 Gets the matrix transform used by the camera for the mouse spring. More...
virtual osg::MatrixTransform * GetMatrixTransform ()
virtual CStdFPoint GetOSGWorldCoords ()
virtual osg::Matrix GetOSGWorldMatrix (bool bUpdate=false)
virtual osg::Matrix GetParentWorldMatrix ()
virtual VsSimulatorGetVsSimulator ()
virtual osg::Matrix GetWorldMatrix ()
virtual osg::Matrix LocalMatrix ()
virtual osg::Group * NodeGroup ()
virtual void Physics_AfterResetSimulation ()
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_ResetGraphicsAndPhysics ()
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 VsMovableItemVsParent ()
virtual void WorldToBodyCoords (VxReal3 vWorldPos, StdVector3 &vLocalPos)
- 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

Protected Member Functions

virtual void ChildOffsetMatrix (osg::Matrix osgMT)
virtual void CreateJointGraphics ()
 Creates the default ball graphics. More...
virtual void DeleteGraphics ()
virtual void DeleteJointGraphics ()
virtual float GetCurrentVxJointPos ()
virtual void LocalMatrix (osg::Matrix osgLocalMT)
virtual VxVector3 NormalizeAxis (CStdFPoint vLocalRot)
virtual void ResetDraggerOnResize ()
virtual void SetThisPointers ()
virtual void SetupGraphics ()
 Sets up the graphics for the joint. More...
virtual void SetupPhysics ()
void UpdatePosition ()
virtual void UpdatePositionAndRotationFromMatrix ()
- Protected Member Functions inherited from VortexAnimatSim::Environment::VsMovableItem
virtual void AttachedPartMovedOrRotated (std::string strID)
virtual void CreateDragger (std::string strName)
virtual void CreateGeometry ()
virtual void CreateGraphicsGeometry ()
virtual void CreatePhysicsGeometry ()
virtual void CreateSelectedGraphics (std::string strName)
virtual void CreateSelectedVertex (std::string strName)
virtual void DeletePhysics ()=0
virtual void DeleteSelectedVertex ()
virtual void GeometryRotationMatrix (osg::Matrix osgGeometryMT)
virtual void HideSelectedVertex ()
virtual void ResizePhysicsGeometry ()
virtual void ShowSelectedVertex ()
virtual void UpdatePositionAndRotationFromMatrix (osg::Matrix osgMT)
virtual void UpdateWorldMatrix ()

Protected Attributes

Vx::VxConstraint::CoordinateID m_iCoordID
Joint * m_lpThisJoint
osg::Matrix m_osgChildOffsetMatrix
osg::ref_ptr< osg::MatrixTransform > m_osgChildOffsetMT
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.
Vx::VxConstraint * m_vxJoint
- Protected Attributes inherited from VortexAnimatSim::Environment::VsBody
Vx::VxEntity::EntityControlTypeEnum m_eControlType
BodyPart * m_lpThisBP
- Protected Attributes inherited from VortexAnimatSim::Environment::VsMovableItem
bool m_bCullBackfaces
osg::StateAttribute::GLMode m_eTextureMode
float m_fltNullReport
 This is used to report back 0 from GetDataPointer for items that are not supported in vortex.
AnimatBase * m_lpThisAB
MovableItem * m_lpThisMI
osg::ref_ptr< osg::CullFace > m_osgCull
osg::ref_ptr< VsDragger > 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::Group > 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 32 of file VsJoint.h.

Member Function Documentation

void VortexAnimatSim::Environment::VsJoint::CreateJointGraphics ( )

Creates the default ball graphics.


Reimplemented in VortexAnimatSim::Environment::Joints::VsHinge, and VortexAnimatSim::Environment::Joints::VsPrismatic.

Definition at line 203 of file VsJoint.cpp.

References VortexAnimatSim::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 VortexAnimatSim::Environment::VsJoint::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 VortexAnimatSim::Environment::VsMovableItem.

Reimplemented in VortexAnimatSim::Environment::Joints::VsHinge, VortexAnimatSim::Environment::Joints::VsPrismatic, and VortexAnimatSim::Environment::Joints::VsDistanceJoint.

Definition at line 248 of file VsJoint.cpp.

References CreateJointGraphics(), and m_osgJointMT.

Referenced by VortexAnimatSim::Environment::Joints::VsUniversal::CreateJoint(), VortexAnimatSim::Environment::Joints::VsRPRO::CreateJoint(), and VortexAnimatSim::Environment::Joints::VsBallSocket::CreateJoint().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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