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 | Classes
ReebGraphConstruction Class Reference

Classes

struct  MeshEdge
 Tetrahedralization edge. Stores associates ReebEdges. More...
 
struct  MeshEdgeEq
 Mesh edge equivalence. Based on source/target pair. More...
 
struct  MeshEdgeHash
 Hash function for MeshEdge. Hash based on source/target pair. More...
 
struct  Parameters
 The parameters for this object. More...
 
struct  ReebArc
 
struct  ReebArcComp
 
struct  ReebNode
 Vertex property of ReebGraph. More...
 
struct  ReebNodeComp
 

Public Member Functions

Operations
void Construct (const WorkspaceDecomposition *_decomposition)
 
WorkspaceSkeleton GetSkeleton ()
 
Accessors

@TODO Fix const-ness of accessors when STAPL fixes sequential graph.

ReebGraphGetReebGraph ()
 Get the embedding graph.
 
I/O
void Read (const string &_filename)
 
void Write (const string &_filename)
 

Local Types

typedef tuple< size_t, size_t, size_t > Triangle
 
typedef stapl::sequential::directed_preds_graph< stapl::MULTIEDGES, ReebNode, ReebArcReebGraph
 
typedef ReebGraph::edge_descriptor RGEID
 ReebGraph edge descriptor.
 
typedef set< RGEID, ReebArcCompArcSet
 Set of ReebArcs.
 
typedef stapl::sequential::directed_preds_graph< stapl::MULTIEDGES, Vector3d, vector< Vector3d > > FlowGraph
 
static Parameters m_defaultParams
 The default parameters.
 

Construction

 ReebGraphConstruction ()
 
static void SetDefaultParameters (XMLNode &_node)
 

Detailed Description

Compute an embedded reeb graph of free workspace.

Computation requires a proper tetrahedralization for the computation to work. ReebGraph comprises of ReebNodes and ReebArcs. Nodes represent the critical values of a Morse function, i.e., min, max, saddle, and Arcs are homotopy classes to get between these nodes.

For details of algorithm see: V. Pascucci, G. Scorzelli, P-T. Bremer, A. Mascarenhas, "Robust On-line Computation of Reeb Graphs: Simplicity and Speed," ACM Trans. on Graphics, 26.3.58, July 2007, and In. Proc. of ACM SIGGRAPH, 2007.

Member Typedef Documentation

◆ Triangle

typedef tuple<size_t, size_t, size_t> ReebGraphConstruction::Triangle

Triangle: 3 indices for vertex array.

◆ ReebGraph

typedef stapl::sequential::directed_preds_graph< stapl::MULTIEDGES, ReebNode, ReebArc> ReebGraphConstruction::ReebGraph

ReebGraph is a directed, multiedge graph between ReebNode and ReebArc

◆ FlowGraph

typedef stapl::sequential::directed_preds_graph< stapl::MULTIEDGES, Vector3d, vector<Vector3d> > ReebGraphConstruction::FlowGraph

Flow graph is a directed multiedge graph of points and paths. Is a flow of the embedded ReebGraph.

Member Function Documentation

◆ SetDefaultParameters()

void ReebGraphConstruction::SetDefaultParameters ( XMLNode _node)
static

Set the default parameters from an XML node.

Parameters
_nodeThe XML node to parse.

◆ Construct()

void ReebGraphConstruction::Construct ( const WorkspaceDecomposition _decomposition)

Construct a Reeb graph of an environment decomposition.

Parameters
_decompositionThe workspace decomposition to use.
_baseInputPathBase file path for input files.
_baseFilenameBase filename used for saving models

◆ GetSkeleton()

WorkspaceSkeleton ReebGraphConstruction::GetSkeleton ( )

Extract a workspace skeleton from the Reeb graph. @TODO Make this a const function if STAPL ever fixes the sequential graph.

◆ Read()

void ReebGraphConstruction::Read ( const string &  _filename)

Read embedding graph from file

Parameters
_filenameFilename

◆ Write()

void ReebGraphConstruction::Write ( const string &  _filename)

Write embedding graph to file

Parameters
_filenameFilename

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