| 
 | 
|   | ObstacleBasedSampler (string _vcLabel="", string _dmLabel="", int _free=1, int _coll=0, double _step=0, bool _useBBX=true, string _pointSelection="cspace") | 
|   | 
|   | ObstacleBasedSampler (XMLNode &_node) | 
|   | 
| virtual  | ~ObstacleBasedSampler ()=default | 
|   | 
 | 
| virtual void  | Print (ostream &_os) const override | 
|   | 
|   | SamplerMethod ()=default | 
|   | 
|   | SamplerMethod (XMLNode &_node) | 
|   | 
| virtual  | ~SamplerMethod ()=0 | 
|   | 
| virtual void  | Sample (size_t _numNodes, size_t _maxAttempts, const Boundary *const _boundary, OutputIterator _valid, OutputIterator _invalid) | 
|   | 
| virtual void  | Sample (size_t _numNodes, size_t _maxAttempts, const Boundary *const _boundary, OutputIterator _valid) | 
|   | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.  More...
  | 
|   | 
| virtual void  | Sample (size_t _numNodes, size_t _maxAttempts, const Boundary *const _robotBoundary, const Boundary *const _eeBoundary, OutputIterator _valid, OutputIterator _invalid) | 
|   | 
| virtual void  | Sample (size_t _numNodes, size_t _maxAttempts, const Boundary *const _robotBoundary, const Boundary *const _eeBoundary, OutputIterator _valid) | 
|   | 
| virtual void  | Filter (InputIterator _first, InputIterator _last, size_t _maxAttempts, const Boundary *const _boundary, OutputIterator _valid, OutputIterator _invalid) | 
|   | 
| void  | Filter (InputIterator _first, InputIterator _last, size_t _maxAttempts, const Boundary *const _boundary, OutputIterator _valid) | 
|   | 
| virtual void  | Sample (size_t _numNodes, size_t _maxAttempts, const Boundary *const _boundary, GroupOutputIterator _valid, GroupOutputIterator _invalid) | 
|   | 
| virtual void  | Sample (size_t _numNodes, size_t _maxAttempts, const Boundary *const _boundary, GroupOutputIterator _valid) | 
|   | 
| virtual void  | Sample (size_t _numNodes, size_t _maxAttempts, const BoundaryMap &_boundary, GroupOutputIterator _valid, GroupOutputIterator _invalid) | 
|   | 
| virtual void  | Sample (size_t _numNodes, size_t _maxAttempts, const BoundaryMap &_boundary, GroupOutputIterator _valid) | 
|   | 
| virtual void  | Filter (GroupInputIterator _first, GroupInputIterator _last, size_t _maxAttempts, const Boundary *const _boundary, GroupOutputIterator _valid, GroupOutputIterator _invalid) | 
|   | 
| void  | Filter (GroupInputIterator _first, GroupInputIterator _last, size_t _maxAttempts, const Boundary *const _boundary, GroupOutputIterator _valid) | 
|   | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.  More...
  | 
|   | 
|   | MPBaseObject (const std::string &_label="", const std::string &_name="", bool _debug=false) | 
|   | 
|   | MPBaseObject (XMLNode &_node) | 
|   | 
| virtual  | ~MPBaseObject () | 
|   | 
| virtual void  | Initialize () | 
|   | 
| const std::string &  | GetName () const | 
|   | Get the class name for this object.  More...
  | 
|   | 
| const std::string &  | GetLabel () const | 
|   | Get the unique label for this object.  More...
  | 
|   | 
| std::string  | GetNameAndLabel () const | 
|   | Get the unique string identifier for this object "m_name::m_label".  More...
  | 
|   | 
| void  | SetLabel (const std::string &) | 
|   | Set the unique label for this object.  More...
  | 
|   | 
| void  | SetMPLibrary (MPLibrary *) noexcept | 
|   | Set the owning MPLibrary.  More...
  | 
|   | 
| MPLibrary *  | GetMPLibrary () const noexcept | 
|   | Get the owning MPLibrary.  More...
  | 
|   | 
| bool  | IsRunning () const noexcept | 
|   | Check the library's running flag.  More...
  | 
|   | 
| MPProblem *  | GetMPProblem () const noexcept | 
|   | Get the library's current MPProblem.  More...
  | 
|   | 
| Environment *  | GetEnvironment () const noexcept | 
|   | Get the current environment.  More...
  | 
|   | 
| MPTask *  | GetTask () const noexcept | 
|   | Get the current task.  More...
  | 
|   | 
| GroupTask *  | GetGroupTask () const noexcept | 
|   | Get the current group task.  More...
  | 
|   | 
| MPSolutionType *  | GetMPSolution () const noexcept | 
|   | 
| RoadmapType *  | GetRoadmap (Robot *const _r=nullptr) const noexcept | 
|   | Get the current free-space roadmap.  More...
  | 
|   | 
| GroupRoadmapType *  | GetGroupRoadmap (RobotGroup *const _g=nullptr) const noexcept | 
|   | Get the current free-space group roadmap.  More...
  | 
|   | 
| RoadmapType *  | GetBlockRoadmap (Robot *const _r=nullptr) const noexcept | 
|   | Get the current obstacle-space roadmap.  More...
  | 
|   | 
| Path *  | GetPath (Robot *const _r=nullptr) const noexcept | 
|   | 
| GroupPath *  | GetGroupPath (RobotGroup *const _g=nullptr) const noexcept | 
|   | Get the current best group path.  More...
  | 
|   | 
| StatClass *  | GetStatClass () const noexcept | 
|   | Get the current StatClass.  More...
  | 
|   | 
| LocalObstacleMap *  | GetLocalObstacleMap () const noexcept | 
|   | Get the local obstacle map.  More...
  | 
|   | 
 | 
 | 
| virtual bool  | Sampler (Cfg &_cfg, const Boundary *const _boundary, std::vector< Cfg > &_result, std::vector< Cfg > &_collision) | 
|   | 
| virtual bool  | Sampler (GroupCfgType &_cfg, const Boundary *const _boundary, std::vector< GroupCfgType > &_result, std::vector< GroupCfgType > &_invalid) | 
|   | 
| virtual bool  | Sampler (GroupCfgType &_cfg, const BoundaryMap &_boundaryMap, std::vector< GroupCfgType > &_result, std::vector< GroupCfgType > &_collision) | 
|   | 
| void  | GenerateShells (const Boundary *const _boundary, Cfg &_cFree, Cfg &_cColl, Cfg &_incr, std::vector< Cfg > &_result, std::vector< Cfg > &_collision) | 
|   | 
| void  | GenerateShells (const Boundary *const _boundary, GroupCfgType &_cFree, GroupCfgType &_cColl, GroupCfgType &_incr, std::vector< GroupCfgType > &_result, std::vector< GroupCfgType > &_collision) | 
|   | 
| void  | GenerateShells (const BoundaryMap &_boundaryMap, GroupCfgType &_cFree, GroupCfgType &_cColl, GroupCfgType &_incr, std::vector< GroupCfgType > &_result, std::vector< GroupCfgType > &_collision) | 
|   | 
| Cfg  | ChooseCenterOfMass (MultiBody *_mBody) | 
|   | 
| Cfg  | ChooseRandomVertex (MultiBody *_mBody) | 
|   | 
| Vector3d  | ChoosePointOnTriangle (Vector3d _p, Vector3d _q, Vector3d _r) | 
|   | 
| Cfg  | ChooseRandomWeightedTriangle (MultiBody *_mBody) | 
|   | 
| Cfg  | ChooseRandomTriangle (MultiBody *_mBody) | 
|   | 
| Cfg  | ChooseExtremeVertex (MultiBody *_mBody) | 
|   | 
| virtual Cfg  | ChooseASample (Cfg &_cfg) | 
|   | 
| virtual GroupCfgType  | ChooseASample (GroupCfgType &_cfg) | 
|   | 
| Cfg  | ChooseASampleOtherMethods () | 
|   | 
| Cfg  | GetCfgWithParams (const Vector3d &_v) | 
|   | 
| bool  | GroupInBounds (GroupCfgType &_groupCfg, const BoundaryMap &_boundaryMap) | 
|   | 
| bool  | GroupInBounds (GroupCfgType &_groupCfg, const Boundary *const _boundary) | 
|   | 
| virtual bool  | Sampler (Cfg &_cfg, const Boundary *const _robotBoundary, const Boundary *const _eeBoundary, std::vector< Cfg > &_valid, std::vector< Cfg > &_invalid) | 
|   | 
| void  | SetName (const std::string &_s) | 
|   | 
| const std::string &  | GetBaseFilename () const | 
|   | 
Obstacle-based sampling. 
OBPRM samples by pushing random configurations along a random ray until they change validity, keeping the best free configuration.
- Todo:
 - Implement GetCenterOfMass function in the ChooseCenterOfMass class