![]() |
Parasol Planning Library (PPL)
|
#include <GroupPath.h>
Public Types | |
Motion Planning Types | |
| typedef GenericStateGraph< Cfg, DefaultWeight< Cfg > > | RoadmapType |
| typedef GroupCfg< RoadmapType > | GroupCfgType |
| typedef GroupRoadmap< GroupCfgType, GroupLocalPlan< RoadmapType > > | GroupRoadmapType |
| typedef GroupRoadmapType::VID | VID |
Public Member Functions | |
| template<typename MPLibrary > | |
| const std::vector< typename GroupPath::GroupCfgType > | FullCfgs (MPLibrary *const _lib) const |
| template<typename MPLibrary > | |
| const std::vector< typename GroupPath::GroupCfgType > | FullCfgsWithWait (MPLibrary *const _lib) const |
Construction | |
| GroupPath (GroupRoadmapType *const _r=nullptr) | |
Path Interface | |
| GroupRoadmapType * | GetRoadmap () const noexcept |
| Get the roadmap used by this path. More... | |
| size_t | Size () const noexcept |
| Get the number of cfgs in the path. More... | |
| bool | Empty () const noexcept |
| Check if the path is empty. More... | |
| double | Length () const |
| Get the total edge weight. More... | |
| size_t | TimeSteps () const |
| const std::vector< VID > & | VIDs () const noexcept |
| Get the VIDs in the path. More... | |
| const std::pair< std::vector< VID >, std::vector< size_t > > | VIDsWaiting () const noexcept |
| Get the VIDs and timesteps waiting in the path. More... | |
| const std::vector< GroupCfgType > & | Cfgs () const |
| template<typename MPLibrary > | |
| const std::vector< GroupCfgType > | FullCfgs (MPLibrary *const _lib) const |
| template<typename MPLibrary > | |
| const std::vector< GroupCfgType > | FullCfgsWithWait (MPLibrary *const _lib) const |
| GroupPath & | operator+= (const GroupPath &_p) |
| GroupPath | operator+ (const GroupPath &_p) const |
| GroupPath & | operator+= (const std::vector< VID > &_vids) |
| GroupPath | operator+ (const std::vector< VID > &_vids) const |
| GroupPath & | operator= (const GroupPath &_p) |
| Copy assignment operator. More... | |
| void | Clear () |
| Clear all data in the path. More... | |
| void | FlushCache () |
| Clear cached data, but leave the VIDs. More... | |
| void | SetWaitTimes (std::vector< size_t > _waitTimes) |
| std::vector< size_t > | GetWaitTimes () |
| Get the wait times at each vertex in the path. More... | |
| std::pair< size_t, size_t > | GetEdgeAtTimestep (size_t _timestep) |
A path of connected configurations from a given roadmap.
The implementation uses a vector of VID's as the primary representation. The corresponding configurations are computed lazily upon request.
| typedef GroupCfg<RoadmapType> GroupPath::GroupCfgType |
| typedef GenericStateGraph<Cfg, DefaultWeight<Cfg> > GroupPath::RoadmapType |
| typedef GroupRoadmapType::VID GroupPath::VID |
| GroupPath::GroupPath | ( | GroupRoadmapType *const | _r = nullptr | ) |
Construct an empty path.
| _r | The roadmap used by this path. |
| const std::vector< typename GroupPath::GroupCfgType > & GroupPath::Cfgs | ( | ) | const |
Get a copy of the Cfgs in the path.
| void GroupPath::Clear | ( | ) |
Clear all data in the path.
|
noexcept |
Check if the path is empty.
| void GroupPath::FlushCache | ( | ) |
Clear cached data, but leave the VIDs.
| const std::vector<GroupCfgType> GroupPath::FullCfgs | ( | MPLibrary *const | _lib | ) | const |
Get the current full Cfg path with steps spaced one environment resolution apart. This is not cached due to its size and infrequent usage.
| _lib | The planning library to use. |
| const std::vector<typename GroupPath::GroupCfgType> GroupPath::FullCfgs | ( | MPLibrary *const | _lib | ) | const |
| const std::vector<GroupCfgType> GroupPath::FullCfgsWithWait | ( | MPLibrary *const | _lib | ) | const |
Get the current full Cfg path with wait times. Steps are spaced one environment resolution apart. This is not cached due to its size and infrequent usage.
| _lib | The planning library to use. |
| const std::vector<typename GroupPath::GroupCfgType> GroupPath::FullCfgsWithWait | ( | MPLibrary *const | _lib | ) | const |
| std::pair< size_t, size_t > GroupPath::GetEdgeAtTimestep | ( | size_t | _timestep | ) |
Get the (source,target) of the path at the input timestep.
| _timestep | The timestep to find the corresponding edge. |
|
noexcept |
Get the roadmap used by this path.
| std::vector< size_t > GroupPath::GetWaitTimes | ( | ) |
Get the wait times at each vertex in the path.
| double GroupPath::Length | ( | ) | const |
Get the total edge weight.
Add another path to the end of this one and return the result.
| _p | The path to add. |
Add a new set of VIDs to the end of this path and return the result.
| _vids | The VIDs to add. |
Append another path to the end of this one.
| _p | The path to append. |
Append a new set of VIDs to the end of this path.
| _vids | The VIDs to append. |
| void GroupPath::SetWaitTimes | ( | std::vector< size_t > | _waitTimes | ) |
Set the wait times at each vertex in path Used in Safe Interval Path Planning
|
noexcept |
Get the number of cfgs in the path.
| size_t GroupPath::TimeSteps | ( | ) | const |
|
noexcept |
Get the VIDs in the path.
|
noexcept |
Get the VIDs and timesteps waiting in the path.