|
@@ -17,10 +17,10 @@ struct area_business_post_area:area_business
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
//将推送区域信息加入人员数据
|
|
//将推送区域信息加入人员数据
|
|
- virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
- virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
|
|
+ virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
//从人员数据中清除区域信息
|
|
//从人员数据中清除区域信息
|
|
- virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
};
|
|
};
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -42,12 +42,12 @@ struct area_business_speed_checker:area_business
|
|
}
|
|
}
|
|
|
|
|
|
//在ptr对象中初始化超速检测所需的对象
|
|
//在ptr对象中初始化超速检测所需的对象
|
|
- virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
//根据超速检测的策略,进行超速判断,超速时进行告警
|
|
//根据超速检测的策略,进行超速判断,超速时进行告警
|
|
//建议使用最近M秒内N秒超时进行判断,M=20,N=15,策略数据记录在ptr中..如此:一辆车理想情况下15s才能检测出来。15*4m/s=60mbut.15s内有可能只上来一个超速点。
|
|
//建议使用最近M秒内N秒超时进行判断,M=20,N=15,策略数据记录在ptr中..如此:一辆车理想情况下15s才能检测出来。15*4m/s=60mbut.15s内有可能只上来一个超速点。
|
|
- virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
//清除超速检测所需的对象
|
|
//清除超速检测所需的对象
|
|
- virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -62,7 +62,7 @@ struct area_business_restricted:area_business
|
|
return 7;
|
|
return 7;
|
|
}
|
|
}
|
|
//记录进入时间等信息,生成告警
|
|
//记录进入时间等信息,生成告警
|
|
- virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr)
|
|
|
|
|
|
+ virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr)
|
|
{
|
|
{
|
|
#if 0
|
|
#if 0
|
|
a->m_enter_point = point(c->x,c->y,c->z);
|
|
a->m_enter_point = point(c->x,c->y,c->z);
|
|
@@ -90,9 +90,9 @@ struct area_business_restricted:area_business
|
|
#endif
|
|
#endif
|
|
|
|
|
|
}
|
|
}
|
|
- virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
//记录退出时间等信息
|
|
//记录退出时间等信息
|
|
- virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr)
|
|
|
|
|
|
+ virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr)
|
|
{
|
|
{
|
|
#if 0
|
|
#if 0
|
|
a->m_last_point = point(c->x,c->y,c->z);
|
|
a->m_last_point = point(c->x,c->y,c->z);
|
|
@@ -150,10 +150,10 @@ struct area_business_car_attendance:area_business
|
|
|
|
|
|
}
|
|
}
|
|
//记录进入时间等信息,结束考勤,根据离开的时间和距离,判断是否记录一条新的考勤记录
|
|
//记录进入时间等信息,结束考勤,根据离开的时间和距离,判断是否记录一条新的考勤记录
|
|
- virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
- virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
|
|
+ virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
//记录离开考勤区域信息,开始考勤
|
|
//记录离开考勤区域信息,开始考勤
|
|
- virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
};
|
|
};
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -167,10 +167,10 @@ struct area_business_person_attendance:area_business
|
|
|
|
|
|
}
|
|
}
|
|
//记录进入时间等信息,开始考勤
|
|
//记录进入时间等信息,开始考勤
|
|
- virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
- virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
|
|
+ virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
//记录离开考勤区域信息,结束考勤
|
|
//记录离开考勤区域信息,结束考勤
|
|
- virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
};
|
|
};
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -187,10 +187,10 @@ struct area_business_count_checker:area_business
|
|
|
|
|
|
}
|
|
}
|
|
//增加计数,并进行判断
|
|
//增加计数,并进行判断
|
|
- virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
- virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
|
|
+ virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
//减少计数
|
|
//减少计数
|
|
- virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -206,11 +206,11 @@ struct area_business_person_dwell_checker:area_business
|
|
return 2;
|
|
return 2;
|
|
}
|
|
}
|
|
//进入区域,记录进入时间
|
|
//进入区域,记录进入时间
|
|
- virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
//判断是否超时
|
|
//判断是否超时
|
|
- virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
//如果有超时告警,取消超时告警
|
|
//如果有超时告警,取消超时告警
|
|
- virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
};
|
|
};
|
|
|
|
|
|
struct area_business_card_enter_or_leave:area_business
|
|
struct area_business_card_enter_or_leave:area_business
|
|
@@ -220,10 +220,10 @@ struct area_business_card_enter_or_leave:area_business
|
|
return 9;
|
|
return 9;
|
|
}
|
|
}
|
|
//进入区域则入库操作
|
|
//进入区域则入库操作
|
|
- virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
- virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_enter(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
|
|
+ virtual void on_hover(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
//出区域则入库
|
|
//出区域则入库
|
|
- virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr){}
|
|
|
|
|
|
+ virtual void on_leave(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> &ptr){}
|
|
};
|
|
};
|
|
|
|
|
|
struct area_business_factory
|
|
struct area_business_factory
|