dolfin::MeshData Class Reference
#include <MeshData.h>
Collaboration diagram for dolfin::MeshData:
[legend]List of all members.
|
Public Member Functions |
| | MeshData (Mesh &mesh) |
| | Create an empty set of mesh data.
|
| | ~MeshData () |
| | Destructor.
|
| void | clear () |
| | Clear all data.
|
| Node & | createNode (Point p) |
| Node & | createNode (real x, real y, real z) |
| Cell & | createCell (int n0, int n1, int n2) |
| Cell & | createCell (int n0, int n1, int n2, int n3) |
| Cell & | createCell (Node &n0, Node &n1, Node &n2) |
| Cell & | createCell (Node &n0, Node &n1, Node &n2, Node &n3) |
| Edge & | createEdge (int n0, int n1) |
| Edge & | createEdge (Node &n0, Node &n1) |
| Face & | createFace (int e0, int e1, int e2) |
| Face & | createFace (Edge &e0, Edge &e1, Edge &e2) |
| Node & | node (int id) |
| Cell & | cell (int id) |
| Edge & | edge (int id) |
| Face & | face (int id) |
| void | remove (Node &node) |
| void | remove (Cell &cell) |
| void | remove (Edge &edge) |
| void | remove (Face &face) |
| int | noNodes () const |
| int | noCells () const |
| int | noEdges () const |
| int | noFaces () const |
Friends |
| class | Mesh |
| class | MeshInit |
| class | NodeIterator::MeshNodeIterator |
| class | CellIterator::MeshCellIterator |
| class | EdgeIterator::MeshEdgeIterator |
| class | FaceIterator::MeshFaceIterator |
Detailed Description
MeshData is a container for mesh data.
A Table (block-linked list) is used to store the mesh data:
a table of all nodes (n) a table of all cells (c) a table of all edges (e) a table of all faces (f)
Connectivity is stored locally. With four different geometric objects (n, c, e, f), 16 different combinations are possible. The combinations marked with an (x) are computed and stored:
(x) n-n (the node neighbors of a node) [5, from 4] (x) n-c (the cell neighbors of a node) [1, from 0] (x) n-e (the edge neighbors of a node) [4, from 3] n-f (the face neighbors of a node)
(x) c-n (the nodes within a cell) [0] (x) c-c (the cell neighbors of a cell) [2, from 0 and 1] (x) c-e (the edges within a cell) [3, from 0 and 2] (x) c-f (the faces within a cell) [6, from 0 and 2]
(x) e-n (the nodes within an edge) [3, from 0 and 2] (x) e-c (the cell neighbors of an edge) [7, from 3 e-e (the edge neighbors of an edge) e-f (the face neighbors of an edge)
f-n (the nodes within a face) (x) f-c (the cell neighbors of a face) [8, from 6] (x) f-e (the edges within a face) [6, from 1 and 3] f-f (the face neighbors of a face)
The numbers within brackets indicate in which order the connectivity is computed. A [0] indicates that the information is known a priori.
Clarification:
- Two nodes are neighbors if they are part of the same edge. Each node is a neighbor to itself.
- Two cells are neighbors if they share a common edge. Each cell is a neighbor to itself.
Constructor & Destructor Documentation
| MeshData::MeshData |
( |
Mesh & |
mesh |
) |
|
|
|
|
Create an empty set of mesh data.
|
Member Function Documentation
| Cell & MeshData::cell |
( |
int |
id |
) |
|
|
| Cell & MeshData::createCell |
( |
int |
n0, |
|
|
int |
n1, |
|
|
int |
n2, |
|
|
int |
n3 |
|
) |
|
|
| Cell & MeshData::createCell |
( |
int |
n0, |
|
|
int |
n1, |
|
|
int |
n2 |
|
) |
|
|
| Edge & MeshData::createEdge |
( |
int |
n0, |
|
|
int |
n1 |
|
) |
|
|
| Face & MeshData::createFace |
( |
int |
e0, |
|
|
int |
e1, |
|
|
int |
e2 |
|
) |
|
|
| Edge & MeshData::edge |
( |
int |
id |
) |
|
|
| Face & MeshData::face |
( |
int |
id |
) |
|
|
| int MeshData::noCells |
( |
|
) |
const |
|
| Node & MeshData::node |
( |
int |
id |
) |
|
|
| int MeshData::noEdges |
( |
|
) |
const |
|
| int MeshData::noFaces |
( |
|
) |
const |
|
| int MeshData::noNodes |
( |
|
) |
const |
|
| void MeshData::remove |
( |
Face & |
face |
) |
|
|
| void MeshData::remove |
( |
Edge & |
edge |
) |
|
|
| void MeshData::remove |
( |
Cell & |
cell |
) |
|
|
| void MeshData::remove |
( |
Node & |
node |
) |
|
|
Friends And Related Function Documentation
friend class Mesh [friend]
|
|
The documentation for this class was generated from the following files:

Documentation automatically generated with Doxygen on 10 Sep 2004.