#pragma once #include "body.h" #include "model_body.h" #include "vector3.h" #include "matrix4x4.h" class ObjMesh; class DynamicBody : public ModelBody { public: DynamicBody(void); virtual ~DynamicBody(void); virtual void SetRotation(const matrix4x4d& r); virtual void SetVelocity(vector3d v); virtual vector3d GetVelocity(void); void SetAngVelocity(vector3d v); void SetMesh(ObjMesh* m); virtual bool OnCollision(Body* b, Uint32 flags) { return true; } vector3d GetAngularMomentum(void); void SetMassDistributionFromCollMesh(const CollMesh* m); virtual void Disable(void); virtual void Enable(void); virtual double GetMass(void) const { return m_mass.mass; } dBodyID m_body; dMass m_mass; protected: private: ObjMesh* m_mesh; };