All pastes #369162 Raw Edit

Unnamed

public text v1 · immutable
#369162 ·published 2007-02-23 16:49 UTC
rendered paste body

#ifndef IMPORT_H_
#define IMPORT_H_

#define FPS 30 //30 frames per second

#define OBJECT_DIR "Data/Objects/"
#define MATERIAL_DIR "Data/Materials/"
#define OBJECT_EXT ".obj"
#define MATERIAL_EXT ".mat"

#define INTSIZE 4
#define FLOATSIZE 4

using namespace Math;
using namespace Engine;


class Frame : SceneManager::SceneObject
{

	public:
		Frame(void);
		void Initialize(int vertcount, Vector3 * verts, int index, Action * paction, Model * pmodel);
		~Frame(void);

		virtual bool Draw(Frustrum frustrum,SceneManager::SceneObject::DrawSettings Settings);

		Vector3 * Verticies;
		int VertexCount;
		int Index;
		Action * pAction;

};


class Action
{
	public:
		Action(void);
		void Initialize(string name, int vertcount, int framecount, Frame * frames);
		~Action(void);
		string Name;
		Frame * Frames;
		int FrameCount;
		int VertCount;

};


class Model : SceneManager::SceneObject
{
	public:
		Model(string name);
		Model(void);
		~Model(void);
		Frame LinearInterpol(string action, int iframe, int fframe);
		Action * GetAction(string name);
		Frame * GetFrame(string action, int index);
		string Name;


		int VertexCount;
		int ActionCount;
		Vector3 * Tangents;
		Vector3 * Vert_Coords;
		Vector3 * Norm_Coords;
		Vector2 * UV_Coords;
		Action * Actions;
		Material * Mat;
};


#endif