X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fbeamgate.cpp;h=20a218b22e22a7926b52f20bf4b067d0aa5f51a5;hb=5929b101ee38b5668b328e7b1eac4bf49c912412;hp=614bce9657916152431cda52c1ce0853ba76c318;hpb=a4a6af55ad5a9bfa14067532b1d1c914ef4c6668;p=r2c2.git diff --git a/source/libr2c2/beamgate.cpp b/source/libr2c2/beamgate.cpp index 614bce9..20a218b 100644 --- a/source/libr2c2/beamgate.cpp +++ b/source/libr2c2/beamgate.cpp @@ -13,17 +13,17 @@ BeamGate::BeamGate(Layout &l): { invert = true; - layout.add(*this); + TrackAttachment::layout.add(*this); } BeamGate::~BeamGate() { - layout.remove(*this); + TrackAttachment::layout.remove(*this); } BeamGate *BeamGate::clone(Layout *to_layout) const { - BeamGate *gate = new BeamGate(to_layout ? *to_layout : layout); + BeamGate *gate = new BeamGate(to_layout ? *to_layout : TrackAttachment::layout); gate->set_position(position); gate->set_rotation(rotation); return gate; @@ -50,13 +50,14 @@ void BeamGate::set_rotation(const Angle &r) void BeamGate::update_attachment() { - attach_to_closest(100*layout.get_catalogue().get_gauge()); + attach_to_closest(100); if(track) { - TrackPoint tp = track->get_point(track.entry(), offset); - position = tp.pos; - rotation = tp.dir; + OrientedPoint p = track.point(); + position = p.position; + rotation = p.rotation; + tilt = p.tilt; } }