Parasol Planning Library (PPL)
Public Types | Public Member Functions
ShortcuttingPathModifier Class Reference

#include <ShortcuttingPathModifier.h>

Inheritance diagram for ShortcuttingPathModifier:
Inheritance graph
[legend]
Collaboration diagram for ShortcuttingPathModifier:
Collaboration graph
[legend]

Public Types

typedef MPBaseObject::RoadmapType RoadmapType
 
typedef RoadmapType::VID VID
 
- Public Types inherited from PathModifierMethod
typedef MPBaseObject::RoadmapType RoadmapType
 
typedef RoadmapType::VID VID
 
- Public Types inherited from MPBaseObject
typedef DefaultWeight< Cfg > WeightType
 
typedef GenericStateGraph< Cfg, WeightType > RoadmapType
 
typedef GroupCfg< RoadmapType > GroupCfgType
 
typedef GroupLocalPlan< RoadmapType > GroupWeightType
 
typedef GroupRoadmap< GroupCfgType, GroupWeightType > GroupRoadmapType
 

Public Member Functions

 ShortcuttingPathModifier (const string &_dmLabel="", const string &_lpLabel="")
 
 ShortcuttingPathModifier (XMLNode &_node)
 
virtual void ParseXML (XMLNode &_node)
 
virtual void Print (ostream &_os) const
 
bool ModifyImpl (RoadmapType *_graph, std::vector< Cfg > &_path, std::vector< Cfg > &_newPath) override
 
- Public Member Functions inherited from PathModifierMethod
 PathModifierMethod ()=default
 
 PathModifierMethod (XMLNode &_node)
 
virtual ~PathModifierMethod ()=default
 
virtual void Modify (vector< Cfg > &_path, vector< Cfg > &_newPath)
 
virtual void Modify (RoadmapType *_graph, vector< Cfg > &_path, vector< Cfg > &_newPath)
 
- Public Member Functions inherited from MPBaseObject
 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...
 

Additional Inherited Members

- Protected Member Functions inherited from PathModifierMethod
void AddToPath (vector< Cfg > &_path, LPOutput *_lpOutput, Cfg &_end)
 
vector< VID > GetPathVIDs (vector< Cfg > &_path, RoadmapType *_graph)
 
void RemoveBranches (const string &_dmLabel, vector< Cfg > &_path, vector< Cfg > &_newPath)
 @TODO Figure out what this does and document it. More...
 
- Protected Member Functions inherited from MPBaseObject
void SetName (const std::string &_s)
 
const std::string & GetBaseFilename () const
 
- Protected Attributes inherited from MPBaseObject
bool m_debug
 Print debug info? More...
 

Detailed Description

Perform "shortcutting" on a provided path.

Member Typedef Documentation

◆ RoadmapType

◆ VID

Constructor & Destructor Documentation

◆ ShortcuttingPathModifier() [1/2]

ShortcuttingPathModifier::ShortcuttingPathModifier ( const string &  _dmLabel = "",
const string &  _lpLabel = "" 
)

◆ ShortcuttingPathModifier() [2/2]

ShortcuttingPathModifier::ShortcuttingPathModifier ( XMLNode &  _node)

Member Function Documentation

◆ ModifyImpl()

bool ShortcuttingPathModifier::ModifyImpl ( RoadmapType *  _graph,
std::vector< Cfg > &  _path,
std::vector< Cfg > &  _newPath 
)
overridevirtual

Modifies the input path to a new valid path

Parameters
_pathA path of configurations within a resolution distance of each other
_newPathAn empty vector to place the resulting modified path
Returns
Success/failed modification

Implements PathModifierMethod.

◆ ParseXML()

void ShortcuttingPathModifier::ParseXML ( XMLNode &  _node)
virtual

◆ Print()

void ShortcuttingPathModifier::Print ( ostream &  _os) const
virtual

Print internal state of this object.

Parameters
_osThe std::ostream to print to.

Reimplemented from PathModifierMethod.


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