17 #ifndef __deal2__grid_reordering_internal_h
18 #define __deal2__grid_reordering_internal_h
21 #include <deal.II/base/config.h>
22 #include <deal.II/grid/tria.h>
38 namespace GridReordering2d
125 MQuad (
const unsigned int v0,
126 const unsigned int v1,
127 const unsigned int v2,
128 const unsigned int v3,
129 const unsigned int s0,
130 const unsigned int s1,
131 const unsigned int s2,
132 const unsigned int s3,
164 MSide (
const unsigned int initv0,
165 const unsigned int initv1);
287 const unsigned int localsidenum);
302 const unsigned int lsn)
const;
310 const unsigned int lsn)
const;
330 unsigned int &sidenum)
const;
351 unsigned int &lsn)
const;
373 namespace GridReordering3d
478 const unsigned int n1);
498 Edge (
const unsigned int n0,
499 const unsigned int n1);
669 const unsigned int local_node_num)
const;
790 bool get_next_unoriented_cube ();
798 bool is_oriented (
const unsigned int cell_num)
const;
800 bool orient_edges_in_current_cube ();
801 bool orient_edge_set_in_current_cube (
const unsigned int edge_set);
802 bool orient_next_unoriented_edge ();
818 void get_adjacent_cubes ();
819 bool get_next_active_cube ();
825 DEAL_II_NAMESPACE_CLOSE
bool get_unoriented_quad(unsigned int &UnOrQLoc) const
EdgeOrientation orientation_flag
bool get_unoriented_side(const unsigned int quadnum, unsigned int &sidenum) const
void sanity_check() const
bool cell_is_consistent(const unsigned int cell_num) const
Mesh & operator=(const Mesh &)
bool operator<(const CheapEdge &e2) const
bool is_oriented(const unsigned int cell_num) const
std::vector< MQuad > mquads
static const int EdgeToNode[4][2]
bool edge_orient_array[12]
MQuad(const unsigned int v0, const unsigned int v1, const unsigned int v2, const unsigned int v3, const unsigned int s0, const unsigned int s1, const unsigned int s2, const unsigned int s3, const CellData< 2 > &cd)
bool operator==(const EdgeOrientation &edge_orientation) const
void reorient(std::vector< CellData< 2 > > &quads)
static const int DefaultOrientation[4][2]
bool side_hop(unsigned int &qnum, unsigned int &lsn) const
unsigned int nodes[GeometryInfo< 3 >::vertices_per_cell]
bool is_side_default_oriented(const unsigned int qnum, const unsigned int lsn) const
void build_graph(const std::vector< CellData< 2 > > &inquads)
Orienter(const std::vector< CellData< 3 > > &incubes)
std::vector< Edge > edge_list
std::vector< unsigned int > neighboring_cubes
MSide(const unsigned int initv0, const unsigned int initv1)
std::vector< MSide > sides
bool operator!=(const MSide &s2) const
EdgeOrientation local_orientation_flags[GeometryInfo< 3 >::lines_per_cell]
CellData< 2 > original_cell_data
CheapEdge(const unsigned int n0, const unsigned int n1)
std::vector< Cell > cell_list
static bool orient_mesh(std::vector< CellData< 3 > > &incubes)
unsigned int edges[GeometryInfo< 3 >::lines_per_cell]
bool operator!=(const EdgeOrientation &edge_orientation) const
Mesh(const std::vector< CellData< 3 > > &incubes)
static const int NodeToEdge[4][2]
void build_connectivity()
std::vector< int > sheet_to_process
bool operator==(const MSide &s2) const
bool is_consistent(const std::vector< CellData< 2 > > &cells)
bool is_fully_oriented_quad(const unsigned int quadnum) const
void sanity_check_node(const Cell &cell, const unsigned int local_node_num) const
void export_to_deal_format(std::vector< CellData< 3 > > &outcubes) const
unsigned int cur_edge_group
Edge(const unsigned int n0, const unsigned int n1)
bool waiting_to_be_processed
void orient_side(const unsigned int quadnum, const unsigned int localsidenum)
bool is_oriented_side(const unsigned int quadnum, const unsigned int lsn) const
void get_quads(std::vector< CellData< 2 > > &outquads) const