Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

dolfin::MeshData Class Reference

#include <MeshData.h>

Collaboration diagram for dolfin::MeshData:

Collaboration graph
[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.

NodecreateNode (Point p)
NodecreateNode (real x, real y, real z)
CellcreateCell (int n0, int n1, int n2)
CellcreateCell (int n0, int n1, int n2, int n3)
CellcreateCell (Node &n0, Node &n1, Node &n2)
CellcreateCell (Node &n0, Node &n1, Node &n2, Node &n3)
EdgecreateEdge (int n0, int n1)
EdgecreateEdge (Node &n0, Node &n1)
FacecreateFace (int e0, int e1, int e2)
FacecreateFace (Edge &e0, Edge &e1, Edge &e2)
Nodenode (int id)
Cellcell (int id)
Edgeedge (int id)
Faceface (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:


Constructor & Destructor Documentation

MeshData::MeshData Mesh mesh  ) 
 

Create an empty set of mesh data.

MeshData::~MeshData  ) 
 

Destructor.


Member Function Documentation

Cell & MeshData::cell int  id  ) 
 

void MeshData::clear  ) 
 

Clear all data.

Cell & MeshData::createCell Node n0,
Node n1,
Node n2,
Node n3
 

Cell & MeshData::createCell Node n0,
Node n1,
Node n2
 

Cell & MeshData::createCell int  n0,
int  n1,
int  n2,
int  n3
 

Cell & MeshData::createCell int  n0,
int  n1,
int  n2
 

Edge & MeshData::createEdge Node n0,
Node n1
 

Edge & MeshData::createEdge int  n0,
int  n1
 

Face & MeshData::createFace Edge e0,
Edge e1,
Edge e2
 

Face & MeshData::createFace int  e0,
int  e1,
int  e2
 

Node & MeshData::createNode real  x,
real  y,
real  z
 

Node & MeshData::createNode Point  p  ) 
 

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 CellIterator::MeshCellIterator [friend]
 

friend class EdgeIterator::MeshEdgeIterator [friend]
 

friend class FaceIterator::MeshFaceIterator [friend]
 

friend class Mesh [friend]
 

friend class MeshInit [friend]
 

friend class NodeIterator::MeshNodeIterator [friend]
 


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


Documentation automatically generated with Doxygen on 10 Sep 2004.