MFEM  v3.2
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
mfem::NCMesh::Node Struct Reference

#include <ncmesh.hpp>

Inheritance diagram for mfem::NCMesh::Node:
[legend]
Collaboration diagram for mfem::NCMesh::Node:
[legend]

Public Member Functions

 Node (int id)
 
 Node (const Node &other)
 
 ~Node ()
 
void RefVertex ()
 
void RefEdge ()
 
void UnrefVertex (HashTable< Node > &nodes)
 
- Public Member Functions inherited from mfem::Hashed2< Node >
 Hashed2 ()
 
 Hashed2 (int id)
 

Static Public Member Functions

static void UnrefEdge (Node *node, HashTable< Node > &nodes)
 

Public Attributes

Vertexvertex
 
Edgeedge
 
- Public Attributes inherited from mfem::Hashed2< Node >
int id
 
int p1
 
int p2
 
Node * next
 

Detailed Description

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 340 of file ncmesh.hpp.

Constructor & Destructor Documentation

mfem::NCMesh::Node::Node ( int  id)
inline

Definition at line 345 of file ncmesh.hpp.

mfem::NCMesh::Node::Node ( const Node other)

Definition at line 292 of file ncmesh.cpp.

mfem::NCMesh::Node::~Node ( )

Definition at line 299 of file ncmesh.cpp.

Member Function Documentation

void mfem::NCMesh::Node::RefEdge ( )

Definition at line 271 of file ncmesh.cpp.

void mfem::NCMesh::Node::RefVertex ( )

Definition at line 265 of file ncmesh.cpp.

void mfem::NCMesh::Node::UnrefEdge ( Node node,
HashTable< Node > &  nodes 
)
static

Definition at line 284 of file ncmesh.cpp.

void mfem::NCMesh::Node::UnrefVertex ( HashTable< Node > &  nodes)

Definition at line 277 of file ncmesh.cpp.

Member Data Documentation

Edge* mfem::NCMesh::Node::edge

Definition at line 343 of file ncmesh.hpp.

Vertex* mfem::NCMesh::Node::vertex

Definition at line 342 of file ncmesh.hpp.


The documentation for this struct was generated from the following files: