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 Block(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 Block *) const;
31 const Endpoint *traverse(const Endpoint *) const;
32 void check_link(Block &);
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<Block *> BlockSeq;
49 } // namespace Marklin