#ifndef __SPECIAL_AREA_HPP #define __SPECIAL_AREA_HPP #include #include #include "point.h" struct special_area_entry { special_area_entry(double x,double y,double z,double ex,double ey, double ez,int32_t areaid,std::string categoryid) :start_point(x,y,z) ,end_point(ex,ey,ez) ,special_area_id(areaid) ,car_type(categoryid) {} point start_point; point end_point; int special_area_id; std::string car_type; }; struct special_area_list { std::vector m_v; std::map> m_m; int32_t get_special_id(uint32_t cardid,const point p,int32_t categoryid); void init_from_db(); void init_special_area_entry(); void init_special_card(); static special_area_list * instance(); }; #endif