scenario_simulator_v2 C++ API
|
#include <hermite_curve.hpp>
Public Member Functions | |
HermiteCurve (const geometry_msgs::msg::Pose &start_pose, const geometry_msgs::msg::Pose &goal_pose, const geometry_msgs::msg::Vector3 &start_vec, const geometry_msgs::msg::Vector3 &goal_vec) | |
HermiteCurve (double ax, double bx, double cx, double dx, double ay, double by, double cy, double dy, double az, double bz, double cz, double dz) | |
std::vector< geometry_msgs::msg::Point > | getTrajectory (size_t num_points=30) const |
const std::vector< geometry_msgs::msg::Point > | getTrajectory (double start_s, double end_s, double resolution, bool denormalize_s=false) const |
const geometry_msgs::msg::Pose | getPose (double s, bool denormalize_s=false, bool fill_pitch=true) const |
const geometry_msgs::msg::Point | getPoint (double s, bool denormalize_s=false) const |
const geometry_msgs::msg::Vector3 | getTangentVector (double s, bool denormalize_s=false) const |
const geometry_msgs::msg::Vector3 | getNormalVector (double s, bool denormalize_s=false) const |
double | get2DCurvature (double s, bool denormalize_s=false) const |
double | getMaximum2DCurvature () const |
double | getLength (size_t num_points) const |
get length of the hermite curve. Calculate distance of two points on hermite curve and accumulate it's distance More... | |
double | getLength () const |
std::optional< double > | getSValue (const geometry_msgs::msg::Pose &pose, double threshold_distance=3.0, bool denormalize_s=false) const |
double | getSquaredDistanceIn2D (const geometry_msgs::msg::Point &point, double s, bool denormalize_s=false) const |
geometry_msgs::msg::Vector3 | getSquaredDistanceVector (const geometry_msgs::msg::Point &point, double s, bool denormalize_s=false) const |
std::set< double > | getCollisionPointsIn2D (const geometry_msgs::msg::Point &point0, const geometry_msgs::msg::Point &point1, bool search_backward=false, bool denormalize_s=false) const |
std::optional< double > | getCollisionPointIn2D (const geometry_msgs::msg::Point &point0, const geometry_msgs::msg::Point &point1, bool search_backward=false, bool denormalize_s=false) const |
std::set< double > | getCollisionPointsIn2D (const std::vector< geometry_msgs::msg::Point > &polygon, bool search_backward=false, bool close_start_end=true, bool denormalize_s=false) const |
std::optional< double > | getCollisionPointIn2D (const std::vector< geometry_msgs::msg::Point > &polygon, bool search_backward=false, bool close_start_end=true, bool denormalize_s=false) const |
Friends | |
class | HermiteCurveTest |
math::geometry::HermiteCurve::HermiteCurve | ( | const geometry_msgs::msg::Pose & | start_pose, |
const geometry_msgs::msg::Pose & | goal_pose, | ||
const geometry_msgs::msg::Vector3 & | start_vec, | ||
const geometry_msgs::msg::Vector3 & | goal_vec | ||
) |
math::geometry::HermiteCurve::HermiteCurve | ( | double | ax, |
double | bx, | ||
double | cx, | ||
double | dx, | ||
double | ay, | ||
double | by, | ||
double | cy, | ||
double | dy, | ||
double | az, | ||
double | bz, | ||
double | cz, | ||
double | dz | ||
) |
double math::geometry::HermiteCurve::get2DCurvature | ( | double | s, |
bool | denormalize_s = false |
||
) | const |
std::optional< double > math::geometry::HermiteCurve::getCollisionPointIn2D | ( | const geometry_msgs::msg::Point & | point0, |
const geometry_msgs::msg::Point & | point1, | ||
bool | search_backward = false , |
||
bool | denormalize_s = false |
||
) | const |
std::optional< double > math::geometry::HermiteCurve::getCollisionPointIn2D | ( | const std::vector< geometry_msgs::msg::Point > & | polygon, |
bool | search_backward = false , |
||
bool | close_start_end = true , |
||
bool | denormalize_s = false |
||
) | const |
std::set< double > math::geometry::HermiteCurve::getCollisionPointsIn2D | ( | const geometry_msgs::msg::Point & | point0, |
const geometry_msgs::msg::Point & | point1, | ||
bool | search_backward = false , |
||
bool | denormalize_s = false |
||
) | const |
std::set< double > math::geometry::HermiteCurve::getCollisionPointsIn2D | ( | const std::vector< geometry_msgs::msg::Point > & | polygon, |
bool | search_backward = false , |
||
bool | close_start_end = true , |
||
bool | denormalize_s = false |
||
) | const |
|
inline |
double math::geometry::HermiteCurve::getLength | ( | size_t | num_points | ) | const |
get length of the hermite curve. Calculate distance of two points on hermite curve and accumulate it's distance
num_points |
Approximate distance of two points on hermite curve, ignore terms above the second order of delta s.
double math::geometry::HermiteCurve::getMaximum2DCurvature | ( | ) | const |
const geometry_msgs::msg::Vector3 math::geometry::HermiteCurve::getNormalVector | ( | double | s, |
bool | denormalize_s = false |
||
) | const |
const geometry_msgs::msg::Point math::geometry::HermiteCurve::getPoint | ( | double | s, |
bool | denormalize_s = false |
||
) | const |
const geometry_msgs::msg::Pose math::geometry::HermiteCurve::getPose | ( | double | s, |
bool | denormalize_s = false , |
||
bool | fill_pitch = true |
||
) | const |
double math::geometry::HermiteCurve::getSquaredDistanceIn2D | ( | const geometry_msgs::msg::Point & | point, |
double | s, | ||
bool | denormalize_s = false |
||
) | const |
geometry_msgs::msg::Vector3 math::geometry::HermiteCurve::getSquaredDistanceVector | ( | const geometry_msgs::msg::Point & | point, |
double | s, | ||
bool | denormalize_s = false |
||
) | const |
std::optional< double > math::geometry::HermiteCurve::getSValue | ( | const geometry_msgs::msg::Pose & | pose, |
double | threshold_distance = 3.0 , |
||
bool | denormalize_s = false |
||
) | const |
const geometry_msgs::msg::Vector3 math::geometry::HermiteCurve::getTangentVector | ( | double | s, |
bool | denormalize_s = false |
||
) | const |
const std::vector< geometry_msgs::msg::Point > math::geometry::HermiteCurve::getTrajectory | ( | double | start_s, |
double | end_s, | ||
double | resolution, | ||
bool | denormalize_s = false |
||
) | const |
std::vector< geometry_msgs::msg::Point > math::geometry::HermiteCurve::getTrajectory | ( | size_t | num_points = 30 | ) | const |
|
friend |