// // Created by zx on 23-12-7. // #ifndef CERES_TEST_FALLMODEL_H #define CERES_TEST_FALLMODEL_H #include #include #include #include #include #include #include "wheel_detector.h" enum FallDirect{ ePositive=0, //正方向落体 eNagtive=1, //负方向落体 }; class FallModel { public: FallModel(); static bool fall(pcl::PointCloud::Ptr cloud,pcl::PointCloud::Ptr& out, pcl::PointXYZ& tp,float& theta,FallDirect direct); static pcl::PointCloud::Ptr transformCloud(pcl::PointCloud::Ptr cloud, pcl::PointXYZ center,float dx,float theta); protected: static void computeForce(pcl::PointCloud::Ptr cloud,pcl::PointXYZ& center, pcl::PointXYZ& force_center,float& gravy,float& force,float minx,FallDirect direct); }; #endif //CERES_TEST_FALLMODEL_H