Parasol Planning Library (PPL)
GoalTrackerType Class Referencefinal

Maintains a set of GoalMap for multiple roadmap/task pairs. More...

#include <GoalTracker.h>

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

Public Types

Motion Planning Types
typedef MPBaseObject::RoadmapType RoadmapType
 
typedef MPBaseObject::GroupRoadmapType GroupRoadmapType
 
typedef RoadmapType::VID VID
 
Local Types
typedef std::unordered_set< VIDVIDSet
 

Public Member Functions

Construction
 GoalTrackerType (MPLibrary *const _library)
 
 ~GoalTrackerType ()
 
Interface
template<typename Roadmap , typename Task >
const VIDSetGetStartVIDs (Roadmap *const _roadmap, const Task *const _task) const
 
const VIDSetGetStartVIDs () const
 
template<typename Roadmap , typename Task >
const VIDSetGetGoalVIDs (Roadmap *const _roadmap, const Task *const _task, const size_t _index) const
 
const VIDSetGetGoalVIDs (const size_t _index) const
 
template<typename Roadmap , typename Task >
size_t UnreachedGoalCount (Roadmap *const _roadmap, const Task *const _task) const
 
size_t UnreachedGoalCount () const
 
template<typename Roadmap , typename Task >
std::vector< size_t > UnreachedGoalIndexes (Roadmap *const _roadmap, const Task *const _task) const
 
std::vector< size_t > UnreachedGoalIndexes () const
 
void AddMap (RoadmapType *const _roadmap, const MPTask *const _task)
 
void AddMap (GroupRoadmapType *const _roadmap, const GroupTask *const _task)
 
bool IsMap (RoadmapType *const _roadmap, const MPTask *const _task) const
 
bool IsMap (GroupRoadmapType *const _roadmap, const GroupTask *const _task) const
 
void Clear ()
 Clear all goal maps. More...
 

Detailed Description

Maintains a set of GoalMap for multiple roadmap/task pairs.

Member Typedef Documentation

◆ GroupRoadmapType

◆ RoadmapType

◆ VID

◆ VIDSet

typedef std::unordered_set<VID> GoalTrackerType::VIDSet

Constructor & Destructor Documentation

◆ GoalTrackerType()

GoalTrackerType::GoalTrackerType ( MPLibrary *const  _library)

Construct a goal tracker, which must be owned by a specific MPLibrary.

Parameters
_libraryThe owning library.

◆ ~GoalTrackerType()

GoalTrackerType::~GoalTrackerType ( )

Member Function Documentation

◆ AddMap() [1/2]

void GoalTrackerType::AddMap ( GroupRoadmapType *const  _roadmap,
const GroupTask *const  _task 
)

Add a goal map for a group roadmap/task pair.

Parameters
_roadmapThe group roadmap.
_taskThe task.

◆ AddMap() [2/2]

void GoalTrackerType::AddMap ( RoadmapType *const  _roadmap,
const MPTask *const  _task 
)

Add a goal map for a roadmap/task pair.

Parameters
_roadmapThe roadmap.
_taskThe task.

◆ Clear()

void GoalTrackerType::Clear ( )

Clear all goal maps.

◆ GetGoalVIDs() [1/2]

const GoalTrackerType::VIDSet & GoalTrackerType::GetGoalVIDs ( const size_t  _index) const

This version uses the current roadmap/task. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Exceptions
Ifboth a group and individual 'current' task are set.

◆ GetGoalVIDs() [2/2]

template<typename Roadmap , typename Task >
const GoalTrackerType::VIDSet & GoalTrackerType::GetGoalVIDs ( Roadmap *const  _roadmap,
const Task *const  _task,
const size_t  _index 
) const

Find the VIDs which satisfy a particular goal constraint for a roadmap/task pair.

Parameters
_roadmapThe roadmap.
_taskThe task.
_indexThe goal constraint index.
Returns
The set of VIDs from _roadmap which satisfy goal constraint _index from task _task.

◆ GetStartVIDs() [1/2]

const GoalTrackerType::VIDSet & GoalTrackerType::GetStartVIDs ( ) const

This version uses the current roadmap/task. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Exceptions
Ifboth a group and individual 'current' task are set.

◆ GetStartVIDs() [2/2]

template<typename Roadmap , typename Task >
const GoalTrackerType::VIDSet & GoalTrackerType::GetStartVIDs ( Roadmap *const  _roadmap,
const Task *const  _task 
) const

Find the VIDs which satisfy the start constraint for a roadmap/task pair.

Parameters
_roadmapThe roadmap.
_taskThe task.
Returns
The set of VIDs from _roadmap which satisfy the start constraints for _task.

◆ IsMap() [1/2]

bool GoalTrackerType::IsMap ( GroupRoadmapType *const  _roadmap,
const GroupTask *const  _task 
) const

Check for a goal map for a group roadmap/task pair.

Parameters
_roadmapThe group roadmap.
_taskThe task.

◆ IsMap() [2/2]

bool GoalTrackerType::IsMap ( RoadmapType *const  _roadmap,
const MPTask *const  _task 
) const

Check for a goal map for a roadmap/task pair.

Parameters
_roadmapThe roadmap.
_taskThe task.

◆ UnreachedGoalCount() [1/2]

size_t GoalTrackerType::UnreachedGoalCount ( ) const

This version uses the current roadmap/task. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Exceptions
Ifboth a group and individual 'current' task are set.

◆ UnreachedGoalCount() [2/2]

template<typename Roadmap , typename Task >
size_t GoalTrackerType::UnreachedGoalCount ( Roadmap *const  _roadmap,
const Task *const  _task 
) const

Check the number of unreached goals for a roadmap/task.

Parameters
_roadmapThe roadmap.
_taskThe task.
Returns
The number of unreached goals.

◆ UnreachedGoalIndexes() [1/2]

std::vector< size_t > GoalTrackerType::UnreachedGoalIndexes ( ) const

This version uses the current roadmap/task. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Exceptions
Ifboth a group and individual 'current' task are set.

◆ UnreachedGoalIndexes() [2/2]

template<typename Roadmap , typename Task >
std::vector< size_t > GoalTrackerType::UnreachedGoalIndexes ( Roadmap *const  _roadmap,
const Task *const  _task 
) const

Get the indexes of the goal constraints which have not yet been satisfied.

Parameters
_roadmapThe roadmap.
_taskThe task.
Returns
The unreached goal indexes.

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