AnimatLab  2
Test
OsgBody.h
1 #pragma once
2 
3 namespace OsgAnimatSim
4 {
5  namespace Environment
6  {
7 
8  enum DynamicsControlType
9  {
10  ControlAnimated,
11  ControlNode,
12  ControlDynamic,
13  ControlStatic
14  };
15 
26  class ANIMAT_OSG_PORT OsgBody : public OsgMovableItem, public AnimatSim::Environment::IPhysicsBody
27  {
28  protected:
29  BodyPart *m_lpThisBP;
30  DynamicsControlType m_eControlType;
31 
32  virtual void SetThisPointers();
33 
34  public:
35  OsgBody();
36  virtual ~OsgBody();
37 
38  virtual void Physics_SetFreeze(bool bVal) {};
39  virtual void Physics_SetDensity(float fltVal) {};
40  virtual void Physics_SetMass(float fltVal) {};
41  virtual void Physics_SetMaterialID(std::string strID) {};
42  virtual void Physics_SetVelocityDamping(float fltLinear, float fltAngular) {};
43  virtual void Physics_SetCenterOfMass(float fltTx, float fltTy, float fltTz) {};
44  virtual void Physics_ResizeSelectedReceptiveFieldVertex() {};
45  virtual void Physics_FluidDataChanged() {};
46  virtual void Physics_WakeDynamics() {};
47  virtual void Physics_ContactSensorAdded(ContactSensor *lpSensor) {};
48  virtual void Physics_ContactSensorRemoved() {};
49  virtual void Physics_ChildBodyAdded(RigidBody *lpChild) {};
50  virtual void Physics_ChildBodyRemoved(bool bHasStaticJoint) {};
51  virtual float Physics_GetMass() {return 0;};
52  virtual float Physics_GetDensity() {return 0;};
53  virtual void Physics_StepHydrodynamicSimulation() {};
54 
55  virtual void Physics_UpdateNode() {};
56  virtual bool Physics_HasCollisionGeometry() {return false;};
57  virtual void Physics_DeleteStickyLock() {};
58  };
59 
60  } // Environment
61 } //OsgAnimatSim
62 
63 
Classes for implementing the cm-labs vortex physics engine for AnimatLab.
Vortex base body class.
Definition: OsgBody.h:26