AnimatLab  2
Test
RbMaterialType.h
1 // RbMaterialType.h: interface for the RbMaterialType class.
2 //
4 #pragma once
5 
6 namespace RoboticsAnimatSim
7 {
8  namespace Environment
9  {
10 
12  {
13  protected:
15  CStdMap<std::string, RigidBody *> m_aryBodies;
16 
19 
22 
25 
26  virtual void SetMaterialProperties();
27  virtual void RegisterMaterialType();
28 
29  public:
31  virtual ~RbMaterialType();
32 
33  virtual CStdMap<std::string, RigidBody *> *Bodies() {return &m_aryBodies;};
34 
35  virtual float FrictionLinearPrimary();
36  virtual void FrictionLinearPrimary(float fltVal);
37 
38  virtual float FrictionAngularPrimary();
39  virtual void FrictionAngularPrimary(float fltVal);
40  virtual float FrictionAngularPrimaryConverted();
41 
42  virtual float Restitution();
43  virtual void Restitution(float fltVal);
44 
45  virtual int GetMaterialID(std::string strName);
46  virtual void Initialize();
47 
48  virtual void AddRigidBodyAssociation(RigidBody *lpBody);
49  virtual void RemoveRigidBodyAssociation(RigidBody *lpBody);
50  virtual RigidBody *FindBodyByID(std::string strID, bool bThrowError = true);
51 
52  virtual void CreateDefaultUnits();
53  virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError = true);
54  virtual void QueryProperties(CStdPtrArray<TypeProperty> &aryProperties);
55 
56  virtual void Load(CStdXml &oXml);
57  };
58 
59  } // Visualization
60 } //RoboticsAnimatSim
float m_fltFrictionLinearPrimary
The primary linear coefficient of friction parameter.
float m_fltRestitution
The restitution of the collision between those two materials.
CStdMap< std::string, RigidBody * > m_aryBodies
All the rigid bodies associated with this material type.
float m_fltFrictionAngularPrimary
The angular primary coefficient of friction parameter.(this simulates rolling resistance) ...
Classes for implementing the cm-labs vortex physics engine for AnimatLab.