![]() |
Parasol Planning Library (PPL)
|
#include <ReebGraphConstruction.h>
Data Structures | |
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. | |
ReebGraph & | GetReebGraph () |
Get the embedding graph. More... | |
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, ReebArc > | ReebGraph |
typedef ReebGraph::edge_descriptor | RGEID |
ReebGraph edge descriptor. More... | |
typedef set< RGEID, ReebArcComp > | ArcSet |
Set of ReebArcs. More... | |
typedef stapl::sequential::directed_preds_graph< stapl::MULTIEDGES, Vector3d, vector< Vector3d > > | FlowGraph |
static Parameters | m_defaultParams |
The default parameters. More... | |
Construction | |
ReebGraphConstruction () | |
static void | SetDefaultParameters (XMLNode &_node) |
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.
typedef set<RGEID, ReebArcComp> ReebGraphConstruction::ArcSet |
Set of ReebArcs.
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.
typedef stapl::sequential::directed_preds_graph< stapl::MULTIEDGES, ReebNode, ReebArc> ReebGraphConstruction::ReebGraph |
typedef ReebGraph::edge_descriptor ReebGraphConstruction::RGEID |
ReebGraph edge descriptor.
typedef tuple<size_t, size_t, size_t> ReebGraphConstruction::Triangle |
Triangle: 3 indices for vertex array.
ReebGraphConstruction::ReebGraphConstruction | ( | ) |
void ReebGraphConstruction::Construct | ( | const WorkspaceDecomposition * | _decomposition | ) |
Construct a Reeb graph of an environment decomposition.
_decomposition | The workspace decomposition to use. |
_baseInputPath | Base file path for input files. |
_baseFilename | Base filename used for saving models |
|
inline |
Get the embedding graph.
WorkspaceSkeleton ReebGraphConstruction::GetSkeleton | ( | ) |
Extract a workspace skeleton from the Reeb graph. @TODO Make this a const function if STAPL ever fixes the sequential graph.
void ReebGraphConstruction::Read | ( | const string & | _filename | ) |
Read embedding graph from file
_filename | Filename |
|
static |
Set the default parameters from an XML node.
_node | The XML node to parse. |
void ReebGraphConstruction::Write | ( | const string & | _filename | ) |
Write embedding graph to file
_filename | Filename |
|
static |
The default parameters.