Autoware.Auto
|
|
This file implements the rotating calipers algorithm for minimum oriented bounding boxes. More...
#include <geometry/convex_hull.hpp>
#include <geometry/common_2d.hpp>
#include <geometry/bounding_box/bounding_box_common.hpp>
#include <algorithm>
#include <cstring>
#include <limits>
#include <list>
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::bounding_box | |
Functions and types for generating enclosing bounding boxes around a set of points. | |
autoware::common::geometry::bounding_box::details | |
Functions | |
template<typename PointT > | |
uint32_t | autoware::common::geometry::bounding_box::details::update_angles (const Point4< PointT > &edges, Point4< PointT > &directions) |
Find which (next) edge has smallest angle delta to directions, rotate directions. More... | |
template<typename IT , typename PointT > | |
void | autoware::common::geometry::bounding_box::details::init_edges (const IT begin, const IT end, const Point4< IT > &support, Point4< PointT > &edges) |
Given support points i, find direction of edge: e = P[i+1] - P[i]. More... | |
template<typename IT > | |
void | autoware::common::geometry::bounding_box::details::init_bbox (const IT begin, const IT end, Point4< IT > &support) |
Scan through list to find support points for bounding box oriented in direction of u = P[1] - P[0]. More... | |
template<typename IT , typename MetricF > | |
BoundingBox | autoware::common::geometry::bounding_box::details::rotating_calipers_impl (const IT begin, const IT end, const MetricF metric_fn) |
Compute the minimum bounding box for a convex hull using the rotating calipers method. This function may possibly also be used for computing the width of a convex hull, as it uses the external supports of a single convex hull. More... | |
template<typename IT > | |
BoundingBox | autoware::common::geometry::bounding_box::minimum_area_bounding_box (const IT begin, const IT end) |
Compute the minimum area bounding box given a convex hull of points. This function is exposed in case a user might already have a convex hull via other methods. More... | |
template<typename IT > | |
BoundingBox | autoware::common::geometry::bounding_box::minimum_perimeter_bounding_box (const IT begin, const IT end) |
Compute the minimum perimeter bounding box given a convex hull of points This function is exposed in case a user might already have a convex hull via other methods. More... | |
template<typename PointT > | |
BoundingBox | autoware::common::geometry::bounding_box::minimum_area_bounding_box (std::list< PointT > &list) |
Compute the minimum area bounding box given an unstructured list of points. Only a list is supported as it enables the convex hull to be formed in O(n log n) time and without memory allocation. More... | |
template<typename PointT > | |
BoundingBox | autoware::common::geometry::bounding_box::minimum_perimeter_bounding_box (std::list< PointT > &list) |
Compute the minimum perimeter bounding box given an unstructured list of points Only a list is supported as it enables the convex hull to be formed in O(n log n) time and without memory allocation. More... | |
This file implements the rotating calipers algorithm for minimum oriented bounding boxes.