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
PropertyMap< EdgeProperty, VertexProperty > Class Template Reference

Public Member Functions

Constructors
 PropertyMap ()=default
 
 PropertyMap (WorkspaceSkeleton *_ws)
 
Sub-graph Generators
WorkspaceSkeletonGetEdgeFilteredSkeleton (EdgeFilterFunction &&_f)
 
WorkspaceSkeletonGetVertexFilteredSkeleton (VertexFilterFunction &&_f)
 
Accessors
void SetSkeleton (WorkspaceSkeleton *_ws)
 
VertexMapType & GetVertexMap ()
 
EdgeMapType & GetEdgeMap ()
 
void SetVertexMap (VertexMapType &_vMap)
 
void SetEdgeMap (EdgeMapType &_eMap)
 
void SetVertexProperty (const VD &_v, const VertexProperty &_vp)
 Individual accessors.
 
void SetEdgeProperty (const ED &_e, const EdgeProperty &_ep)
 
VertexProperty & GetVertexProperty (const VD &_v)
 
EdgeProperty & GetEdgeProperty (const ED &_e)
 
IO
void Write (const std::string &_file)
 
void Read (const std::string &_file)
 

Public Types

Local Types
typedef WorkspaceSkeleton::GraphType GraphType
 Graph type is a directed multiedge graph of points and paths.
 
typedef WorkspaceSkeleton::VD VD
 
typedef WorkspaceSkeleton::ED ED
 
typedef GraphType::vertex_iterator vertex_iterator
 
typedef GraphType::adj_edge_iterator adj_edge_iterator
 
typedef function< bool(EdgeProperty &)> EdgeFilterFunction
 
typedef function< bool(VertexProperty &)> VertexFilterFunction
 
typedef unordered_map< ED, EdgeProperty, edgeHashEdgeMapType
 
typedef unordered_map< VD, VertexProperty > VertexMapType
 

Detailed Description

template<typename EdgeProperty, typename VertexProperty = void>
class PropertyMap< EdgeProperty, VertexProperty >

Property map of the workspace skeleton.

To use just edge property map, use default vertex property.

Member Typedef Documentation

◆ EdgeFilterFunction

template<typename EdgeProperty , typename VertexProperty = void>
typedef function<bool(EdgeProperty&)> PropertyMap< EdgeProperty, VertexProperty >::EdgeFilterFunction

Filter function types. The filter function removes the properties or skeleton elemets for which the function returns true.

Member Function Documentation

◆ GetEdgeFilteredSkeleton()

template<typename EdgeProperty , typename VertexProperty >
WorkspaceSkeleton * PropertyMap< EdgeProperty, VertexProperty >::GetEdgeFilteredSkeleton ( EdgeFilterFunction &&  _f)

Compute the graph in terms of filter funtion then replace the old graph with the annotated one.

Parameters
_fFilter functor: Delete edges for which function returns true.
Returns
A reference to the annotated workspace skeleton.

◆ GetVertexFilteredSkeleton()

template<typename EdgeProperty , typename VertexProperty >
WorkspaceSkeleton * PropertyMap< EdgeProperty, VertexProperty >::GetVertexFilteredSkeleton ( VertexFilterFunction &&  _f)

Compute the graph in terms of filter funtion then replace the old graph with the annotated one.

Parameters
_fFilter functor: Delete vertices for which function returns true.
Returns
A reference to the annotated workspace skeleton.

◆ Write()

template<typename EdgeProperty , typename VertexProperty >
void PropertyMap< EdgeProperty, VertexProperty >::Write ( const std::string &  _file)

Writes the graph to a file.

Parameters
_filethe output file name.

◆ Read()

template<typename EdgeProperty , typename VertexProperty >
void PropertyMap< EdgeProperty, VertexProperty >::Read ( const std::string &  _file)

Reads the graph from a file.

Parameters
_filethe output file name.

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