shuttler_verifier.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. //
  2. // Created by zx on 2021/8/6.
  3. //
  4. #ifndef ROBOT_CONTROL_FEATURE_EXTRA_SRC_SHUTTLER_VERIFIER_H_
  5. #define ROBOT_CONTROL_FEATURE_EXTRA_SRC_SHUTTLER_VERIFIER_H_
  6. #include <iostream>
  7. #include <pcl/point_types.h>
  8. #include <pcl/point_cloud.h>
  9. #include <pcl/io/pcd_io.h>
  10. #include <opencv2/opencv.hpp>
  11. #include <mutex>
  12. #include "error_code.h"
  13. #include <pcl/visualization/pcl_visualizer.h>
  14. class shuttler_verifier
  15. {
  16. public:
  17. shuttler_verifier();
  18. ~shuttler_verifier();
  19. shuttler_verifier(const shuttler_verifier& shutter)= default;
  20. shuttler_verifier& operator=(const shuttler_verifier& shutter);
  21. void set_condition(Eigen::Vector4f plane,float maxd,float mind);
  22. Error_manager verify(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud);
  23. void create_plane(pcl::visualization::PCLVisualizer& viewer);
  24. protected:
  25. bool pointInRectangle(pcl::PointXYZ point);
  26. private:
  27. std::mutex m_mutex;
  28. float m_maxd;
  29. float m_mind;
  30. Eigen::Vector4f m_plane; //平面法向量
  31. };
  32. #endif //ROBOT_CONTROL_FEATURE_EXTRA_SRC_SHUTTLER_VERIFIER_H_