33 #ifndef __H__UG__multi_grid_child_info__
34 #define __H__UG__multi_grid_child_info__
Base-class for edges.
Definition: grid_base_objects.h:397
Faces are 2-dimensional objects.
Definition: grid_base_objects.h:510
The base class for all geometric objects, such as vertices, edges, faces, volumes,...
Definition: grid_base_objects.h:157
Definition: multi_grid.h:72
Base-class for all vertex-types.
Definition: grid_base_objects.h:231
Volumes are 3-dimensional objects.
Definition: grid_base_objects.h:754
MGEdgeInfo info_type
Definition: multi_grid_child_info.h:218
MGFaceInfo info_type
Definition: multi_grid_child_info.h:225
MGVertexInfo info_type
Definition: multi_grid_child_info.h:211
MGVolumeInfo info_type
Definition: multi_grid_child_info.h:232
access to connected types. used internally
Definition: multi_grid_child_info.h:205
void ArraySwapWithLast(TType *array, const TType &entry, size_t size)
Swaps the first entry with the given value with the last entry in the list.
Definition: array_util.h:81
bool ArrayReplaceEntry(TType *array, const TType &newEntry, const TType &oldEntry, size_t size)
replaces the first occurance of oldEntry with newEntry
Definition: array_util.h:106
int ArrayEraseEntry(TType *array, const TType &entry, size_t size)
removes the first occurance of the specified entry.
Definition: array_util.h:52
#define UG_THROW(msg)
Definition: error.h:57
const int MG_FACE_MAX_EDGE_CHILDREN
maximal number of edges that can be children of a face.
Definition: multi_grid_child_info.h:51
const int MG_FACE_MAX_FACE_CHILDREN
maximal number of faces that can be children of a face.
Definition: multi_grid_child_info.h:52
const int MG_EDGE_MAX_EDGE_CHILDREN
maximal number of edges that can be children of an edge.
Definition: multi_grid_child_info.h:50
Holds information about edge relations. Used internally.
Definition: multi_grid_child_info.h:95
void add_child(Volume *)
Definition: multi_grid_child_info.h:102
size_t num_child_edges() const
Definition: multi_grid_child_info.h:111
void add_child(Vertex *elem)
Definition: multi_grid_child_info.h:99
void remove_child(Volume *)
Definition: multi_grid_child_info.h:106
Vertex * child_vertex() const
Definition: multi_grid_child_info.h:113
byte m_numEdgeChildren
Definition: multi_grid_child_info.h:120
GridObject * m_pParent
Definition: multi_grid_child_info.h:116
void remove_child(Vertex *elem)
Definition: multi_grid_child_info.h:103
void remove_child(Edge *elem)
Definition: multi_grid_child_info.h:104
Edge * child_edge(size_t i) const
Definition: multi_grid_child_info.h:114
void unregister_from_children(MultiGrid &mg)
Definition: multi_grid.cpp:601
Edge * m_pEdgeChild[MG_EDGE_MAX_EDGE_CHILDREN]
Definition: multi_grid_child_info.h:119
void clear_children()
Definition: multi_grid_child_info.h:97
MGEdgeInfo()
Definition: multi_grid_child_info.h:96
void add_child(Edge *elem)
Definition: multi_grid_child_info.h:100
bool has_children() const
Definition: multi_grid_child_info.h:98
void remove_child(Face *)
Definition: multi_grid_child_info.h:105
void add_child(Face *)
Definition: multi_grid_child_info.h:101
void replace_child(Edge *elem, Edge *child)
Definition: multi_grid_child_info.h:108
void replace_child(Vertex *elem, Vertex *child)
Definition: multi_grid_child_info.h:107
size_t num_child_vertices() const
Definition: multi_grid_child_info.h:110
Vertex * m_pVrtChild
Definition: multi_grid_child_info.h:118
Holds information about face relations. Used internally.
Definition: multi_grid_child_info.h:126
void remove_child(Edge *elem)
Definition: multi_grid_child_info.h:135
byte m_numFaceChildren
Definition: multi_grid_child_info.h:156
void replace_child(Face *elem, Face *child)
Definition: multi_grid_child_info.h:140
void add_child(Face *elem)
Definition: multi_grid_child_info.h:132
void add_child(Vertex *elem)
Definition: multi_grid_child_info.h:130
void remove_child(Vertex *elem)
Definition: multi_grid_child_info.h:134
void unregister_from_children(MultiGrid &mg)
Definition: multi_grid.cpp:610
void replace_child(Vertex *elem, Vertex *child)
Definition: multi_grid_child_info.h:138
void clear_children()
Definition: multi_grid_child_info.h:128
Edge * child_edge(size_t i) const
Definition: multi_grid_child_info.h:148
size_t num_child_vertices() const
Definition: multi_grid_child_info.h:143
void remove_child(Volume *)
Definition: multi_grid_child_info.h:137
Vertex * child_vertex() const
Definition: multi_grid_child_info.h:147
void remove_child(Face *elem)
Definition: multi_grid_child_info.h:136
MGFaceInfo()
Definition: multi_grid_child_info.h:127
bool has_children() const
Definition: multi_grid_child_info.h:129
byte m_numEdgeChildren
Definition: multi_grid_child_info.h:155
void add_child(Edge *elem)
Definition: multi_grid_child_info.h:131
Face * child_face(size_t i) const
Definition: multi_grid_child_info.h:149
Edge * m_pEdgeChild[MG_FACE_MAX_EDGE_CHILDREN]
Definition: multi_grid_child_info.h:153
void add_child(Volume *)
Definition: multi_grid_child_info.h:133
Vertex * m_pVrtChild
Definition: multi_grid_child_info.h:152
size_t num_child_faces() const
Definition: multi_grid_child_info.h:145
size_t num_child_edges() const
Definition: multi_grid_child_info.h:144
void replace_child(Edge *elem, Edge *child)
Definition: multi_grid_child_info.h:139
Face * m_pFaceChild[MG_FACE_MAX_FACE_CHILDREN]
Definition: multi_grid_child_info.h:154
Holds information about vertex relations. Used internally.
Definition: multi_grid_child_info.h:63
void unregister_from_children(MultiGrid &mg)
Definition: multi_grid.cpp:594
void replace_child(Vertex *elem, Vertex *child)
Definition: multi_grid_child_info.h:75
void add_child(Volume *)
Definition: multi_grid_child_info.h:70
void clear_children()
Definition: multi_grid_child_info.h:65
Vertex * child_vertex() const
Definition: multi_grid_child_info.h:79
void remove_child(Volume *)
Definition: multi_grid_child_info.h:74
Vertex * m_pVrtChild
Definition: multi_grid_child_info.h:83
MGVertexInfo()
Definition: multi_grid_child_info.h:64
size_t num_child_vertices() const
Definition: multi_grid_child_info.h:77
void remove_child(Face *)
Definition: multi_grid_child_info.h:73
void add_child(Face *)
Definition: multi_grid_child_info.h:69
void add_child(Vertex *elem)
Definition: multi_grid_child_info.h:67
bool has_children() const
Definition: multi_grid_child_info.h:66
void remove_child(Edge *)
Definition: multi_grid_child_info.h:72
GridObject * m_pParent
Definition: multi_grid_child_info.h:81
void remove_child(Vertex *elem)
Definition: multi_grid_child_info.h:71
void add_child(Edge *)
Definition: multi_grid_child_info.h:68
Holds information about volume relations. Used internally.
Definition: multi_grid_child_info.h:162
Face * child_face(size_t i) const
Definition: multi_grid_child_info.h:190
std::vector< Face * > m_faceChildren
Definition: multi_grid_child_info.h:196
void replace_child(Face *elem, Face *child)
Definition: multi_grid_child_info.h:179
size_t num_child_vertices() const
Definition: multi_grid_child_info.h:183
bool has_children() const
Definition: multi_grid_child_info.h:165
void add_child(Edge *elem)
Definition: multi_grid_child_info.h:167
size_t num_child_volumes() const
Definition: multi_grid_child_info.h:186
void remove_child(Volume *elem)
Definition: multi_grid_child_info.h:175
Vertex * child_vertex() const
Definition: multi_grid_child_info.h:188
void unregister_from_children(MultiGrid &mg)
Definition: multi_grid.cpp:621
void remove_child(Edge *elem)
Definition: multi_grid_child_info.h:171
void replace_child(Volume *elem, Volume *child)
Definition: multi_grid_child_info.h:180
void remove_child(Vertex *elem)
Definition: multi_grid_child_info.h:170
void add_child(Volume *elem)
Definition: multi_grid_child_info.h:169
size_t num_child_faces() const
Definition: multi_grid_child_info.h:185
void replace_child(Vertex *elem, Vertex *child)
Definition: multi_grid_child_info.h:177
void add_child(Face *elem)
Definition: multi_grid_child_info.h:168
size_t num_child_edges() const
Definition: multi_grid_child_info.h:184
void remove_child(Face *elem)
Definition: multi_grid_child_info.h:173
Edge * child_edge(size_t i) const
Definition: multi_grid_child_info.h:189
std::vector< Volume * > m_volumeChildren
Definition: multi_grid_child_info.h:197
Volume * child_volume(size_t i) const
Definition: multi_grid_child_info.h:191
std::vector< Edge * > m_edgeChildren
Definition: multi_grid_child_info.h:195
Vertex * m_pVrtChild
Definition: multi_grid_child_info.h:194
void add_child(Vertex *elem)
Definition: multi_grid_child_info.h:166
void replace_child(Edge *elem, Edge *child)
Definition: multi_grid_child_info.h:178
MGVolumeInfo()
Definition: multi_grid_child_info.h:163
void clear_children()
Definition: multi_grid_child_info.h:164