Parasol Planning Library (PPL)
MetricMethod Class Referenceabstract

#include <MetricMethod.h>

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

Public Member Functions

Construction
 MetricMethod ()=default
 
 MetricMethod (XMLNode &_node)
 
virtual ~MetricMethod ()=default
 
Interface
virtual double operator() ()=0
 
- 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 Print (std::ostream &_os) const
 
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

- 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
 
- 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

Base algorithm abstraction for Metrics.

MetricMethod has one main function, operator() which returns a value associated with the roadmap for that metric. @usage

MetricPointer m = this->GetMetric(m_mLabel);
double v = (*m)(); //call as function object
double v2 = m->operator()(); //call with pointer notation

Constructor & Destructor Documentation

◆ MetricMethod() [1/2]

MetricMethod::MetricMethod ( )
default

◆ MetricMethod() [2/2]

MetricMethod::MetricMethod ( XMLNode &  _node)

◆ ~MetricMethod()

virtual MetricMethod::~MetricMethod ( )
virtualdefault

Member Function Documentation

◆ operator()()

virtual double MetricMethod::operator() ( )
pure virtual

Compute a metric on the current roadmap.

Returns
Metric value

Implemented in TimeMetric, NumNodesMetric, and NumEdgesMetric.


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