AnimatLab  2
Test
VsOsgUserData.h
1 #pragma once
2 
3 namespace VortexAnimatSim
4 {
5  namespace Visualization
6  {
7 
8  class VORTEX_PORT VsOsgUserData : public osg::Referenced
9  {
10  protected:
11  VsMovableItem *m_lpItem;
12 
13  public:
14  VsOsgUserData(VsMovableItem *lpItem);
15  ~VsOsgUserData(void);
16 
17  VsBody *GetBodyPart() {return dynamic_cast<VsBody *>(m_lpItem);};
18 
19  VsMovableItem *GetVsMovable() {return m_lpItem;};
20  MovableItem *GetMovable() {return dynamic_cast<MovableItem *>(m_lpItem);};
21 
22  VsRigidBody *GetVsBody() {return dynamic_cast<VsRigidBody *>(m_lpItem);};
23  RigidBody *GetBody() {return dynamic_cast<RigidBody *>(m_lpItem);};
24 
25  VsJoint *GetVsJoint() {return dynamic_cast<VsJoint *>(m_lpItem);};
26  Joint *GetJoint() {return dynamic_cast<Joint *>(m_lpItem);};
27 
28  VsStructure *GetVsStucture() {return dynamic_cast<VsStructure *>(m_lpItem);};
29  Structure *GetStructure() {return dynamic_cast<Structure *>(m_lpItem);};
30 
31  //VsLight *GetVsLight() {return dynamic_cast<VsLight *>(m_lpItem);};
32  Light *GetLight() {return dynamic_cast<Light *>(m_lpItem);};
33  };
34 
35  }// end Visualization
36 }// end VortexAnimatSim
37 
Classes for implementing the cm-labs vortex physics engine for AnimatLab.