1 #include <msp/gl/renderer.h>
5 #include "signaltype.h"
11 Signal3D::Signal3D(Layout3D &l, Signal &s):
13 GL::ObjectInstance(l.get_catalogue().get_signal(s.get_type()).get_object()),
17 layout.add_signal(*this);
18 layout.get_scene().add(*this);
23 layout.remove_signal(*this);
24 layout.get_scene().remove(*this);
27 Vector Signal3D::get_node() const
29 return matrix*Vector(0, -0.035, 0.13);
32 void Signal3D::setup_render(GL::Renderer &renderer, const GL::Tag &) const
34 renderer.matrix_stack() *= matrix;
35 // XXX Use track gauge, configure signal side
36 renderer.matrix_stack() *= GL::Matrix::translation(0, -0.035, 0);