Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

/home/rdbrown/doxygen/cse125g1/src/modules/actor/Skin.h

00001 #ifndef _SKIN_H
00002 #define _SKIN_H
00003 
00004 #include "Skeleton.h"
00005 #include "Skinvert.h"
00006 #include "Token.h"
00007 #include "TexCoord.h"
00008 #include "resources/texturemanager.h"
00009 
00010 #define SKIN_SCALE              0.2/15.0
00011 
00012 class FaceIndices {
00013         public:
00014                 FaceIndices() {}
00015                 ~FaceIndices() {}
00016                 void Set(int _a, int _b, int _c) { a = _a; b = _b; c = _c; }
00017         public:
00018                 int a, b, c;
00019 };
00020 
00021 class Skin {
00022         public:
00023                 Skin() : displayList(-1) {}
00024                 ~Skin();
00025                 void Load(Tokenizer &tokens);
00026                 void AllocateVertexArrays();
00027                 void SetSkel(BallJoint *_joints) { joints = _joints; }
00028                 void Update() {
00029                         int i;
00030                         Vector3 *currVert = verts, *currNorm = norms;
00031                         for(i=0;i < numVerts;i++)
00032                         {
00033                                 skinVerts[i].Update(joints, currVert, currNorm);
00034                                 currVert++;
00035                                 currNorm++;
00036                         }
00037                 }
00038                 void Draw();
00039 
00040         public:
00041                 int numVerts, numFaces;
00042                 SkinVert *skinVerts;
00043                 Vector3 *verts, *norms;
00044                 TexCoord *texCoords;
00045                 FaceIndices *vertIndices, *normIndices;
00046                 BallJoint *joints;
00047                 int displayList;
00048 };
00049 
00050 #endif          //_SKIN_H

Generated on Thu Aug 18 16:03:09 2005 for Robin Hood: Thieves & Knights by doxygen1.2.18