Parasol Planning Library (PPL)
ValidityCheckerMethod Class Referenceabstract

#include <ValidityCheckerMethod.h>

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

Public Types

Motion Planning Types
typedef MPBaseObject::GroupCfgType GroupCfgType
 
typedef GroupCfgType::Formation Formation
 
- Public Types inherited from MPBaseObject
typedef DefaultWeight< CfgWeightType
 
typedef GenericStateGraph< Cfg, WeightTypeRoadmapType
 
typedef GroupCfg< RoadmapTypeGroupCfgType
 
typedef GroupLocalPlan< RoadmapTypeGroupWeightType
 
typedef GroupRoadmap< GroupCfgType, GroupWeightTypeGroupRoadmapType
 

Public Member Functions

Construction
 ValidityCheckerMethod ()=default
 
 ValidityCheckerMethod (XMLNode &_node)
 
virtual ~ValidityCheckerMethod ()=default
 
Validity Accessors
bool GetValidity () const
 Get the current meaning of "valid" (true is default). More...
 
void ToggleValidity ()
 Switches the meaning of "valid" to "invalid" and vice versa. More...
 
Individual Configuration Validity
bool IsValid (Cfg &_cfg, CDInfo &_cdInfo, const std::string &_caller)
 
bool IsValid (Cfg &_cfg, const std::string &_caller)
 
Group Configuration Validity
bool IsValid (GroupCfgType &_cfg, CDInfo &_cdInfo, const std::string &_caller)
 
bool IsValid (GroupCfgType &_cfg, const std::string &_caller)
 
- 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...
 
MPLibraryGetMPLibrary () const noexcept
 Get the owning MPLibrary. More...
 
bool IsRunning () const noexcept
 Check the library's running flag. More...
 
MPProblemGetMPProblem () const noexcept
 Get the library's current MPProblem. More...
 
EnvironmentGetEnvironment () const noexcept
 Get the current environment. More...
 
MPTaskGetTask () const noexcept
 Get the current task. More...
 
GroupTaskGetGroupTask () const noexcept
 Get the current group task. More...
 
MPSolutionTypeGetMPSolution () const noexcept
 
RoadmapTypeGetRoadmap (Robot *const _r=nullptr) const noexcept
 Get the current free-space roadmap. More...
 
GroupRoadmapTypeGetGroupRoadmap (RobotGroup *const _g=nullptr) const noexcept
 Get the current free-space group roadmap. More...
 
RoadmapTypeGetBlockRoadmap (Robot *const _r=nullptr) const noexcept
 Get the current obstacle-space roadmap. More...
 
PathGetPath (Robot *const _r=nullptr) const noexcept
 
GroupPathGetGroupPath (RobotGroup *const _g=nullptr) const noexcept
 Get the current best group path. More...
 
StatClassGetStatClass () const noexcept
 Get the current StatClass. More...
 
LocalObstacleMapGetLocalObstacleMap () const noexcept
 Get the local obstacle map. More...
 

Protected Member Functions

Helpers
virtual bool IsValidImpl (Cfg &_cfg, CDInfo &_cdInfo, const std::string &_caller)=0
 
virtual bool IsValidImpl (GroupCfgType &_cfg, CDInfo &_cdInfo, const std::string &_caller)
 
- Protected Member Functions inherited from MPBaseObject
void SetName (const std::string &_s)
 
const std::string & GetBaseFilename () const
 

Protected Attributes

Internal State
bool m_validity {true}
 Use standard validity? False indicates negation. More...
 
- Protected Attributes inherited from MPBaseObject
bool m_debug
 Print debug info? More...
 

Detailed Description

Base algorithm abstraction for ValidityCheckers.

Validity checkers define some notion of 'valid' for a configuration. The IsValid function evaluates a configuration with respect to this definition. The output may be inverted by calling ToggleValidity.

For collision-detection type checkers, a CDInfo object may carry additional information about the check.

@usage

ValidityCheckerPointer vc = this->GetValidityChecker(m_vcLabel);
Cfg c;
CDInfo cdInfo;
string callee("SomeFunc");
bool valid = vc->IsValid(c, cdInfo, callee);
Definition: Cfg.h:38
Definition: CDInfo.h:139
Examples
ValidityCheckers_UseCase.cpp.

Member Typedef Documentation

◆ Formation

◆ GroupCfgType

Constructor & Destructor Documentation

◆ ValidityCheckerMethod() [1/2]

ValidityCheckerMethod::ValidityCheckerMethod ( )
default

◆ ValidityCheckerMethod() [2/2]

ValidityCheckerMethod::ValidityCheckerMethod ( XMLNode _node)
inline

◆ ~ValidityCheckerMethod()

virtual ValidityCheckerMethod::~ValidityCheckerMethod ( )
virtualdefault

Member Function Documentation

◆ GetValidity()

bool ValidityCheckerMethod::GetValidity ( ) const

Get the current meaning of "valid" (true is default).

◆ IsValid() [1/4]

bool ValidityCheckerMethod::IsValid ( Cfg _cfg,
CDInfo _cdInfo,
const std::string &  _caller 
)

Classify a configuration to either cfree or cobst.

Parameters
_cfgThe individual configuration.
_cdInfoOutput for extra computed information such as clearance.
_callerName of the calling function.
Returns
True iff _cfg is in cfree, false otherwise.
Examples
ValidityCheckers_UseCase.cpp.

◆ IsValid() [2/4]

bool ValidityCheckerMethod::IsValid ( Cfg _cfg,
const std::string &  _caller 
)

This version does not return extra information. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ IsValid() [3/4]

bool ValidityCheckerMethod::IsValid ( GroupCfgType _cfg,
CDInfo _cdInfo,
const std::string &  _caller 
)

Classify a gropu configuration to either cfree or cobst.

Parameters
_cfgThe group configuration.
_cdInfoOutput for extra computed information such as clearance.
_callerName of the calling function.
Returns
True iff _cfg is in cfree, false otherwise.

◆ IsValid() [4/4]

bool ValidityCheckerMethod::IsValid ( GroupCfgType _cfg,
const std::string &  _caller 
)

This version does not return extra information. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ IsValidImpl() [1/2]

virtual bool ValidityCheckerMethod::IsValidImpl ( Cfg _cfg,
CDInfo _cdInfo,
const std::string &  _caller 
)
protectedpure virtual

Implementation of the classification of a configuration to either cfree or cobst.

Parameters
_cfgThe individual configuration.
_cdInfoOutput for extra computed information such as clearance.
_callerName of the calling function.
Returns
True if _cfg is in cfree.

Implemented in TerrainValidityChecker, ObstacleClearanceValidity, NodeClearanceValidity, ComposeValidity, AlwaysTrueValidity, TopologicalMapValidity, ComposeCollision, and CollisionDetectionValidity.

◆ IsValidImpl() [2/2]

bool ValidityCheckerMethod::IsValidImpl ( GroupCfgType _cfg,
CDInfo _cdInfo,
const std::string &  _caller 
)
protectedvirtual

Implementation of group cfg classification.

Parameters
_cfgThe group configuration.
_cdInfoOutput for extra computed information such as clearance.
_callerName of the calling function.
Returns
True if _cfg is in cfree.

Reimplemented in AlwaysTrueValidity, ComposeCollision, and CollisionDetectionValidity.

◆ ToggleValidity()

void ValidityCheckerMethod::ToggleValidity ( )

Switches the meaning of "valid" to "invalid" and vice versa.

Field Documentation

◆ m_validity

bool ValidityCheckerMethod::m_validity {true}
protected

Use standard validity? False indicates negation.


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