Lephisto/src/model_body.h
Rtch90 7c8204f02d [Change] Some further work on new dynamics.
[Fix] Load/Save works again.
[Meh] Collision test ok, but no response.
2018-04-08 17:18:07 +01:00

48 lines
1.1 KiB
C++

#pragma once
#include <vector>
#include "body.h"
#include "vector3.h"
#include "matrix4x4.h"
#include "sbre/sbre.h"
class ObjMesh;
class CollMeshSet;
class Geom;
class ModelBody: public Body {
public:
OBJDEF(ModelBody, Body, MODELBODY);
ModelBody(void);
virtual ~ModelBody(void);
void SetPosition(vector3d p);
virtual void SetRotMatrix(const matrix4x4d& r);
vector3d GetPosition(void) const;
virtual double GetRadius(void) const;
void TransformToModelCoords(const Frame* camFrame);
void GetRotMatrix(matrix4x4d& m) const;
virtual void SetFrame(Frame* f);
/* To remove from simulation for a period. */
virtual void Disable(void);
virtual void Enable(void);
void GetAabb(Aabb& aabb);
void TriMeshUpdateLastPos(const matrix4x4d& currentTransform);
void SetModel(int sbreModel);
void RenderSbreModel(const Frame* camFrame, int model, ObjParams* params);
class GeomBit : public Object {
public:
OBJDEF(GeomBit, Object, GEOM);
Body* parent;
int flags;
};
protected:
virtual void Save(void);
virtual void Load(void);
private:
CollMeshSet* m_collMeshSet;
Geom* m_geom;
};