X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fslot.cpp;fp=source%2Fslot.cpp;h=07dabf0755c1cb9053596771aca953e9e34dbccd;hb=c895aa82dd405146f648e5ca3fcfaa326eab9b87;hp=0000000000000000000000000000000000000000;hpb=c44c350892a4955c7457abe1cbb81bbf0a22a86c;p=libs%2Fgl.git diff --git a/source/slot.cpp b/source/slot.cpp new file mode 100644 index 00000000..07dabf07 --- /dev/null +++ b/source/slot.cpp @@ -0,0 +1,45 @@ +#include +#include "slot.h" + +namespace Msp { +namespace GL { + +Slot::Slot(): + renderable(0) +{ } + +void Slot::set(Renderable *r) +{ + renderable = r; +} + +const Matrix *Slot::get_matrix() const +{ + return renderable ? renderable->get_matrix() : 0; +} + +const Geometry::BoundingSphere *Slot::get_bounding_sphere() const +{ + return renderable ? renderable->get_bounding_sphere() : 0; +} + +void Slot::setup_frame(Renderer &renderer) +{ + if(renderable) + renderable->setup_frame(renderer); +} + +void Slot::finish_frame() +{ + if(renderable) + renderable->finish_frame(); +} + +void Slot::render(Renderer &renderer, const Tag &tag) const +{ + if(renderable) + renderer.render(*renderable, tag); +} + +} // namespace GL +} // namespace Msp