18 #ifndef IGNITION_RNDF_SEGMENT_HH_ 19 #define IGNITION_RNDF_SEGMENT_HH_ 34 class SegmentHeaderPrivate;
59 public:
bool Load(std::ifstream &_rndfFile,
69 public: std::string
Name()
const;
73 public:
void SetName(
const std::string &_name)
const;
76 private: std::unique_ptr<SegmentHeaderPrivate> dataPtr;
91 public:
explicit Segment(
const int _id);
112 public:
bool Load(std::ifstream &_rndfFile,
121 public:
int Id()
const;
128 public:
bool SetId(
const int _id);
136 public:
unsigned int NumLanes()
const;
140 public: std::vector<rndf::Lane> &Lanes();
144 public:
const std::vector<rndf::Lane> &Lanes()
const;
150 public:
bool Lane(
const int _laneId,
156 public:
bool UpdateLane(
const rndf::Lane &_lane);
163 public:
bool AddLane(
const rndf::Lane &_newLane);
170 public:
bool RemoveLane(
const int _laneId);
178 public: std::string
Name()
const;
182 public:
void SetName(
const std::string &_name)
const;
189 public:
bool Valid()
const;
198 public:
bool operator==(
const Segment &_other)
const;
203 public:
bool operator!=(
const Segment &_other)
const;
212 private: std::unique_ptr<SegmentPrivate> dataPtr;
#define IGNITION_RNDF_VISIBLE
Use to represent "symbol visible" if supported.
Definition: Helpers.hh:55
Abstraction for representing road segments.
Definition: Segment.hh:82
A class that represents a road lane composed by a set of waypoints.
Definition: Lane.hh:220
Definition: Checkpoint.hh:25