safety_excutor.h 1019 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //
  2. // Created by zx on 2021/12/16.
  3. //
  4. #ifndef SHUTTER_VERIFY__SAFETY_EXCUTOR_H_
  5. #define SHUTTER_VERIFY__SAFETY_EXCUTOR_H_
  6. #define VIEW 1
  7. #include "LivoxMid70.h"
  8. #include "setting.pb.h"
  9. typedef struct
  10. {
  11. unsigned short safety;
  12. float left_space;
  13. float right_space;
  14. float theta;
  15. float offset_x;
  16. }tagMeasureData;
  17. class safety_excutor
  18. {
  19. public:
  20. static safety_excutor* CreateExcutor(const shutter::shutter_param& parameter);
  21. ~safety_excutor();
  22. bool verify(tagMeasureData& data);
  23. private:
  24. safety_excutor();
  25. bool init(const shutter::shutter_param& parameter);
  26. bool pointInRectangle(pcl::PointXYZ point,const shutter::box_param& box);
  27. pcl::PointCloud<pcl::PointXYZ>::Ptr PassThroughCloud(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud,
  28. const shutter::box_param& box);
  29. private:
  30. shutter::shutter_param m_parameter;
  31. livox::LivoxMid70* mp_lidars;
  32. };
  33. #endif //SHUTTER_VERIFY__SAFETY_EXCUTOR_H_