MRSL DecompUtil Library  0.1
An implementaion of convex decomposition over point cloud
Public Member Functions | Protected Member Functions | List of all members
IterativeDecomp< Dim > Class Template Reference

IterativeDecomp Class. More...

#include <iterative_decomp.h>

Inheritance diagram for IterativeDecomp< Dim >:
EllipsoidDecomp< Dim >

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 $Ax\leq b $.
 
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()}
 

Detailed Description

template<int Dim>
class IterativeDecomp< Dim >

IterativeDecomp Class.

Iteratively calls ElliseDecomp to form a safer Safe Flight Corridor that is away from obstacles

Constructor & Destructor Documentation

template<int Dim>
IterativeDecomp< Dim >::IterativeDecomp ( const Vecf< Dim > &  origin,
const Vecf< Dim > &  dim 
)
inline

Basic constructor.

Parameters
originThe origin of the global bounding box
dimThe dimension of the global bounding box

Member Function Documentation

template<int Dim>
void IterativeDecomp< Dim >::dilate_iter ( const vec_Vecf< Dim > &  path_raw,
int  iter_num = 5,
decimal_t  res = 0,
decimal_t  offset_x = 0 
)
inline

Decomposition thread.

Parameters
path_rawThe path to dilate
iter_numMax iteration number
offset_xoffset added to the long semi-axis, default is 0
resResolution to downsample the path

The documentation for this class was generated from the following file: