30 #ifndef GEOMETRY_UTIL_GEOMETRY_UTIL_H_ 31 #define GEOMETRY_UTIL_GEOMETRY_UTIL_H_ 33 #include <opencv2/core/core.hpp> 48 const tf::Vector3& plane_normal,
49 const tf::Vector3& plane_point,
50 const tf::Vector3& point);
53 const tf::Vector3& plane_normal,
54 const tf::Vector3& plane_point,
55 const tf::Vector3& point);
58 const tf::Vector3& line_start,
59 const tf::Vector3& line_end,
60 const tf::Vector3& point);
63 const cv::Vec2d& line_start,
64 const cv::Vec2d& line_end,
65 const cv::Vec2d& point);
68 const tf::Vector3& line_start,
69 const tf::Vector3& line_end,
70 const tf::Vector3& point);
73 const cv::Vec2d& line_start,
74 const cv::Vec2d& line_end,
75 const cv::Vec2d& point);
89 const std::vector<cv::Vec2d>& polygon,
90 const cv::Vec2d& point);
106 const std::vector<cv::Vec2d>& polygon,
107 const cv::Vec2d& point);
121 const tf::Vector3& a1,
122 const tf::Vector3& a2,
123 const tf::Vector3& b1,
124 const tf::Vector3& b2,
128 #endif // GEOMETRY_UTIL_GEOMETRY_UTIL_H_
bool PointInPolygon(const std::vector< cv::Vec2d > &polygon, const cv::Vec2d &point)
double DistanceFromPolygon(const std::vector< cv::Vec2d > &polygon, const cv::Vec2d &point)
tf::Vector3 ProjectPointToPlane(const tf::Vector3 &plane_normal, const tf::Vector3 &plane_point, const tf::Vector3 &point)
tf::Vector3 ProjectToLineSegment(const tf::Vector3 &line_start, const tf::Vector3 &line_end, const tf::Vector3 &point)
double DistanceFromPlane(const tf::Vector3 &plane_normal, const tf::Vector3 &plane_point, const tf::Vector3 &point)
bool ClosestPointToLines(const tf::Vector3 &a1, const tf::Vector3 &a2, const tf::Vector3 &b1, const tf::Vector3 &b2, tf::Vector3 &point)
double DistanceFromLineSegment(const tf::Vector3 &line_start, const tf::Vector3 &line_end, const tf::Vector3 &point)