Autoware.Auto
intersection.hpp File Reference
#include <autoware_auto_vehicle_msgs/msg/vehicle_kinematic_state.hpp>
#include <autoware_auto_perception_msgs/msg/bounding_box.hpp>
#include <autoware_auto_planning_msgs/msg/trajectory_point.hpp>
#include <geometry/convex_hull.hpp>
#include <geometry/common_2d.hpp>
#include <limits>
#include <vector>
#include <iostream>
#include <list>
#include <utility>
#include <type_traits>
#include <algorithm>
Include dependency graph for intersection.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 autoware
 This file defines the lanelet2_map_provider_node class.
 
 autoware::common
 
 autoware::common::geometry
 
 autoware::common::geometry::details
 Contains computation geometry functions not intended for the end user to directly use.
 

Typedefs

using autoware::common::geometry::Point = geometry_msgs::msg::Point32
 
using autoware::common::geometry::details::Line = std::pair< Point, Point >
 Alias for a std::pair of two points. More...
 

Functions

template<typename Iter >
std::vector< Line > autoware::common::geometry::details::get_sorted_face_list (const Iter start, const Iter end)
 Compute a sorted list of faces of a polyhedron given a list of points. More...
 
template<template< typename ... > class Iterable1T, template< typename ... > class Iterable2T, typename PointT >
void autoware::common::geometry::details::append_contained_points (const Iterable1T< PointT > &external, const Iterable2T< PointT > &internal, std::list< PointT > &result)
 Append points of the polygon internal that are contained in the polygon exernal. More...
 
template<template< typename ... > class Iterable1T, template< typename ... > class Iterable2T, typename PointT >
void autoware::common::geometry::details::append_intersection_points (const Iterable1T< PointT > &polygon1, const Iterable2T< PointT > &polygon2, std::list< PointT > &result)
 Append the intersecting points between two polygons into the output list. More...
 
template<typename Iter >
bool autoware::common::geometry::intersect (const Iter begin1, const Iter end1, const Iter begin2, const Iter end2)
 Check if polyhedra defined by two given sets of points intersect. More...
 
template<template< typename ... > class Iterable1T, template< typename ... > class Iterable2T, typename PointT >
std::list< PointT > autoware::common::geometry::convex_polygon_intersection2d (const Iterable1T< PointT > &polygon1, const Iterable2T< PointT > &polygon2)
 Get the intersection between two polygons. The polygons should be provided in an identical format to the output of convex_hull function as in the corners should be ordered in a CCW fashion. The computation is done by: More...
 
template<template< typename ... > class Iterable1T, template< typename ... > class Iterable2T, typename PointT >
common::types::float32_t autoware::common::geometry::convex_intersection_over_union_2d (const Iterable1T< PointT > &polygon1, const Iterable2T< PointT > &polygon2)
 Compute the intersection over union of two 2d convex polygons. If any of the polygons span a zero area, the result is 0.0. More...