- void set_position(const Point &);
- void set_rotation(float);
- void set_slope(float);
- void set_flex(bool f) { flex=f; }
- void set_turnout_id(unsigned i) { turnout_id=i; }
- void set_sensor_id(unsigned i) { sensor_id=i; }
- const Point &get_position() const { return pos; }
- float get_rotation() const { return rot; }
- unsigned get_article_number() const { return art_nr; }
- const PartSeq &get_parts() const { return parts; }
- const EndpointSeq &get_endpoints() const { return endpoints; }
- const Endpoint *get_endpoint_by_link(Track *) const;
- Point get_endpoint_position(const Endpoint &) const;
- const std::string &get_description() const { return description; }
- float get_slope() const { return slope; }
- bool get_flex() const { return flex; }
- float get_length() const;
- float get_total_length() const;
- unsigned get_turnout_id() const { return turnout_id; }
- unsigned get_sensor_id() const { return sensor_id; }
- unsigned get_n_routes() const;
- bool snap_to(Track &, bool);
- bool snap(Point &, float &) const;
- void break_link(Track &);
- void break_links();
- void check_slope();
- const Endpoint *traverse(const Endpoint *, unsigned) const;
+
+ const TrackType &get_type() const { return type; }
+ void set_position(const Point &);
+ const Point &get_position() const { return pos; }
+ void set_rotation(float);
+ float get_rotation() const { return rot; }
+ void set_slope(float);
+ float get_slope() const { return slope; }
+ void set_flex(bool);
+ bool get_flex() const { return flex; }
+ void set_turnout_id(unsigned);
+ unsigned get_turnout_id() const { return turnout_id; }
+ void set_sensor_id(unsigned);
+ unsigned get_sensor_id() const { return sensor_id; }
+ int get_endpoint_by_link(const Track &) const;
+ Point get_endpoint_position(unsigned) const;
+ float get_endpoint_direction(unsigned) const;
+ bool snap_to(Track &, bool);
+ bool snap(Point &, float &) const;
+ void break_link(Track &);
+ void break_links();
+ const std::vector<Track *> &get_links() const { return links; }
+ Track *get_link(unsigned) const;
+ void check_slope();
+ int traverse(unsigned, unsigned) const;