#ifndef _mesh

#define _mesh


// Macros

#define GL_GLEXT_PROTOTYPES




#include "stdlib.h"

extern char * __ClassNames[];


// Includes

#include "unsignedIntegerArray.h"

#include "floatArray.h"

#include <GL/glx.h>

#include <GL/gl.h>

#include <GL/glext.h>


typedef struct mesh{

	unsigned short __classIndex;

	struct unsignedIntegerArray * indices;

	struct floatArray * textureCoordinates;

	struct floatArray * vertexCoordinates;

	struct floatArray * normalCoordinates;

	GLuint indexBuffer;

	GLuint vertexbuffer;

	GLuint textureCoordinateBuffer;

	GLuint meshIndexBuffer;

	GLuint uvBuffer;


} mesh;

void mesh_createBuffers( mesh * this );

void mesh_createOrderedTriangleStripQuad( mesh * this );

void mesh_createBuffer( mesh * this, GLuint * buffer,  int bufferSize,  float * bufferData );

mesh mesh_new(  );

mesh * mesh_newPointer(  );

#endif
