MFEM  v3.1
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
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)
 
void UnrefEdge (HashTable< Node > &nodes)
 
- Public Member Functions inherited from mfem::Hashed2< Node >
 Hashed2 ()
 
 Hashed2 (int id)
 

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

Constructor & Destructor Documentation

mfem::NCMesh::Node::Node ( int  id)
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.

Member Function Documentation

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.

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

Definition at line 271 of file ncmesh.cpp.

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

Definition at line 264 of file ncmesh.cpp.

Member Data Documentation

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.


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