18 #ifndef MANIFOLD_RNDF_RNDF_HH_
19 #define MANIFOLD_RNDF_RNDF_HH_
34 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;
169 public:
bool RemoveSegment(
const int _segmentId);
177 public:
unsigned int NumZones()
const;
181 public: std::vector<rndf::Zone> &Zones();
185 public:
const std::vector<rndf::Zone> &Zones()
const;
196 public:
bool UpdateZone(
const rndf::Zone &_zone);
203 public:
bool AddZone(
const rndf::Zone &_newZone);
210 public:
bool RemoveZone(
const int _zoneId);
218 public: std::string Version()
const;
222 public:
void SetVersion(
const std::string &_version)
const;
230 public: std::string Date()
const;
234 public:
void SetDate(
const std::string &_newDate)
const;
241 public:
bool Valid()
const;
245 private: std::unique_ptr<RNDFPrivate> dataPtr;
An abstraction for representing areas within free vehicle movement is permitted.
Definition: Zone.hh:85
#define MANIFOLD_VISIBLE
Use to represent "symbol visible" if supported.
Definition: Helpers.hh:55
Abstraction for representing road segments.
Definition: Segment.hh:82
An abstraction to represent a Route Network Definition File (RNDF).
Definition: RNDF.hh:95