|
| std::optional< double > | getPolygonDistance (const geometry_msgs::msg::Pose &pose0, const traffic_simulator_msgs::msg::BoundingBox &bbox0, const geometry_msgs::msg::Pose &pose1, const traffic_simulator_msgs::msg::BoundingBox &bbox1) |
| | Get the Polygon Distance object. More...
|
| |
| std::optional< std::pair< geometry_msgs::msg::Pose, geometry_msgs::msg::Pose > > | getClosestPoses (const geometry_msgs::msg::Pose &pose0, const traffic_simulator_msgs::msg::BoundingBox &bbox0, const geometry_msgs::msg::Pose &pose1, const traffic_simulator_msgs::msg::BoundingBox &bbox1) |
| |
| boost_point | pointToSegmentProjection (const boost_point &p, const boost_point &p1, const boost_point &p2) |
| |
| boost_point | toBoostPoint (const geometry_msgs::msg::Point &point) |
| |
| boost_polygon | toBoostPolygon (const std::vector< geometry_msgs::msg::Point > &points) |
| |
| geometry_msgs::msg::Pose | toPose (const boost_point &point) |
| |
| geometry_msgs::msg::Pose | subtractPoses (const geometry_msgs::msg::Pose &pose1, const geometry_msgs::msg::Pose &pose2) |
| |
| auto | toPolygon2D (const traffic_simulator_msgs::msg::BoundingBox &bounding_box) -> std::vector< geometry_msgs::msg::Point > |
| |
| auto | toPolygon2D (const geometry_msgs::msg::Pose &pose, const traffic_simulator_msgs::msg::BoundingBox &bounding_box) -> boost_polygon |
| |
| std::vector< geometry_msgs::msg::Point > | getPointsFromBbox (const traffic_simulator_msgs::msg::BoundingBox &bounding_box, const double width_extension_right=0.0, const double width_extension_left=0.0, const double length_extension_front=0.0, const double length_extension_rear=0.0) |
| |
| DistancesFromCenterToEdge | getDistancesFromCenterToEdge (const traffic_simulator_msgs::msg::BoundingBox &bounding_box) |
| |
| boost_point | getClosestPointOnPolygon (const boost_point &query_point, const boost_polygon &polygon) |
| |
| double | getDistance (const geometry_msgs::msg::Point &p0, const geometry_msgs::msg::Point &p1) |
| |
| double | getDistance (const geometry_msgs::msg::Pose &p0, const geometry_msgs::msg::Point &p1) |
| |
| double | getDistance (const geometry_msgs::msg::Point &p0, const geometry_msgs::msg::Pose &p1) |
| |
| double | getDistance (const geometry_msgs::msg::Pose &p0, const geometry_msgs::msg::Pose &p1) |
| |
| double | getDistance2D (const std::vector< geometry_msgs::msg::Point > &polygon0, const std::vector< geometry_msgs::msg::Point > &polygon1) |
| |
| bool | checkCollision2D (const geometry_msgs::msg::Pose &pose0, const traffic_simulator_msgs::msg::BoundingBox &bbox0, const geometry_msgs::msg::Pose &pose1, const traffic_simulator_msgs::msg::BoundingBox &bbox1) |
| |
| bool | contains (const std::vector< geometry_msgs::msg::Point > &polygon, const geometry_msgs::msg::Point &point) |
| |
| bool | isIntersect2D (const LineSegment &line0, const LineSegment &line1) |
| |
| bool | isIntersect2D (const std::vector< LineSegment > &lines) |
| |
| std::optional< geometry_msgs::msg::Point > | getIntersection2D (const LineSegment &line0, const LineSegment &line1) |
| |
| std::vector< geometry_msgs::msg::Point > | getIntersection2D (const std::vector< LineSegment > &lines) |
| |
| auto | getLineSegments (const std::vector< geometry_msgs::msg::Point > &points, const bool close_start_end) -> std::vector< LineSegment > |
| | Get the line segments from points. More...
|
| |
| double | getMaxValue (const std::vector< geometry_msgs::msg::Point > &points, const Axis &axis) |
| |
| double | getMinValue (const std::vector< geometry_msgs::msg::Point > &points, const Axis &axis) |
| |
| std::vector< double > | filterByAxis (const std::vector< geometry_msgs::msg::Point > &points, const Axis &axis) |
| |
| std::vector< geometry_msgs::msg::Point > | get2DConvexHull (const std::vector< geometry_msgs::msg::Point > &points) |
| |
| auto | convertDirectionToQuaternion (const double dx, const double dy, const double dz) |
| |
| template<typename T , std::enable_if_t< std::conjunction_v< IsLikeVector3< T >>, std::nullptr_t > = nullptr> |
| auto | convertDirectionToQuaternion (const T &v) |
| |
| template<typename T , std::enable_if_t< std::conjunction_v< IsLikeVector3< T >>, std::nullptr_t > = nullptr> |
| auto | convertEulerAngleToQuaternion (const T &v) |
| |
| template<typename T , std::enable_if_t< std::conjunction_v< IsLikeQuaternion< T >>, std::nullptr_t > = nullptr> |
| auto | getAngleDifference (const T &quat1, const T &quat2) -> double |
| |
| template<typename T , std::enable_if_t< std::conjunction_v< IsLikeQuaternion< T >>, std::nullptr_t > = nullptr> |
| auto | getNormalVector (const T &orientation) -> geometry_msgs::msg::Vector3 |
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeQuaternion< T >, IsLikeQuaternion< U >>, std::nullptr_t > = nullptr> |
| auto | getRotation (T from, U to) |
| |
| template<typename T , std::enable_if_t< std::conjunction_v< IsLikeQuaternion< T >>, std::nullptr_t > = nullptr> |
| auto | getRotationMatrix (T quat) -> Eigen::Matrix3d |
| |
| template<typename T , typename U , typename V , typename W , std::enable_if_t< std::conjunction_v< std::is_scalar< T >, std::is_scalar< U >, std::is_scalar< V >, std::is_scalar< W >>, std::nullptr_t > = nullptr> |
| auto | makeQuaternion (const T &x, const U &y, const V &z, const W &w) |
| |
| template<typename T , std::enable_if_t< IsLikeQuaternion< T >::value, std::nullptr_t > = nullptr> |
| auto | norm (const T &q) |
| |
| template<typename T , std::enable_if_t< IsLikeQuaternion< T >::value, std::nullptr_t > = nullptr> |
| auto | normalize (const T &q) |
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeQuaternion< T >, IsLikeQuaternion< U >>, std::nullptr_t > = nullptr> |
| auto | operator+ (const T &a, const U &b) |
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeQuaternion< T >, IsLikeQuaternion< U >>, std::nullptr_t > = nullptr> |
| auto | operator- (const T &a, const U &b) |
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeQuaternion< T >, IsLikeQuaternion< U >>, std::nullptr_t > = nullptr> |
| auto | operator* (const T &a, const U &b) |
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeQuaternion< T >, IsLikeQuaternion< U >>, std::nullptr_t > = nullptr> |
| auto | operator+= (T &a, const U &b) -> decltype(auto) |
| |
| template<typename T , std::enable_if_t< std::conjunction_v< IsLikeQuaternion< T >>, std::nullptr_t > = nullptr> |
| auto | convertQuaternionToEulerAngle (const T &q) |
| |
| template<typename T , typename U , typename V , std::enable_if_t< std::conjunction_v< IsLikeQuaternion< T >, IsLikeQuaternion< U >, std::is_scalar< V >>, std::nullptr_t > = nullptr> |
| auto | slerp (T quat1, U quat2, V t) |
| |
| const geometry_msgs::msg::Pose | getRelativePose (const geometry_msgs::msg::Pose &from, const geometry_msgs::msg::Pose &to) |
| | Get the relative pose between two poses. More...
|
| |
| const geometry_msgs::msg::Point | transformPoint (const geometry_msgs::msg::Pose &pose, const geometry_msgs::msg::Point &point) |
| | Get transformed pose in world frame. More...
|
| |
| const geometry_msgs::msg::Point | transformPoint (const geometry_msgs::msg::Pose &pose, const geometry_msgs::msg::Pose &sensor_pose, const geometry_msgs::msg::Point &point) |
| | Get transformed pose in sensor frame. More...
|
| |
| std::vector< geometry_msgs::msg::Point > | transformPoints (const geometry_msgs::msg::Pose &pose, const std::vector< geometry_msgs::msg::Point > &points) |
| | Get transformed points in world frame. More...
|
| |
| std::vector< geometry_msgs::msg::Point > | transformPoints (const geometry_msgs::msg::Pose &pose, const geometry_msgs::msg::Pose &sensor_pose, const std::vector< geometry_msgs::msg::Point > &points) |
| | Get transformed points in sensor frame. More...
|
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeVector3< T >, IsLikeVector3< U >>, std::nullptr_t > = nullptr> |
| auto | cross2d (const T &a, const U &b) |
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeVector3< T >, IsLikeVector3< U >>, std::nullptr_t > = nullptr> |
| auto | hypot (const T &from, const U &to) |
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeVector3< T >, IsLikeVector3< U >>, std::nullptr_t > = nullptr> |
| auto | innerProduct (const T &v0, const U &v1) |
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeVector3< T >, IsLikeVector3< U >>, std::nullptr_t > = nullptr> |
| auto | getInternalAngle (const T &v0, const U &v1) |
| |
| template<typename T , std::enable_if_t< std::conjunction_v< IsLikeVector3< T >>, std::nullptr_t > = nullptr> |
| auto | operator+ (const T &v, const Eigen::Vector3d &eigen_v) -> T |
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeVector3< T >, std::is_scalar< U >>, std::nullptr_t > = nullptr> |
| auto | operator/ (const T &a, const U &b) |
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeVector3< T >, IsLikeVector3< U >>, std::nullptr_t > = nullptr> |
| auto | operator== (const T &a, const U &b) -> bool |
| |
| auto | castToVec (const geometry_msgs::msg::Point &p) -> geometry_msgs::msg::Vector3 |
| |
| auto | castToPoint (const geometry_msgs::msg::Vector3 &p) -> geometry_msgs::msg::Point |
| |
| template<typename T , typename U , std::enable_if_t< std::conjunction_v< IsLikeVector3< T >, std::is_scalar< U >>, std::nullptr_t > = nullptr> |
| auto | truncate (const T &v, const U &max) |
| |
| template<typename T , typename U , typename V , std::enable_if_t< std::conjunction_v< std::is_scalar< T >, std::is_scalar< U >, std::is_scalar< V >>, std::nullptr_t > = nullptr> |
| auto | vector3 (const T &x, const U &y, const V &z) |
| |