00001
00002
00003
00004
00005
00006 #ifndef _FCD_PHYSICSMATERIAL_H_
00007 #define _FCD_PHYSICSMATERIAL_H_
00008
00009 #include "FCDocument/FCDEntity.h"
00010
00011 class FCDocument;
00012
00013 class FCOLLADA_EXPORT FCDPhysicsMaterial : public FCDEntity
00014 {
00015 private:
00016 DeclareObjectType;
00017 float staticFriction;
00018 float dynamicFriction;
00019 float restitution;
00020
00021 public:
00022 FCDPhysicsMaterial(FCDocument* document);
00023 virtual ~FCDPhysicsMaterial();
00024
00025
00026 virtual Type GetType() const { return FCDEntity::PHYSICS_MATERIAL; }
00027 float GetStaticFriction() const { return staticFriction; }
00028 void SetStaticFriction(float _staticFriction) { staticFriction = _staticFriction; }
00029 float GetDynamicFriction() const { return dynamicFriction; }
00030 void SetDynamicFriction(float _dynamicFriction) { dynamicFriction = _dynamicFriction; }
00031 float GetRestitution() const { return restitution; }
00032 void SetRestitution(float _restitution) { restitution = _restitution;}
00033
00034
00035 FCDPhysicsMaterial* Clone();
00036
00037
00038 virtual FUStatus LoadFromXML(xmlNode* physicsMaterialNode);
00039
00040
00041 virtual xmlNode* WriteToXML(xmlNode* parentNode) const;
00042 };
00043
00044 #endif // _FCD_MATERIAL_H_