#include "CDrawableModel.h" #include "CRendererBase.h" void CDrawableModel::SetModel(std::shared_ptr model) { if(!model) { return; } //nullptr auto mdl = std::dynamic_pointer_cast(model); if(!mdl) { return; } //not a model! Model = mdl; OnSetModel(this, mdl.get()); } std::shared_ptr CDrawableModel::GetModel() { return Model; } void CDrawableModel::Draw(CRendererBase* renderer) { if(!Model || !Model->IsReady()) { return; //not ready! } OnPreDraw(this, Model.get()); renderer->DrawModel(Model, this->Transform); OnPostDraw(this, Model.get()); }