msmazes::MazeStruct<> Class Template Reference
[Core Maze Layer]

#include <msmazes/core/maze/struct.hpp>

List of all members.


Detailed Description

template<>
class msmazes::MazeStruct<>

This class template contains the output of a Maze Maker. The maze itself is stored in an underlying graph that also contains property maps to cell indices and state inputs.


Template parameters

Parameter Description Default
CellIndex


Type requirements


Public Types

typedef implementation_defined EdgeIndex
typedef implementation_defined Graph
typedef implementation_defined Vertex

Public Member Functions

 MazeStruct ()
 The default constructor.
GraphgetGraph ()
const GraphgetGraph () const
Vertex getSourceVertex () const
void setSourceVertex (const Vertex vertex)
Vertex getTargetVertex () const
void setTargetVertex (const Vertex vertex)
EdgeIndex getMaxOutDegree () const
void setMaxOutDegree (const EdgeIndex max_out_degree)


Member Typedef Documentation

typedef implementation_defined msmazes::MazeStruct<>::EdgeIndex
 

The value type of the underlying graph's input map. Usable as the innput index type of an FSM Builder.

typedef implementation_defined msmazes::MazeStruct<>::Graph
 

The type of the underlying graph, which contains the following property maps:

Name Expression Description Value Type
Cell Index Map boost::get( boost::vertex_index1_t(), getGraph() ) One-to-one mapping from a maze vertex to a state in the overlying finite state machine. boost::graph_traits< Graph >::vertices_size_type
Cell Index Map boost::get( boost::vertex_index1_t(), getGraph() ) Many-to-one mapping from a maze vertex to the index of a corresponding cell in the pattern used to build the maze. All Maze Makers must build this map; furthermore, any model that doesn't build a last-visited map must make the cell index map a one-to-one mapping. CellIndex
Last-Visited Map boost::get( boost::vertex_index2_t(), getGraph() ) Many-to-one mapping from a maze vertex to the index of a last-visited cell in the pattern used to build the maze. CellIndex
Input Map boost::get( boost::edge_index_t(), getGraph() ) Many-to-one mapping from a maze edge to the corresponding input that causes a change from the edge's source vertex to the edge's target vertex. Only FSM Builders need to make direct use of this map. EdgeIndex

typedef implementation_defined msmazes::MazeStruct<>::Vertex
 

The vertex type of the underlying graph. Usable as the state type of an overlying FSM.


Constructor & Destructor Documentation

msmazes::MazeStruct<>::MazeStruct  )  [inline]
 

Constructs a new MazeStruct.


Member Function Documentation

Graph& msmazes::MazeStruct<>::getGraph  )  [inline]
 

Returns a reference to the underlying graph that stores the maze.

Returns:
the underlying graph.

const Graph& msmazes::MazeStruct<>::getGraph  )  const [inline]
 

Returns a const reference to the underlying graph that stores the maze.

Returns:
the underlying graph.

Vertex msmazes::MazeStruct<>::getSourceVertex  )  const [inline]
 

Returns the starting vertex in the solution path.

Returns:
the starting vertex in the solution path.

void msmazes::MazeStruct<>::setSourceVertex const Vertex  vertex  )  [inline]
 

Sets the specified vertex as the starting vertex in the solution path. Used by Maze Makers.

Parameters:
vertex the starting vertex in the solution path.

Vertex msmazes::MazeStruct<>::getTargetVertex  )  const [inline]
 

Returns the ending vertex in the solution path.

Returns:
the ending vertex in the solution path.

void msmazes::MazeStruct<>::setTargetVertex const Vertex  vertex  )  [inline]
 

Sets the specified vertex as the ending vertex in the solution path. Used by Maze Makers.

Parameters:
vertex the ending vertex in the solution path.

EdgeIndex msmazes::MazeStruct<>::getMaxOutDegree  )  const [inline]
 

Returns the maximum number of inputs that an overlying FSM can process in any state.

Returns:
the maximum out-degree of any maze vertex.

void msmazes::MazeStruct<>::setMaxOutDegree const EdgeIndex  max_out_degree  )  [inline]
 

Sets the specified out-degree as the maximum number of inputs that an overlying finite state machine can process in any state. If the argument is zero, then the underlying graph will be used to calculate this value.

Parameters:
max_out_degree the maximum out-degree of any maze vertex.


Multi-State Mazes in C++ is hosted by SourceForge.net. Use the Table of Contents for navigation.