#ifndef BOX_H
#define BOX_H

#include "mesh.h"

namespace CBK
{
	namespace Shapes
	{
		class Box : public Mesh
		{
		public:
			//Create a new shape
			Box(const MeshParam& params, const std::string& name = "");
			Box(const MeshParam& params, const FLOAT Width, const FLOAT Height, const FLOAT Depth, const std::string& name = "");

			//Clean up
			virtual ~Box(void);

			//Copies the shape
			Box(const Box& other);
			Box& operator=(const Box& other);

			//Allow the size to be changed. Must call create afterwards
			Box& resize(const FLOAT Width, const FLOAT Height, const FLOAT Depth);

			virtual Item& load(const std::string& name, const MeshParam& params);

		protected:
			FLOAT Width;
			FLOAT Height;
			FLOAT Depth;

		private:
		};
	}
}

#endif //BOX_H