Collision Checker
collision::solvers::solverBoost Namespace Reference

Classes

class  BoostCollisionObject
 
class  BoostObjectInternal
 
class  BoostPolygon
 BoostPolygon allows to use boost.Geometry functions for Polygon objects. More...
 
class  IBoostCollisionObject
 
class  ISolverEntity_Boost
 
class  SolverEntity_Boost
 
struct  SolverEntity_BoostDeleter
 

Typedefs

typedef std::shared_ptr< const BoostCollisionObjectBoostCollisionObjectConstPtr
 
typedef boost::geometry::model::d2::point_xy< double > bg_point_type
 
typedef boost::geometry::model::polygon< bg_point_typebg_polygon_type
 
typedef std::shared_ptr< BoostPolygonBoostPolygonPtr
 
typedef std::shared_ptr< const BoostPolygonBoostPolygonConstPtr
 
typedef boost::geometry::model::multi_polygon< bg_polygon_typebg_mpolygon_type
 

Enumerations

enum  BOOST_COLLISION_ENTITY_TYPE { BOOST_COLLISION_ENTITY_TYPE_INVALID = -1, BOOST_COLLISION_ENTITY_TYPE_UNKNOWN = 0, COLLISION_ENTITY_TYPE_BOOST_OBJECT = 200 }
 

Functions

bool boost_within (const BoostPolygon &polyg1, const BoostPolygon &polyg2)
 Returns true if the BoostPolygon polyg1 is completely contained within the other BoostPolygon object polyg2. More...
 
int boost_poly_poly_convex_hull (const Polygon &pos1, const Polygon &pos2, collision::PolygonConstPtr &resPoly)
 Creates a collision Polygon of two RectangleOBB objects. The convex hull of the boolean union of the oriented rectangles is computed. More...
 
int boost_ccd_convex_hull_collision (const ShapeGroup &sg, const RectangleOBB &pos1, const RectangleOBB &pos2, bool &res)
 Checks if the convex hull of the Boolean union of two given OBB boxes collides with any of the ShapeGroup objects. More...
 
int boost_ccd_obb_sum_collision (const ShapeGroup &sg, const RectangleOBB &pos1, const RectangleOBB &pos2, bool &res)
 
int boost_polygon_enclosure (const ShapeGroup &sg, const RectangleOBB &obb, bool &res)
 
template<typename T >
int boost_polygon_enclosure_grid (T &grid, std::vector< BoostPolygon *> polygons, AABB &aabb, const BoostPolygon *obj_poly, bool &res)
 
int boost_ccd_convex_hull_polygon_enclosure (const ShapeGroup &sg, const RectangleOBB &pos1, const RectangleOBB &pos2, bool &res)
 
int boost_ccd_obb_sum_polygon_enclosure (const ShapeGroup &sg, const RectangleOBB &pos1, const RectangleOBB &pos2, bool &res)
 
collision::ShapeGroupPtr lane_polygons_postprocess (collision::ShapeGroup &sg_polys, double buf_width, bool triangulate)
 
const BoostCollisionObjectget_boost_object_ptr (const CollisionObject *obj)
 
SolverEntity_BoostcreateBoostSolverEntity (const CollisionObjectEx *obj)
 
int boost_obb_obb_convex_hull (const RectangleOBB &pos1, const RectangleOBB &pos2, collision::PolygonConstPtr &resPoly)
 
int boost_get_candidate_polygons_no_merge (const ShapeGroup &sg, const Shape &shape, std::vector< bg_polygon_type > &mpoly)
 
template int boost_polygon_enclosure_grid< ContainerGrid< HorizontalGrid > > (ContainerGrid< HorizontalGrid > &grid, std::vector< BoostPolygon *> polygons, AABB &aabb, const BoostPolygon *obj_poly, bool &res)
 
template int boost_polygon_enclosure_grid< ContainerGrid< VerticalGrid > > (ContainerGrid< VerticalGrid > &grid, std::vector< BoostPolygon *> polygons, AABB &aabb, const BoostPolygon *obj_poly, bool &res)
 

Typedef Documentation

◆ bg_mpolygon_type

typedef boost::geometry::model::multi_polygon<bg_polygon_type> collision::solvers::solverBoost::bg_mpolygon_type

Definition at line 21 of file boost_collision_queries.cc.

◆ bg_point_type

typedef boost::geometry::model::d2::point_xy<double> collision::solvers::solverBoost::bg_point_type

Definition at line 22 of file boost_object_polygon.h.

◆ bg_polygon_type

typedef boost::geometry::model::polygon<bg_point_type> collision::solvers::solverBoost::bg_polygon_type

Definition at line 23 of file boost_object_polygon.h.

◆ BoostCollisionObjectConstPtr

◆ BoostPolygonConstPtr

Definition at line 28 of file boost_object_polygon.h.

◆ BoostPolygonPtr

Definition at line 25 of file boost_object_polygon.h.

Enumeration Type Documentation

◆ BOOST_COLLISION_ENTITY_TYPE

Enumerator
BOOST_COLLISION_ENTITY_TYPE_INVALID 
BOOST_COLLISION_ENTITY_TYPE_UNKNOWN 
COLLISION_ENTITY_TYPE_BOOST_OBJECT 

Definition at line 7 of file boost_entity_type.h.

Function Documentation

◆ boost_ccd_convex_hull_collision()

int collision::solvers::solverBoost::boost_ccd_convex_hull_collision ( const ShapeGroup sg,
const RectangleOBB pos1,
const RectangleOBB pos2,
bool &  res 
)

Checks if the convex hull of the Boolean union of two given OBB boxes collides with any of the ShapeGroup objects.

Returns 0 if no error has occured.

Parameters
[in]sgShapeGroup with static obstacles
[in]pos1OBB rectangle 1
[in]pos2OBB rectangle 2
[out]resBoolean collision result

Definition at line 112 of file boost_collision_queries.cc.

◆ boost_ccd_convex_hull_polygon_enclosure()

int collision::solvers::solverBoost::boost_ccd_convex_hull_polygon_enclosure ( const ShapeGroup sg,
const RectangleOBB pos1,
const RectangleOBB pos2,
bool &  res 
)

Definition at line 236 of file boost_collision_queries.cc.

◆ boost_ccd_obb_sum_collision()

int collision::solvers::solverBoost::boost_ccd_obb_sum_collision ( const ShapeGroup sg,
const RectangleOBB pos1,
const RectangleOBB pos2,
bool &  res 
)

Definition at line 125 of file boost_collision_queries.cc.

◆ boost_ccd_obb_sum_polygon_enclosure()

int collision::solvers::solverBoost::boost_ccd_obb_sum_polygon_enclosure ( const ShapeGroup sg,
const RectangleOBB pos1,
const RectangleOBB pos2,
bool &  res 
)

Definition at line 285 of file boost_collision_queries.cc.

◆ boost_get_candidate_polygons_no_merge()

int collision::solvers::solverBoost::boost_get_candidate_polygons_no_merge ( const ShapeGroup sg,
const Shape shape,
std::vector< bg_polygon_type > &  mpoly 
)
inline

Definition at line 136 of file boost_collision_queries.cc.

◆ boost_obb_obb_convex_hull()

int collision::solvers::solverBoost::boost_obb_obb_convex_hull ( const RectangleOBB pos1,
const RectangleOBB pos2,
collision::PolygonConstPtr resPoly 
)
inline

Definition at line 70 of file boost_collision_queries.cc.

◆ boost_poly_poly_convex_hull()

int collision::solvers::solverBoost::boost_poly_poly_convex_hull ( const Polygon pos1,
const Polygon pos2,
collision::PolygonConstPtr resPoly 
)

Creates a collision Polygon of two RectangleOBB objects. The convex hull of the boolean union of the oriented rectangles is computed.

Returns 0 on successful creation.

Parameters
[in]pos1OBB rectangle 1
[in]pos2OBB rectangle 2
[out]resPolyoutput collision Polygon

Definition at line 46 of file boost_collision_queries.cc.

◆ boost_polygon_enclosure()

int collision::solvers::solverBoost::boost_polygon_enclosure ( const ShapeGroup sg,
const RectangleOBB obb,
bool &  res 
)

Definition at line 159 of file boost_collision_queries.cc.

◆ boost_polygon_enclosure_grid()

template<typename T >
int collision::solvers::solverBoost::boost_polygon_enclosure_grid ( T &  grid,
std::vector< BoostPolygon *>  polygons,
AABB aabb,
const BoostPolygon obj_poly,
bool &  res 
)

Definition at line 193 of file boost_collision_queries.cc.

◆ boost_polygon_enclosure_grid< ContainerGrid< HorizontalGrid > >()

template int collision::solvers::solverBoost::boost_polygon_enclosure_grid< ContainerGrid< HorizontalGrid > > ( ContainerGrid< HorizontalGrid > &  grid,
std::vector< BoostPolygon *>  polygons,
AABB aabb,
const BoostPolygon obj_poly,
bool &  res 
)

◆ boost_polygon_enclosure_grid< ContainerGrid< VerticalGrid > >()

template int collision::solvers::solverBoost::boost_polygon_enclosure_grid< ContainerGrid< VerticalGrid > > ( ContainerGrid< VerticalGrid > &  grid,
std::vector< BoostPolygon *>  polygons,
AABB aabb,
const BoostPolygon obj_poly,
bool &  res 
)

◆ boost_within()

bool collision::solvers::solverBoost::boost_within ( const BoostPolygon polyg1,
const BoostPolygon polyg2 
)

Returns true if the BoostPolygon polyg1 is completely contained within the other BoostPolygon object polyg2.

Definition at line 28 of file boost_collision_queries.cc.

◆ createBoostSolverEntity()

SolverEntity_Boost* collision::solvers::solverBoost::createBoostSolverEntity ( const CollisionObjectEx obj)

Definition at line 12 of file solver_entity_boost_factory.h.

◆ get_boost_object_ptr()

const BoostCollisionObject* collision::solvers::solverBoost::get_boost_object_ptr ( const CollisionObject obj)
inline

Definition at line 10 of file boost_helpers.h.

◆ lane_polygons_postprocess()

collision::ShapeGroupPtr collision::solvers::solverBoost::lane_polygons_postprocess ( collision::ShapeGroup sg_polys,
double  buf_width,
bool  triangulate 
)

Definition at line 11 of file boost_geometry_queries.cc.