18 #ifndef IGNITION_RNDF_RNDF_HH_ 19 #define IGNITION_RNDF_RNDF_HH_ 33 class RNDFHeaderPrivate;
61 public:
bool Load(std::ifstream &_rndfFile,
70 public: std::string
Version()
const;
74 public:
void SetVersion(
const std::string &_version)
const;
82 public: std::string
Date()
const;
86 public:
void SetDate(
const std::string &_newDate)
const;
89 private: std::unique_ptr<RNDFHeaderPrivate> dataPtr;
102 public:
explicit RNDF(
const std::string &_filepath);
105 public:
virtual ~
RNDF();
116 public:
bool Load(
const std::string &_filePath);
124 public: std::string Name()
const;
128 public:
void SetName(
const std::string &_name);
136 public:
unsigned int NumSegments()
const;
140 public: std::vector<rndf::Segment> &Segments();
144 public:
const std::vector<rndf::Segment> &Segments()
const;
150 public:
bool Segment(
const int _segmentId,
170 public:
bool RemoveSegment(
const int _segmentId);
178 public:
unsigned int NumZones()
const;
182 public: std::vector<rndf::Zone> &Zones();
186 public:
const std::vector<rndf::Zone> &Zones()
const;
192 public:
bool Zone(
const int _zoneId,
198 public:
bool UpdateZone(
const rndf::Zone &_zone);
205 public:
bool AddZone(
const rndf::Zone &_newZone);
212 public:
bool RemoveZone(
const int _zoneId);
220 public: std::string
Version()
const;
224 public:
void SetVersion(
const std::string &_version)
const;
232 public: std::string
Date()
const;
236 public:
void SetDate(
const std::string &_newDate)
const;
244 public:
bool Valid()
const;
258 private:
void UpdateCache();
262 private: std::unique_ptr<RNDFPrivate> 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 unique id of the form x.y.z, where x and z are positive numbers and y is a non-negative number (per...
Definition: UniqueId.hh:32
An RNDF node class.
Definition: RNDFNode.hh:40
An abstraction for representing areas within free vehicle movement is permitted.
Definition: Zone.hh:85
Definition: Checkpoint.hh:25
An abstraction to represent a Route Network Definition File (RNDF).
Definition: RNDF.hh:95