]> git.tdb.fi Git - r2c2.git/blob - source/3d/beamgate.cpp
Basic support for beam gate sensors
[r2c2.git] / source / 3d / beamgate.cpp
1 #include <msp/gl/object.h>
2 #include <msp/gl/renderer.h>
3 #include "beamgate.h"
4 #include "layout.h"
5
6 using namespace Msp;
7
8 namespace R2C2 {
9
10 BeamGate3D::BeamGate3D(Layout3D &l, BeamGate &g):
11         Object3D(l, g),
12         GL::ObjectInstance(layout.get_catalogue().get<GL::Object>("beamgate.object"))
13 {
14         layout.get_scene().add(*this);
15 }
16
17 BeamGate3D::~BeamGate3D()
18 {
19         layout.get_scene().remove(*this);
20 }
21
22 Vector BeamGate3D::get_node() const
23 {
24         return matrix*Vector(0, 0, 0.04);
25 }
26
27 void BeamGate3D::setup_render(GL::Renderer &renderer, const GL::Tag &) const
28 {
29         renderer.matrix_stack() *= matrix;
30 }
31
32 } // namespace R2C2