#pragma once
#include <vector>
#include <string>
#include "OgreFace.h"
#include "OgreMaterial.h"

using namespace std;

#define TRIANGLE_LIST 0
#define TRIANGLE_STRIP 1
#define TRIANGLE_FAN 2

class OgreSubMesh
{
public:
	OgreSubMesh(void);
	~OgreSubMesh(void);

	string name;
	int index;
	OgreMaterial* material;
	bool useSharedVertices;
	bool use32BitIndices;
	int operationType;
	vector<OgreFace*> faces;

	bool hasPositions;
	bool hasNormals;
	bool hasTangents;
	int tangentDimension;
	bool hasBinormals;
	vector<int> textureCoordinates;
	vector<OgreVertex*> vertices;

	Vector3* boundingBoxMin;
	Vector3* boundingBoxMax;
	Vector3* boundingSphereCenter;
	float boundingSphereRadius;
};
