![]() |
Parasol Planning Library (PPL)
|
#include <MPBaseObject.h>
Public Types | |
Local Types | |
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 | |
Construction | |
MPBaseObject (const std::string &_label="", const std::string &_name="", bool _debug=false) | |
MPBaseObject (XMLNode &_node) | |
virtual | ~MPBaseObject () |
I/O | |
virtual void | Print (std::ostream &_os) const |
Initialization | |
virtual void | Initialize () |
Name and Label Accessors | |
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... | |
MPLibrary Accessors | |
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... | |
Problem Accessors | |
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... | |
Solution Accessors | |
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... | |
Protected Member Functions | |
void | SetName (const std::string &_s) |
const std::string & | GetBaseFilename () const |
Protected Attributes | |
bool | m_debug |
Print debug info? More... | |
Friends | |
template<typename U > | |
class | MethodSet |
Abstract base class for all algorithm abstractions in PMPL.
The MPBaseObject carries a class name m_name
and unique label m_label
for each algorithm. The name refers to the class from which the object was instantiated, while the label refers to a specific instantiation of that class.
All algorithms are owned by an MPLibrary, which is referenced here as m_library
. When initially created, these objects will have no knowledge of the MPProblem that they will be used on: they will only have access to parameter settings provided in their XML nodes. Derived classes that have problem-dependent internal state should override the Initialize()
method to set that data: this method will be called whenever the owning MPLibrary's current MPProblem is changed.
typedef DefaultWeight<Cfg> MPBaseObject::WeightType |
MPBaseObject::MPBaseObject | ( | const std::string & | _label = "" , |
const std::string & | _name = "" , |
||
bool | _debug = false |
||
) |
Default constructor explicitly gives name, label, and debug.
_label | ID of the object, i.e., user defined label |
_name | Name of the object, i.e., derived class name |
_debug | Turn debug output on or off |
MPBaseObject::MPBaseObject | ( | XMLNode & | _node | ) |
XML constructor pulls label and debug from an XML node.
_node | XMLNode to parse for this object |
|
virtual |
|
protected |
|
noexcept |
Get the current obstacle-space roadmap.
|
noexcept |
Get the current environment.
|
noexcept |
Get the current best group path.
|
noexcept |
Get the current free-space group roadmap.
|
noexcept |
Get the current group task.
const std::string & MPBaseObject::GetLabel | ( | ) | const |
Get the unique label for this object.
|
noexcept |
Get the local obstacle map.
|
noexcept |
const std::string & MPBaseObject::GetName | ( | ) | const |
Get the class name for this object.
std::string MPBaseObject::GetNameAndLabel | ( | ) | const |
Get the unique string identifier for this object "m_name::m_label".
|
noexcept |
Get the current free-space roadmap.
|
noexcept |
Get the current task.
|
inlinevirtual |
Initialize this object for the current MPProblem. This should reset any internal state of the algorithms so that they are ready for execution. It is also the place to initialize any state that depends on the current problem.
Reimplemented in EdgeValidityCheckerMethod, ObstacleClearanceValidity, KdTreeNF, TopologicalMap, SafeIntervalTool, ReachabilityUtil, PointConstruction, ClearanceUtility, TogglePRMStrategy, Syclop, PathStrategy, GroupPRM, EET, DynamicRegionsPRM, DynamicRegionRRT, DynamicDomainRRT, BasicRRTStrategy, BasicPRM, AdaptiveRRT, TimeMetric, TimeEvaluator, SIPPMethod, QueryMethod, PathEvaluator, MinimumDistanceEvaluator, LazyQuery, GroupQuery, ComposeEvaluator, ClearanceQuery, CBSQuery, IntermediatesEdgeValidityChecker, ConnectorMethod, WrenchAccessibilityTool, MPStrategyMethod, and ModifyPath.
|
noexcept |
Check the library's running flag.
|
virtual |
Print internal state of this object.
_os | The std::ostream to print to. |
Reimplemented in ObstacleClearanceValidity, NodeClearanceValidity, UniformRandomSampler, RandomNF, RadiusNF, NeighborhoodFinderMethod, KdTreeNF, BruteForceNF, TogglePRMStrategy, MPStrategyMethod, GroupPRM, GroupDecoupledStrategy, DynamicRegionsPRM, DynamicRegionRRT, DynamicDomainRRT, BasicPRM, SIPPMethod, QueryMethod, NegateEvaluator, LazyQuery, ComposeEvaluator, ClearanceQuery, StraightLine, LocalPlannerMethod, ExtenderMethod, BasicExtender, LPSweptDistance, NeighborhoodConnector, ConnectorMethod, CCsConnector, ModifyPath, BasicRRTStrategy, AdaptiveRRT, MinkowskiDistance, UniformObstacleBasedSampler, ObstacleBasedSampler, BridgeTestSampler, PathModifierMethod, MedialAxisUtility, ClearanceUtility, PathStrategy, ScaledEuclideanDistance, BinaryLPSweptDistance, MixSampler, GaussianSampler, ShortcuttingPathModifier, PrintMapEvaluation, ConditionalEvaluator, and HierarchicalLP.
void MPBaseObject::SetLabel | ( | const std::string & | _s | ) |
Set the unique label for this object.
|
inlineprotected |
_s | Class name |
|
friend |
|
protected |
Print debug info?