#pragma once
#include "PosModel.h"
#include "Geometry.h"
#include "Material.h"
#include "Effect.h"

#include <map>

typedef map<Geometry*,Material*> GeometryMap;

class Model : public PosModel
{
	private:
	string name;
	BoundingSphere bs;
	GeometryMap geometries;
	

	public:
	void setName(string name);
	string getName();
	void setBoundingSphere(float* bsCenter,float bsRadius);
	void addGeometry(PosGeometry* geometry,PosMaterial *material);
	BoundingSphere getBoundingSphere();
	void render(Effect* effect, ID3D10EffectPass* pass);
	void createVBOs(ID3D10Effect* effect);
	~Model();
};