PPL API Reference
Overview Core Algorithm Abstractions Utilities Parallel Methods
Modules Class Hierarchy Classes Functions
Todo List Bug List Dead Code
List of all members | Public Types
MPTraits< C, W > Struct Template Reference

Defines available methods in the Motion Planning Universe for Cfg. More...

Public Types

typedef C CfgType
 
typedef W WeightType
 
typedef RoadmapGraph< C, W > RoadmapType
 
typedef PathType< MPTraitsPath
 
typedef MPLibraryType< MPTraitsMPLibrary
 
typedef MPSolutionType< MPTraitsMPSolution
 
typedef MPToolsType< MPTraitsMPTools
 
typedef LocalObstacleMapType< MPTraitsLocalObstacleMap
 
typedef GoalTrackerType< MPTraitsGoalTracker
 
typedef GroupLocalPlan< CfgType > GroupWeightType
 
typedef GroupRoadmap< GroupCfg, GroupWeightTypeGroupRoadmapType
 
typedef GroupPath< MPTraitsGroupPathType
 
typedef GroupCfg GroupCfgType
 
typedef boost::mpl::list< EuclideanDistance< MPTraits >, MinkowskiDistance< MPTraits > > DistanceMetricMethodList
 
typedef boost::mpl::list< CollisionDetectionValidity< MPTraits >, AlwaysTrueValidity< MPTraits >, ComposeValidity< MPTraits >, ComposeCollision< MPTraits > > ValidityCheckerMethodList
 
typedef boost::mpl::list< BruteForceNF< MPTraits > > NeighborhoodFinderMethodList
 
typedef boost::mpl::list< UniformRandomSampler< MPTraits > > SamplerMethodList
 
typedef boost::mpl::list< StraightLine< MPTraits > > LocalPlannerMethodList
 
typedef boost::mpl::list< BasicExtender< MPTraits > > ExtenderMethodList
 
typedef boost::mpl::list< > PathModifierMethodList
 
typedef boost::mpl::list< NeighborhoodConnector< MPTraits > > ConnectorMethodList
 
typedef boost::mpl::list< NumNodesMetric< MPTraits > > MetricMethodList
 
typedef boost::mpl::list< CBSQuery< MPTraits >, ComposeEvaluator< MPTraits >, ConditionalEvaluator< MPTraits >, LazyQuery< MPTraits >, QueryMethod< MPTraits >, SIPPMethod< MPTraits >, TimeEvaluator< MPTraits > > MapEvaluatorMethodList
 
typedef boost::mpl::list< AdaptiveRRT< MPTraits >, BasicPRM< MPTraits >, BasicRRTStrategy< MPTraits >, GroupDecoupledStrategy< MPTraits >, GroupStrategyMethod< MPTraits >, TogglePRMStrategy< MPTraits >, ValidationStrategy< MPTraits > > MPStrategyMethodList
 
typedef C CfgType
 
typedef W WeightType
 
typedef C CfgRef
 
typedef MPProblem< MPTraitsMPProblemType
 
typedef boost::mpl::list< EuclideanDistance< MPTraits >, ScaledEuclideanDistance< MPTraits > > DistanceMetricMethodList
 
typedef boost::mpl::list< AlwaysTrueValidity< MPTraits >, CollisionDetectionValidity< MPTraits > > ValidityCheckerMethodList
 
typedef boost::mpl::list< BruteForceNF< MPTraits >, RadiusNF< MPTraits > > NeighborhoodFinderMethodList
 
typedef boost::mpl::list< BridgeTestSampler< MPTraits >, GaussianSampler< MPTraits >, ObstacleBasedSampler< MPTraits >, UniformRandomSampler< MPTraits > > SamplerMethodList
 
typedef boost::mpl::list< StraightLine< MPTraits > > LocalPlannerMethodList
 
typedef boost::mpl::list< BasicExtender< MPTraits > > ExtenderMethodList
 
typedef boost::mpl::list< > PathModifierMethodList
 
typedef boost::mpl::list< CCsConnector< MPTraits >, NeighborhoodConnector< MPTraits >, RegionConnector< MPTraits >, RegionRRTConnect< MPTraits >, RewireConnector< MPTraits >, RRTConnect< MPTraits > > ConnectorMethodList
 
typedef boost::mpl::list< NumNodesMetric< MPTraits > > MetricMethodList
 
typedef boost::mpl::list< ConditionalEvaluator< MPTraits > > MapEvaluatorMethodList
 
typedef boost::mpl::list< BasicParallelPRM< MPTraits >, BlindRRT< MPTraits >, BulkRRT< MPTraits >, RadialBlindRRT< MPTraits >, RadialSubdivisionRRT< MPTraits >, RegularSubdivisionMethod< MPTraits > > MPStrategyMethodList
 
typedef C CfgType
 
typedef W WeightType
 
typedef RoadmapGraph< C, W > RoadmapType
 
typedef PathType< MPTraitsPath
 
typedef MPLibraryTests< MPTraitsMPLibrary
 
typedef MPSolutionType< MPTraitsMPSolution
 
typedef MPToolsType< MPTraitsMPTools
 
typedef LocalObstacleMapType< MPTraitsLocalObstacleMap
 
typedef GoalTrackerType< MPTraitsGoalTracker
 
typedef GroupLocalPlan< CfgType > GroupWeightType
 
typedef GroupRoadmap< GroupCfg, GroupWeightTypeGroupRoadmapType
 
typedef GroupPath< MPTraitsGroupPathType
 
typedef GroupCfg GroupCfgType
 
typedef boost::mpl::list< > DistanceMetricMethodList
 
typedef boost::mpl::list< AlwaysTrueValidityTest< MPTraits > > ValidityCheckerMethodList
 
typedef boost::mpl::list< > NeighborhoodFinderMethodList
 
typedef boost::mpl::list< UniformRandomSamplerTest< MPTraits > > SamplerMethodList
 
typedef boost::mpl::list< > LocalPlannerMethodList
 
typedef boost::mpl::list< > ExtenderMethodList
 
typedef boost::mpl::list< > PathModifierMethodList
 
typedef boost::mpl::list< > ConnectorMethodList
 
typedef boost::mpl::list< > MetricMethodList
 
typedef boost::mpl::list< LazyQueryTest< MPTraits > > MapEvaluatorMethodList
 
typedef boost::mpl::list< ValidationStrategy< MPTraits > > MPStrategyMethodList
 

Detailed Description

template<typename C, typename W = DefaultWeight<C>>
struct MPTraits< C, W >

Defines available methods in the Motion Planning Universe for Cfg.

Defines available methods in the Motion Planning Universe for Cfg under parallel compile.

Template Parameters
CCfg type
WWeight type

MPTraits is a type class which defines the motion planning universe. We construct our methods through a factory design pattern, and thus this states all available classes within an abstraction that you can use in the system. Essentially, the important types are the CfgType or the $\mathcal{C}_{space}$ abstraction class, the WeightType or the edge type of the graph, and a type list for each algorithm abstraction — here you only need to define what you need, as extraneous methods in the type class imply longer compile times.

Template Parameters
CCfg type
WWeight type

TODO::Update this description MPTraits is a type class which defines the motion planning universe. We construct our methods through a factory design pattern, and thus this states all available classes within an abstraction that you can use in the system. Essentially, the important types are the CfgType or the $\mathcal{C}_{space}$ abstraction class, the WeightType or the edge type of the graph, and a type list for each algorithm abstraction — here you only need to define what you need, as extraneous methods in the type class imply longer compile times.

All methods should have "Test" at the end to specify that they are using the test version, and the test version header file should be included at the top of this file.


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