Go to the documentation of this file.00001 #pragma once
00002
00003 #define NOMINMAX
00004 #include "glew.h"
00005 #include <windows.h>
00006 #include "types.h"
00007 #include "GVec4f.h"
00008 #include "constants.h"
00009 #include "GMesh.h"
00010 #include <vector>
00011
00012 using namespace std;
00013
00014 class GAnimatedMesh : public GMesh
00015 {
00016 public:
00018 float *SkinningData;
00020 float **BoneDataM;
00022 vector<GVec4f> transvertices;
00024 vector<GVec4f> transnormals;
00026 GAnimatedMesh(GMesh *Base, bool _bDestroyBase = true);
00028 virtual int Draw(double time, double dtime, GMatrix16 *viewmatrix, GMatrix16 *worldmatrix, int FLAGS);
00030 virtual int DrawSprites(double time, double dtime, GMatrix16 *viewmatrix, GMatrix16 *worldmatrix, int FLAGS);
00032 int Reset(void);
00034 virtual int OutLineMappedVertices(int FLAGS);
00036 virtual int Skin(int FLAGS);
00038 virtual int CreateDefaultVertexMapper(int BoneIdx);
00040 virtual int SetVertexMapper(vector<vertexmapper_t> vm);
00042 int SetupVBO(void);
00044 int UpdateVBO(void);
00046 void SetupTransformations(GBone* B, float *_transformations);
00048 float *GetSkinningTransformations(int &n);
00050 float **GetBoneArrays(void);
00051 };