18 #ifndef MANIFOLD_RNDF_PERIMETER_HH_
19 #define MANIFOLD_RNDF_PERIMETER_HH_
33 class PerimeterHeaderPrivate;
34 class PerimeterPrivate;
60 public:
bool Load(std::ifstream &_rndfFile,
71 public:
unsigned int NumExits()
const;
75 public: std::vector<Exit> &
Exits();
79 public:
const std::vector<Exit> &
Exits()
const;
94 private: std::unique_ptr<PerimeterHeaderPrivate> dataPtr;
127 public:
bool Load(std::ifstream &_rndfFile,
137 public:
unsigned int NumPoints()
const;
141 public: std::vector<rndf::Waypoint> &Points();
145 public:
const std::vector<rndf::Waypoint> &Points()
const;
170 public:
bool RemovePoint(
const int _wpId);
178 public:
unsigned int NumExits()
const;
182 public: std::vector<Exit> &Exits();
186 public:
const std::vector<Exit> &Exits()
const;
192 public:
bool AddExit(
const Exit &_newExit);
198 public:
bool RemoveExit(
const Exit &_exit);
205 public:
bool Valid()
const;
214 public:
bool operator==(
const Perimeter &_other)
const;
219 public:
bool operator!=(
const Perimeter &_other)
const;
228 private: std::unique_ptr<PerimeterPrivate> dataPtr;
A reference point.
Definition: Waypoint.hh:42
An exit clas that shows how to go from an exit waypoint to an entry waypoint.
Definition: Exit.hh:32
#define MANIFOLD_VISIBLE
Use to represent "symbol visible" if supported.
Definition: Helpers.hh:55
Abstraction for representing a perimeter as a collection of perimeter points.
Definition: Perimeter.hh:101