MRSL DecompUtil Library
0.1
An implementaion of convex decomposition over point cloud
|
IterativeDecomp Class. More...
#include <iterative_decomp.h>
Public Member Functions | |
IterativeDecomp () | |
Simple constructor. | |
IterativeDecomp (const Vecf< Dim > &origin, const Vecf< Dim > &dim) | |
Basic constructor. More... | |
void | dilate_iter (const vec_Vecf< Dim > &path_raw, int iter_num=5, decimal_t res=0, decimal_t offset_x=0) |
Decomposition thread. More... | |
Public Member Functions inherited from EllipsoidDecomp< Dim > | |
EllipsoidDecomp () | |
Simple constructor. | |
EllipsoidDecomp (const Vecf< Dim > &origin, const Vecf< Dim > &dim) | |
Basic constructor. More... | |
void | set_obs (const vec_Vecf< Dim > &obs) |
Set obstacle points. | |
void | set_local_bbox (const Vecf< Dim > &bbox) |
Set dimension of bounding box. | |
vec_Vecf< Dim > | get_path () const |
Get the path that is used for dilation. | |
vec_E< Polyhedron< Dim > > | get_polyhedrons () const |
Get the Safe Flight Corridor. | |
vec_E< Ellipsoid< Dim > > | get_ellipsoids () const |
Get the ellipsoids. | |
vec_E< LinearConstraint< Dim > > | get_constraints () const |
Get the constraints of SFC as . | |
void | dilate (const vec_Vecf< Dim > &path, double offset_x=0) |
Decomposition thread. More... | |
Protected Member Functions | |
vec_Vecf< Dim > | downsample (const vec_Vecf< Dim > &ps, decimal_t d) |
Uniformly sample path into many segments. | |
decimal_t | cal_closest_dist (const Vecf< Dim > &pt, const Polyhedron< Dim > &vs) |
Get closest distance. | |
vec_Vecf< Dim > | simplify (const vec_Vecf< Dim > &path) |
Remove redundant waypoints. | |
Protected Member Functions inherited from EllipsoidDecomp< Dim > | |
template<int U = Dim> | |
std::enable_if< U==2 >::type | add_global_bbox (Polyhedron< Dim > &Vs) |
template<int U = Dim> | |
std::enable_if< U==3 >::type | add_global_bbox (Polyhedron< Dim > &Vs) |
Additional Inherited Members | |
Protected Attributes inherited from EllipsoidDecomp< Dim > | |
vec_Vecf< Dim > | path_ |
vec_Vecf< Dim > | obs_ |
vec_E< Ellipsoid< Dim > > | ellipsoids_ |
vec_E< Polyhedron< Dim > > | polyhedrons_ |
std::vector< std::shared_ptr< LineSegment< Dim > > > | lines_ |
Vecf< Dim > | local_bbox_ {Vecf<Dim>::Zero()} |
Vecf< Dim > | global_bbox_min_ {Vecf<Dim>::Zero()} |
Vecf< Dim > | global_bbox_max_ {Vecf<Dim>::Zero()} |
IterativeDecomp Class.
Iteratively calls ElliseDecomp to form a safer Safe Flight Corridor that is away from obstacles
|
inline |
Basic constructor.
origin | The origin of the global bounding box |
dim | The dimension of the global bounding box |
|
inline |
Decomposition thread.
path_raw | The path to dilate |
iter_num | Max iteration number |
offset_x | offset added to the long semi-axis, default is 0 |
res | Resolution to downsample the path |