Static Public Member Functions | |
| static bool | orient_mesh (std::vector< CellData< 3 > > &incubes) |
Private Member Functions | |
| Orienter (const std::vector< CellData< 3 > > &incubes) | |
| bool | orient_edges () |
| void | orient_cubes () |
| bool | get_next_unoriented_cube () |
| bool | is_oriented (const unsigned int cell_num) const |
| bool | orient_edges_in_current_cube () |
| bool | orient_edge_set_in_current_cube (const unsigned int edge_set) |
| bool | orient_next_unoriented_edge () |
| bool | cell_is_consistent (const unsigned int cell_num) const |
| void | get_adjacent_cubes () |
| bool | get_next_active_cube () |
Private Attributes | |
| Mesh | mesh |
| unsigned int | cur_posn |
| unsigned int | marker_cube |
| unsigned int | cur_edge_group |
| std::vector< int > | sheet_to_process |
| bool | edge_orient_array [12] |
The class that orients the edges of a triangulation in 3d. The member variables basically only store the present state of the algorithm.
Definition at line 682 of file grid_reordering_internal.h.
| internal::GridReordering3d::Orienter::Orienter | ( | const std::vector< CellData< 3 > > & | incubes ) | [private] |
Constructor. Take a list of cells and set up the internal data structures of the mesh member variable.
Since it is private, the only entry point of this class is the static function orient_mesh().
| static bool internal::GridReordering3d::Orienter::orient_mesh | ( | std::vector< CellData< 3 > > & | incubes ) | [static] |
Orient the given mesh. Creates an object of the present type and lets that toil away at the task.
This function is the single entry point to the functionality of this class.
Returns, whether a consistent orientation of lines was possible for the given mesh.
| bool internal::GridReordering3d::Orienter::orient_edges | ( | ) | [private] |
Orient all the edges of a mesh.
Returns, whether this action was carried out successfully.
| void internal::GridReordering3d::Orienter::orient_cubes | ( | ) | [private] |
Given oriented edges, rotate the cubes so that the edges are in standard direction.
| bool internal::GridReordering3d::Orienter::get_next_unoriented_cube | ( | ) | [private] |
| bool internal::GridReordering3d::Orienter::is_oriented | ( | const unsigned int | cell_num ) | const [private] |
Return whether the cell with cell number cell_num is fully oriented.
| bool internal::GridReordering3d::Orienter::orient_edges_in_current_cube | ( | ) | [private] |
| bool internal::GridReordering3d::Orienter::orient_edge_set_in_current_cube | ( | const unsigned int | edge_set ) | [private] |
| bool internal::GridReordering3d::Orienter::orient_next_unoriented_edge | ( | ) | [private] |
| bool internal::GridReordering3d::Orienter::cell_is_consistent | ( | const unsigned int | cell_num ) | const [private] |
Return whether the cell is consistenty oriented at present (i.e. only considering those edges that are already oriented. This is a sanity check that should be called from inside an assert macro.
| void internal::GridReordering3d::Orienter::get_adjacent_cubes | ( | ) | [private] |
| bool internal::GridReordering3d::Orienter::get_next_active_cube | ( | ) | [private] |
Internal representation of the given list of cells, including connectivity information and the like.
Definition at line 712 of file grid_reordering_internal.h.
unsigned int internal::GridReordering3d::Orienter::cur_posn [private] |
The cube we're looking at presently.
Definition at line 718 of file grid_reordering_internal.h.
unsigned int internal::GridReordering3d::Orienter::marker_cube [private] |
We have fully oriented all cubes before this one.
Definition at line 724 of file grid_reordering_internal.h.
unsigned int internal::GridReordering3d::Orienter::cur_edge_group [private] |
The index of the sheet or equivalence class we are presently processing.
Definition at line 731 of file grid_reordering_internal.h.
std::vector<int> internal::GridReordering3d::Orienter::sheet_to_process [private] |
Indices of the cells to be processed withing the present sheet. If a cell is being processed presently, it is taken from this list.
Definition at line 741 of file grid_reordering_internal.h.
bool internal::GridReordering3d::Orienter::edge_orient_array[12] [private] |
Which edges of the current cell have been oriented during the current iteration. Is reset when moving on to the next cube.
Definition at line 751 of file grid_reordering_internal.h.
documentation generated on Fri Feb 3 2012 06:04:14 by
doxygen
1.7.2