00001
00002
00003
00004
00005
00006
00007
00008
00014 #ifndef _FCD_PHYSICSMATERIAL_H_
00015 #define _FCD_PHYSICSMATERIAL_H_
00016
00017 #ifndef _FCD_ENTITY_H_
00018 #include "FCDocument/FCDEntity.h"
00019 #endif // _FCD_ENTITY_H_
00020
00021 class FCDocument;
00022
00032 class FCOLLADA_EXPORT FCDPhysicsMaterial : public FCDEntity
00033 {
00034 private:
00035 DeclareObjectType(FCDEntity);
00036 float staticFriction;
00037 float dynamicFriction;
00038 float restitution;
00039
00040 public:
00043 FCDPhysicsMaterial(FCDocument* document);
00044
00046 virtual ~FCDPhysicsMaterial();
00047
00051 virtual Type GetType() const { return FCDEntity::PHYSICS_MATERIAL; }
00052
00055 float GetStaticFriction() const { return staticFriction; }
00056
00059 void SetStaticFriction(float _staticFriction) { staticFriction = _staticFriction; SetDirtyFlag(); }
00060
00063 float GetDynamicFriction() const { return dynamicFriction; }
00064
00067 void SetDynamicFriction(float _dynamicFriction) { dynamicFriction = _dynamicFriction; SetDirtyFlag(); }
00068
00071 float GetRestitution() const { return restitution; }
00072
00075 void SetRestitution(float _restitution) { restitution = _restitution; SetDirtyFlag(); }
00076
00084 virtual FCDEntity* Clone(FCDEntity* clone = NULL, bool cloneChildren = false) const;
00085 };
00086
00087 #endif // _FCD_MATERIAL_H_