Parasol Planning Library (PPL)
Public Types
MPTraits< C, W > Struct Template Reference

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

#include <ParallelCfgTraits.h>

Public Types

typedef C CfgType
 
typedef W WeightType
 
typedef C CfgRef
 
typedef MPProblem< MPTraitsMPProblemType
 
typedef boost::mpl::list< EuclideanDistance< MPTraits >, ScaledEuclideanDistance< MPTraits >, WorkspaceTranslationDistance< 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
 

Detailed Description

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

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 @cspace 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.

Member Typedef Documentation

◆ CfgRef

template<class C , class W = DefaultWeight<C>>
typedef C MPTraits< C, W >::CfgRef

◆ CfgType

template<class C , class W = DefaultWeight<C>>
typedef C MPTraits< C, W >::CfgType

◆ ConnectorMethodList

template<class C , class W = DefaultWeight<C>>
typedef boost::mpl::list< CCsConnector<MPTraits>, NeighborhoodConnector<MPTraits>, RegionConnector<MPTraits>, RegionRRTConnect<MPTraits>, RewireConnector<MPTraits>, RRTConnect<MPTraits> > MPTraits< C, W >::ConnectorMethodList

◆ DistanceMetricMethodList

template<class C , class W = DefaultWeight<C>>
typedef boost::mpl::list< EuclideanDistance<MPTraits>, ScaledEuclideanDistance<MPTraits>, WorkspaceTranslationDistance<MPTraits> > MPTraits< C, W >::DistanceMetricMethodList

◆ ExtenderMethodList

template<class C , class W = DefaultWeight<C>>
typedef boost::mpl::list< BasicExtender<MPTraits> > MPTraits< C, W >::ExtenderMethodList

◆ LocalPlannerMethodList

template<class C , class W = DefaultWeight<C>>
typedef boost::mpl::list< StraightLine<MPTraits> > MPTraits< C, W >::LocalPlannerMethodList

◆ MapEvaluatorMethodList

template<class C , class W = DefaultWeight<C>>
typedef boost::mpl::list< ConditionalEvaluator<MPTraits> > MPTraits< C, W >::MapEvaluatorMethodList

◆ MetricMethodList

template<class C , class W = DefaultWeight<C>>
typedef boost::mpl::list< NumNodesMetric<MPTraits> > MPTraits< C, W >::MetricMethodList

◆ MPProblemType

template<class C , class W = DefaultWeight<C>>
typedef MPProblem<MPTraits> MPTraits< C, W >::MPProblemType

◆ MPStrategyMethodList

template<class C , class W = DefaultWeight<C>>
typedef boost::mpl::list< BasicParallelPRM<MPTraits>, BlindRRT<MPTraits>, BulkRRT<MPTraits>, RadialBlindRRT<MPTraits>, RadialSubdivisionRRT<MPTraits>, RegularSubdivisionMethod<MPTraits> > MPTraits< C, W >::MPStrategyMethodList

◆ NeighborhoodFinderMethodList

template<class C , class W = DefaultWeight<C>>
typedef boost::mpl::list< BruteForceNF<MPTraits>, RadiusNF<MPTraits> > MPTraits< C, W >::NeighborhoodFinderMethodList

◆ PathModifierMethodList

template<class C , class W = DefaultWeight<C>>
typedef boost::mpl::list< > MPTraits< C, W >::PathModifierMethodList

◆ SamplerMethodList

template<class C , class W = DefaultWeight<C>>
typedef boost::mpl::list< BridgeTestSampler<MPTraits>, GaussianSampler<MPTraits>, ObstacleBasedSampler<MPTraits>, UniformRandomSampler<MPTraits> > MPTraits< C, W >::SamplerMethodList

◆ ValidityCheckerMethodList

template<class C , class W = DefaultWeight<C>>
typedef boost::mpl::list< AlwaysTrueValidity<MPTraits>, CollisionDetectionValidity<MPTraits> > MPTraits< C, W >::ValidityCheckerMethodList

◆ WeightType

template<class C , class W = DefaultWeight<C>>
typedef W MPTraits< C, W >::WeightType

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