/*-------------------------------------------------------------------- * project ....: Darpa Urban Challenge 2007 * authors ....: Team vlr * organization: Transregional Collaborative Research Center 28 / * Cognitive Automobiles * creation ...: xx/xx/2007 * revisions ..: $Id:$ ---------------------------------------------------------------------*/ #ifndef AW_PERIMETER_H #define AW_PERIMETER_H #include "aw_exit.h" #include "aw_perimeterPoint.h" namespace vlr { namespace rndf { class Zone; typedef std::map TPerimeterMap; class Perimeter : public NetElement { public: Perimeter(uint32_t id, const std::string& strName); Perimeter(const Perimeter&); virtual ~Perimeter(void); Perimeter& operator=(const Perimeter& other); Perimeter& copy(const Perimeter& other); void setZone(Zone* z) { parent_zone_ = z; } Zone* zone() const { return parent_zone_; } bool addPerimeterPoint(PerimeterPoint* pPerimeterPoint); bool addPerimeterPoint(PerimeterPoint* pPerimeterPoint, uint32_t insert_before); void removePerimeterPoint(PerimeterPoint* pPerimeterPoint); void removePerimeterPoint(uint32_t index); PerimeterPoint* perimeterPoint(uint32_t index) { return (index