+public:
+ void set_direction_towards(Track &, Direction);
+ bool has_direction() const { return up_end>=0; }
+ void set_preferred_direction(Direction);
+ Direction get_preferred_direction() const { return preferred_dir; }
+ void clear_direction();
+ virtual TrackIter iter_for(Track &, Direction) const;