#ifndef COBJMESH_AQFDAQGGGG
#define COBJMESH_AQFDAQGGGG

#include "Vector.h"
#include "LinkedList.h"

struct sVertex
{
       sVector pos;
       sVector normal;
       float tu, uv;
};

struct sFace
{
     sVertex *vertex[3];
     sVector faceNormal;
};


class CObjMesh
{
private:
       bool smoothRender;
       sVector pos;
       sVector scale;
       sVector rotation;
        
       CLinkedList vertexList;
       CLinkedList faceList;
        
public:
       void setPos(sVector pos);
       void setScale(sVector scale);
       void setRotation(sVector rotation);
       
       sVector getPos();
       sVector getScale();
       sVector getRotation();
       
       bool Collision(sVector source, sVector dest);
       void setSmoothRender(bool smooth);
       void LoadObjFile(char *filename);
       void Render();
       
       CObjMesh();
       virtual ~CObjMesh();
		// No description
		void RenderShadowVolume();
};

#endif
