AnimatLab  2
Test
IPhysicsBody.h
1 #pragma once
2 
3 namespace AnimatSim
4 {
5  namespace Environment
6  {
7 
8 
9  class ANIMAT_PORT IPhysicsBody
10  {
11  protected:
12 
13  public:
14  IPhysicsBody(void);
15  virtual ~IPhysicsBody(void);
16 
17  virtual bool Physics_IsDefined() = 0;
18  virtual bool Physics_IsGeometryDefined() = 0;
19  virtual void Physics_SetFreeze(bool bVal) = 0;
20  virtual void Physics_SetDensity(float fltVal) = 0;
21  virtual float Physics_GetDensity() = 0;
22  virtual void Physics_SetMass(float fltVal) = 0;
23  virtual float Physics_GetMass() = 0;
24  virtual void Physics_SetMaterialID(std::string strID) = 0;
25  virtual void Physics_SetVelocityDamping(float fltLinear, float fltAngular) = 0;
26  virtual void Physics_SetCenterOfMass(float fltTx, float fltTy, float fltTz) = 0;
27 
28  virtual void Physics_UpdateNode() = 0;
29  virtual void Physics_EnableCollision(RigidBody *lpBody) = 0;
30  virtual void Physics_DisableCollision(RigidBody *lpBody) = 0;
31  virtual void Physics_AddBodyForceAtLocalPos(float fltPx, float fltPy, float fltPz, float fltFx, float fltFy, float fltFz, bool bScaleUnits) = 0;
32  virtual void Physics_AddBodyForceAtWorldPos(float fltPx, float fltPy, float fltPz, float fltFx, float fltFy, float fltFz, bool bScaleUnits) = 0;
33  virtual void Physics_AddBodyTorque(float fltTx, float fltTy, float fltTz, bool bScaleUnits) = 0;
34  virtual CStdFPoint Physics_GetVelocityAtPoint(float x, float y, float z) = 0;
35  virtual void Physics_ResizeSelectedReceptiveFieldVertex() = 0;
36  virtual void Physics_FluidDataChanged() = 0;
37  virtual bool Physics_HasCollisionGeometry() = 0;
38  virtual void Physics_WakeDynamics() = 0;
39  virtual void Physics_ContactSensorAdded(ContactSensor *lpSensor) = 0;
40  virtual void Physics_ContactSensorRemoved() = 0;
41  virtual void Physics_StepHydrodynamicSimulation() = 0;
42 
43  virtual void Physics_ChildBodyAdded(RigidBody *lpChild) = 0;
44  virtual void Physics_ChildBodyRemoved(bool bHasStaticJoint) = 0;
45  virtual void Physics_DeleteStickyLock() = 0;
46  };
47 
48  }
49 }
Root namespace for the base simulation library for AnimatLab.
Contact sensor for detecting receptive field contacts.
Definition: ContactSensor.h:25
The base class for all of the basic rigid body type of objects.
Definition: RigidBody.h:66