33 lines
768 B
C++
33 lines
768 B
C++
#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;
|
|
};
|