18 #ifndef MANIFOLD_RNDF_ZONE_HH_
19 #define MANIFOLD_RNDF_ZONE_HH_
35 class ZoneHeaderPrivate;
60 public:
bool Load(std::ifstream &_rndfFile,
70 public: std::string
Name()
const;
74 public:
void SetName(
const std::string &_name)
const;
77 private: std::unique_ptr<ZoneHeaderPrivate> dataPtr;
89 public:
explicit Zone();
94 public:
explicit Zone(
const int _id);
102 public:
virtual ~
Zone();
115 public:
bool Load(std::ifstream &_rndfFile,
124 public:
int Id()
const;
130 public:
bool SetId(
const int _id);
138 public:
unsigned int NumSpots()
const;
142 public: std::vector<ParkingSpot> &Spots();
146 public:
const std::vector<ParkingSpot> &Spots()
const;
152 public:
bool Spot(
const int _psId,
ParkingSpot &_ps)
const;
171 public:
bool RemoveSpot(
const int _psId);
191 public: std::string Name()
const;
195 public:
void SetName(
const std::string &_name)
const;
203 public:
bool Valid()
const;
212 public:
bool operator==(
const Zone &_other)
const;
217 public:
bool operator!=(
const Zone &_other)
const;
222 public:
Zone &operator=(
const Zone &_other);
226 private: std::unique_ptr<ZonePrivate> 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
An abstraction for representing a parking spot within a zone.
Definition: ParkingSpot.hh:94
Abstraction for representing a perimeter as a collection of perimeter points.
Definition: Perimeter.hh:101