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.

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:


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.