lanelet2_route_planning v2.0.0
Loading...
Searching...
No Matches
geometry.hpp File Reference
#include <optional>
#include <vector>
#include <Eigen/Core>

Go to the source code of this file.

Classes

struct  lanelet2_route_planning::IntersectionOfLinesResult
 Return type of intersectionOfLines. More...
 
struct  lanelet2_route_planning::ProjectPointToLineStringAlongAxisResult
 Return type of projectPointToLineStringAlongAxis. More...
 

Namespaces

namespace  lanelet2_route_planning
 

Functions

double lanelet2_route_planning::wrapAngle (const double angle)
 Wraps an angle to the range [-π, π].
 
double lanelet2_route_planning::angleBetweenVectors (const Eigen::Vector2d &v1, const Eigen::Vector2d &v2)
 Computes the angle between two 2D vectors.
 
std::optional< IntersectionOfLinesResultlanelet2_route_planning::intersectionOfLines (const std::vector< Eigen::Vector2d > &line1, const std::vector< Eigen::Vector2d > &line2)
 Computes the intersection of two 2D lines.
 
Eigen::Vector2d lanelet2_route_planning::tangentOfPointAlongLineString (const Eigen::Vector2d &point, const Eigen::Vector2d &prev_point, const Eigen::Vector2d &next_point)
 Computes a unit vector tangential to a point along a line string.
 
Eigen::Vector2d lanelet2_route_planning::normalOfPointAlongLineString (const Eigen::Vector2d &point, const Eigen::Vector2d &prev_point, const Eigen::Vector2d &next_point)
 Computes a unit vector normal to a point along a line string.
 
std::vector< Eigen::Vector3d > lanelet2_route_planning::resampleLineString (const std::vector< Eigen::Vector3d > &line_string, const double delta, double &offset)
 Resamples a 3D line string with a constant sampling distance.
 
std::vector< size_t > lanelet2_route_planning::adaptivelySampleLineString (const std::vector< Eigen::Vector2d > &line_string, double max_lateral_error, const std::vector< size_t > &break_after_indices={})
 Simplifies a 2D line string within a maximum lateral error.
 
Eigen::Vector2d lanelet2_route_planning::projectPointToLineString (const Eigen::Vector2d &point, const std::vector< Eigen::Vector2d > &line_string)
 Projects a point to the closest line segment of a line string.
 
Eigen::Vector3d lanelet2_route_planning::projectPointToLineString (const Eigen::Vector3d &point, const std::vector< Eigen::Vector3d > &line_string)
 Projects a 3D point to the closest line segment of a 3D line string.
 
std::optional< ProjectPointToLineStringAlongAxisResultlanelet2_route_planning::projectPointToLineStringAlongAxis (const Eigen::Vector2d &point, const Eigen::Vector2d &axis, const std::vector< Eigen::Vector2d > &line_string)
 Projects a point along an axis to the closest line segment of a line string.
 
std::optional< ProjectPointToLineStringAlongAxisResultlanelet2_route_planning::projectPointToLineStringAlongNormal (const Eigen::Vector2d &point, const Eigen::Vector2d &prev_point, const Eigen::Vector2d &next_point, const std::vector< Eigen::Vector2d > &line_string)
 Projects a point to the closest line segment of a line string along the normal to the tangent at the point.