#include <msmazes/core/pattern/physical.hpp>
PhysicalPattern
class template, which handles common initialization tasks and implements most of the associated types and functions specified in the Pattern and Physical Pattern concepts.
Parameter | Description | Default |
---|---|---|
CoordinateType | The type that will represent the coordinates of each cell. | |
DirectionType | The type that will represent the course or bearing that is followed when traversing an edge in the underlying graph. | |
DirectionChangeType | The type that will represent the change in course or bearing that occurs when traversing two consecutive edges in the underlying graph. | |
CellContainerSelector | The type of the container that will store the cells. | boost::vecS |
CoordinateType
must be Assignable to a floating-point numeric type. DirectionType
must be Default Constructible. DirectionChangeType
must be Default Constructible. boost::container_gen<CellContainerSelector,Cell>::type
must be a Random Access Container whose value type is the same as Cell
.
Public Types | |
typedef implementation_defined | Cell |
typedef implementation_defined | Coordinate |
typedef implementation_defined | CellEqualityPolicy |
typedef implementation_defined | Graph |
typedef implementation_defined | CellIndex |
typedef implementation_defined | EdgeDirectedCategory |
typedef implementation_defined | Direction |
typedef implementation_defined | DirectionChange |
typedef implementation_defined | OutDegree |
typedef implementation_defined | HasIndexableEndpointCells |
Public Member Functions | |
virtual | ~PhysicalPattern () |
The destructor. | |
const Graph & | getGraph () const |
CellIndex | getCellCount () const |
const Cell & | getCell (const CellIndex index) const |
const Cell & | getEntranceCell () const |
const Cell & | getSourceCell () const |
const Cell & | getTargetCell () const |
const Cell & | getExitCell () const |
Direction | getEdgeDirection (const CellIndex source_index, const CellIndex target_index) const |
DirectionChange | getYawTurn (const CellIndex source_index, const CellIndex parent_index, const CellIndex target_index) const |
OutDegree | getMaxOutDegree () const |
Static Public Member Functions | |
Cell | createCell (const Coordinate x, const Coordinate y, const Coordinate z) |
Protected Member Functions | |
PhysicalPattern () | |
The default constructor. | |
template<typename TesselationFormer, typename ArgumentPack> | |
void | initializeWithTesselationFormer (const TesselationFormer &tesselation_former, const ArgumentPack &p) |
virtual Direction | getEdgeDirectionDerived (const Cell &source, const Cell &target) const |
virtual DirectionChange | getYawTurnDerived (const Cell &source, const Cell &parent, const Cell &target) const |
virtual OutDegree | getMaxOutDegreeDerived () const =0 |
|
The type of the objects to be connected together, as defined in the Pattern concept. |
|
The type that represents the coordinates of each cell, as defined in the Physical Pattern concept. |
|
The type of the function object that determines equality between any two cells, as defined in the Pattern concept. |
|
The type of the underlying object that represents the manner in which the cells are connected together, as defined in the Pattern concept. |
|
An unsigned integral type for representing either the index of a cell or the number of such cells, as defined in the Pattern concept. |
|
The type that represents whether the edges in the underlying graph are undirected, directed, or bidirectional, as defined in the Pattern concept. |
|
The type that represents the course or bearing that is followed when traversing an edge in the underlying graph, as defined in the Pattern concept. |
|
The type that represents the change in course or bearing that occurs when traversing two consecutive edges in the underlying graph, as defined in the Physical Pattern concept. |
|
The type that represents the number of edges from a source vertex in the underlying graph, as defined in the Pattern concept. |
|
The type that indicates that the entrance and exit cells are not indexable, as defined in the Pattern concept. |
|
Because the |
|
Destroys this |
|
Constructs a new cell for use in initializing this
|
|
Constructs the cells and their connections in this
|
|
Returns a const reference to the underlying object that represents the manner in which the cells are connected together in this |
|
Returns the number of cells in this |
|
Returns a const reference to the cell in this |
|
Returns a const reference to the entrance cell in the solution path of an overlying maze, as defined in the Pattern concept. |
|
Returns a const reference to the cell that topologically follows the entrance cell in the solution path of an overlying maze, as defined in the Pattern concept. |
|
Returns a const reference to the cell that topologically precedes the exit cell in the solution path of an overlying maze, as defined in the Pattern concept. |
|
Returns a const reference to the exit cell in the solution path of an overlying maze, as defined in the Pattern concept. |
|
Override this function to calculate the course or bearing that is followed when traversing the corresponding edge in the underlying graph. Do not override the public version. |
|
Override this function to calculate the change in course or bearing that occurs when traversing the corresponding edges in the underlying graph. Do not override the public version. |
|
Override this function to calculate the maximum number of edges from any source vertex in the underlying graph. Do not override the public version. |
|
Returns a representation of the course or bearing that is followed when traversing the corresponding edge in the underlying graph, as defined in the Pattern concept. |
|
Returns the change in course or bearing that occurs when traversing the corresponding edges in the underlying graph, as defined in the Physical Pattern concept. |
|
Returns the maximum number of edges from any source vertex in the underlying graph, as defined in the Pattern concept. |
Multi-State Mazes in C++ is hosted by . Use the Table of Contents for navigation.