Template Class MeshTopology

Class Documentation

template<int spacedim>
class MeshTopology

MeshTopology stores the topology of a mesh, consisting of mesh entities and connectivity (incidence relations for the mesh entities). Note that the mesh entities don’t need to be stored, only the number of entities and the connectivity.

A mesh entity e may be identified globally as a pair e = (dim, i), where dim is the topological dimension and i is the index of the entity within that topological dimension.

As a minimum we assume that we know the nodes of the elements in the mesh

Public Types

typedef std::vector<MeshConnectivity>::iterator element_connectivity_iterator
typedef element_traits<Element<spacedim>>::edge_ptr_t edge_ptr_t
typedef element_traits<Element<spacedim>>::face_ptr_t face_ptr_t
typedef element_traits<Element<spacedim>>::cedge_ptr_t cedge_ptr_t
typedef element_traits<Element<spacedim>>::cface_ptr_t cface_ptr_t
typedef std::vector<Node<spacedim>*>::iterator node_iterator
typedef std::vector<Node<spacedim>*>::const_iterator const_node_iterator
typedef std::vector<Element<spacedim>*>::iterator element_iterator
typedef std::vector<Element<spacedim>*>::const_iterator const_element_iterator
typedef std::vector<edge_ptr_t>::iterator edge_iterator
typedef std::vector<edge_ptr_t>::const_iterator const_edge_iterator
typedef std::vector<face_ptr_t>::iterator face_iterator
typedef std::vector<face_ptr_t>::const_iterator const_face_iterator

Public Functions

inline MeshTopology()

Constructor.

~MeshTopology()

Constructor.

inline void reserve_n_nodes(uint_t n)

reserve memory for n nodes

inline void reserve_n_elements(uint_t n)

reserve memory for n elements

inline void reserve_n_edges(uint_t n)

reserve memory for n edges

inline void reserve_n_faces(uint_t n)

reserve memory for n edges

Node<spacedim> *add_node(Node<spacedim> *n)

add a new node to the mesh and get back the pointer

Element<spacedim> *add_element(Element<spacedim> *e)

add a new element in the mesh and get back the pointer

edge_ptr_t add_edge(edge_ptr_t edge)

add a new edge in the mesh and get back the pointer

face_ptr_t add_face(face_ptr_t face)

add a new face in the mesh and get back the pointer

void clear_topology_nodes()

delete the nodes of the topology

void clear_topology_elements()

delete the elements of the topology

void clear_topology_edges()

delete the edges of the topology

void clear_topology_faces()

delete the faces of the topology

void clear_topology()

clear the topology

inline uint_t n_nodes() const

get the number of nodes in the mesh

inline uint_t n_elements() const

get the number of elements in the mesh

inline uint_t n_edges() const

get the number of edges in the mesh

inline uint_t n_faces() const

get the number of edges in the mesh

inline Node<spacedim> *node(uint_t i)

read/write access to the i-th node of the mesh

inline const Node<spacedim> *node(uint_t i) const

read access to the i-th node of the mesh

inline Element<spacedim> *element(uint_t i)

read/write access to the i-th element of the mesh

inline const Element<spacedim> *element(uint_t i) const

read access to the i-th element of the mesh

edge_ptr_t edge(uint_t i)

\detailed read/write access to the i-th edge of the mesh

face_ptr_t face(uint_t f)

\detailed read/write access to the i-th face of the mesh

void faces(const MeshConnectivity &faces_idx, std::vector<cface_ptr_t> &faces_ptr) const

\detailed get the faces described by the given indices

inline node_iterator nodes_begin()
inline node_iterator nodes_end()
inline const_node_iterator nodes_begin() const
inline const_node_iterator nodes_end() const
inline element_iterator elements_begin()
inline element_iterator elements_end()
inline const_element_iterator elements_begin() const
inline const_element_iterator elements_end() const
inline edge_iterator edges_begin()
inline edge_iterator edges_end()
inline const_edge_iterator edges_begin() const
inline const_edge_iterator edges_end() const
inline face_iterator faces_begin()
inline face_iterator faces_end()
inline const_face_iterator faces_begin() const
inline const_face_iterator faces_end() const
void clear_topology_edges()
void clear_topology_faces()
MeshTopology<1>::edge_ptr_t edge(uint_t i)
MeshTopology<1>::face_ptr_t face(uint_t i)
MeshTopology<1>::edge_ptr_t add_edge(MeshTopology<1>::edge_ptr_t edge)
MeshTopology<1>::face_ptr_t add_face(MeshTopology<1>::face_ptr_t face)
void faces(const MeshConnectivity &faces_idx, std::vector<MeshTopology<1>::cface_ptr_t> &faces_ptr) const
void clear_topology_edges()
void clear_topology_faces()
MeshTopology<2>::edge_ptr_t edge(uint_t i)
MeshTopology<2>::face_ptr_t face(uint_t i)
MeshTopology<2>::edge_ptr_t add_edge(MeshTopology<2>::edge_ptr_t edge)
MeshTopology<2>::face_ptr_t add_face(MeshTopology<2>::face_ptr_t face)
void faces(const MeshConnectivity &faces_idx, std::vector<MeshTopology<2>::cface_ptr_t> &faces_ptr) const
inline MeshTopology<2>::face_iterator faces_begin()
inline MeshTopology<2>::face_iterator faces_end()
inline MeshTopology<2>::const_face_iterator faces_begin() const
inline MeshTopology<2>::const_face_iterator faces_end() const
inline void reserve_n_faces(uint_t n)
inline uint_t n_faces() const