1 #ifndef LIBR2C2_BEAMGATE_H_
2 #define LIBR2C2_BEAMGATE_H_
4 #include "beamgatetype.h"
6 #include "trackattachment.h"
10 class BeamGate: public TrackAttachment, public Sensor
13 class Loader: public Msp::DataFile::ObjectLoader<BeamGate>
18 void address(unsigned);
19 void position(float, float, float);
24 using TrackAttachment::layout;
30 virtual BeamGate *clone(Layout * = 0) const;
31 virtual const BeamGateType &get_type() const;
33 virtual void set_position(const Vector &);
34 virtual void set_rotation(const Angle &);
35 virtual void set_tilt(const Angle &) { }
37 void update_attachment();
40 virtual Block *get_block() const;
42 void save(std::list<Msp::DataFile::Statement> &) const;