// // Created by zx on 2021/12/16. // #ifndef SHUTTER_VERIFY__SAFETY_EXCUTOR_H_ #define SHUTTER_VERIFY__SAFETY_EXCUTOR_H_ #define VIEW 1 #include "LivoxMid70.h" #include "setting.pb.h" typedef struct { unsigned short wheel_path_safety; unsigned short parkspcae_safety; float left_space; float right_space; float theta; float offset_x; }tagMeasureData; class safety_excutor { public: static safety_excutor* CreateExcutor(const shutter::shutter_param& parameter); ~safety_excutor(); bool verify(tagMeasureData& data); private: safety_excutor(); bool init(const shutter::shutter_param& parameter); bool pointInRectangle(pcl::PointXYZ point,const shutter::box_param& box); pcl::PointCloud::Ptr PassThroughCloud(pcl::PointCloud::Ptr cloud, const shutter::box_param& box); private: shutter::shutter_param m_parameter; livox::LivoxMid70* mp_lidars; }; #endif //SHUTTER_VERIFY__SAFETY_EXCUTOR_H_