#include "modelinterface.h"
#include "structures.h"
#include "engineinterface.h"
#include "model.h"
#include "mesh.h"
#include "texture.h"
#include "material.h"

namespace M3D
{
#define GET_MODEL _engine_->_get_model(_id_)

const Coords& ModelInterface::get_location() const 
{ 
	return GET_MODEL->get_location(); 
}
const Rotation& ModelInterface::get_rotation() const 
{ 
	return GET_MODEL->get_rotation(); 
}
const Scale& ModelInterface::get_scale() const 
{ 
	return GET_MODEL->get_scale(); 
}
void ModelInterface::set_location( const Coords &location ) 
{
	GET_MODEL->set_location( location );
}
void ModelInterface::set_rotation( const Rotation &rotation ) 
{
	GET_MODEL->set_rotation( rotation );
}
void ModelInterface::set_scale( const Scale &scale ) 
{
	GET_MODEL->set_scale( scale );
}
void ModelInterface::load(const std::string & fname)
{
        GET_MODEL->load(fname, _engine_);
}

ModelInterface ModelInterface::clone( )
{
	return _engine_->clone_model(*this);
}


}


