1 #ifndef MARKLIN_3D_SECTION_H_
2 #define MARKLIN_3D_SECTION_H_
19 const Track::Endpoint *track_ep;
23 Endpoint(Track *, const Track::Endpoint *);
25 typedef std::list<Endpoint> EndpointSeq;
27 Section(TrafficManager &, Track *);
28 unsigned get_sensor_id() const { return sensor_id; }
29 const TrackSet &get_tracks() const { return tracks; }
30 const Endpoint *get_endpoint_by_link(const Section *) const;
31 const Endpoint *traverse(const Endpoint *) const;
32 void check_link(Section &);
33 bool reserve(const Train *);
36 TrafficManager &trfc_mgr;
40 EndpointSeq endpoints;
43 void find_routes(Track *, const Track::Endpoint *, unsigned, TrackSet &);
45 static unsigned next_id;
47 typedef std::list<Section *> SectionSeq;
49 } // namespace Marklin