MFEM
v3.1
Finite element discretization library
|
#include <ncmesh.hpp>
Public Member Functions | |
Node (int id) | |
Node (const Node &other) | |
~Node () | |
void | RefVertex () |
void | RefEdge () |
void | UnrefVertex (HashTable< Node > &nodes) |
void | UnrefEdge (HashTable< Node > &nodes) |
Public Member Functions inherited from mfem::Hashed2< Node > | |
Hashed2 () | |
Hashed2 (int id) | |
Public Attributes | |
Vertex * | vertex |
Edge * | edge |
Public Attributes inherited from mfem::Hashed2< Node > | |
int | id |
int | p1 |
int | p2 |
Node * | next |
A Node can hold a Vertex, an Edge, or both. Elements directly point to their corner nodes, but edge nodes also exist and can be accessed using a hash-table given their two end-point node IDs. All nodes can be accessed in this way, with the exception of top-level vertex nodes. When an element is being refined, the mid-edge nodes are readily available with this mechanism. The new elements "sign in" into the nodes to have vertices and edges created for them or to just have their reference counts increased. The parent element "signs off" its nodes, which decrements the vertex and edge reference counts. Vertices and edges are destroyed when their reference count drops to zero.
Definition at line 295 of file ncmesh.hpp.
|
inline |
Definition at line 300 of file ncmesh.hpp.
mfem::NCMesh::Node::Node | ( | const Node & | other | ) |
Definition at line 279 of file ncmesh.cpp.
mfem::NCMesh::Node::~Node | ( | ) |
Definition at line 286 of file ncmesh.cpp.
void mfem::NCMesh::Node::RefEdge | ( | ) |
Definition at line 258 of file ncmesh.cpp.
void mfem::NCMesh::Node::RefVertex | ( | ) |
Definition at line 252 of file ncmesh.cpp.
Definition at line 271 of file ncmesh.cpp.
Definition at line 264 of file ncmesh.cpp.
Edge* mfem::NCMesh::Node::edge |
Definition at line 298 of file ncmesh.hpp.
Vertex* mfem::NCMesh::Node::vertex |
Definition at line 297 of file ncmesh.hpp.