Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
concepts::VertexData Class Reference

Stores additional information on a vertex, namely its cells and edges. More...

#include <continuityData.hh>

Inheritance diagram for concepts::VertexData:
Inheritance graph
[legend]
Collaboration diagram for concepts::VertexData:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::map< uint, const
CellData * >::const_iterator 
const_iterator
 The constant STL iterator over the list of cells.
typedef std::map< uint, const
CellData * >::iterator 
iterator
 The STL iterator over the list of cells.

Public Member Functions

void addCell (const CellData &c)
 Adds c to the list of cells.
void addEdge (const EdgeData &e)
 Adds e to edges_ whithout check.
iterator begin ()
 Returns the STL beginning of the list of cells.
const_iterator begin () const
 Returns the STL beginning of the list of cells.
bool checkRelations ()
 Checks the relations in edges_.
iterator end ()
 Returns the STL end of the list of cells.
const_iterator end () const
 Returns the STL end of the list of cells.
bool hasCell (const Connector &c) const
 Returns true if c is in the list of cells.
Key key () const
 Returns the key of the vertex.
void replaceCell (const CellData &remove, const CellData &add)
 Removes remove from the list of cells and tries to add add to this list using addCell.
const Connector0vertex () const
 Rerturns c vertex_.
 VertexData (const Connector0 &vertex)
 Constructor.

Static Public Member Functions

static bool doCheckRelations (std::map< uint, VertexData > &vertexList)
 Calls checkRelations for each vertex in the vertexList.

Protected Attributes

std::map< uint, const CellData * > cells_
 List of cells.

Private Member Functions

const CellDatafindCommonCell_ (const EdgeData &edge) const
 Finds a cell which is common to this vertex and the edge.
void recreateEdgeList_ ()
 Removes the edges in edges_ and rebuilds this list from the cells in cells_.

Private Attributes

std::map< uint, EdgeDataedges_
 List of edges of this vertex.
bool io_
 Is set to true if the vertex is okay.
const Connector0vertex_
 Vertex.

Friends

std::ostream & operator<< (std::ostream &os, const VertexData &e)

Detailed Description

Stores additional information on a vertex, namely its cells and edges.

Author:
Philipp Frauenfelder, 2002

Definition at line 246 of file continuityData.hh.


Member Typedef Documentation

typedef std::map<uint, const CellData*>::const_iterator concepts::ConnectorData::const_iterator [inherited]

The constant STL iterator over the list of cells.

Definition at line 41 of file continuityData.hh.

typedef std::map<uint, const CellData*>::iterator concepts::ConnectorData::iterator [inherited]

The STL iterator over the list of cells.

Definition at line 39 of file continuityData.hh.


Constructor & Destructor Documentation

concepts::VertexData::VertexData ( const Connector0 vertex) [inline]

Constructor.

Parameters:
vertexVertex to which this data belongs

Definition at line 252 of file continuityData.hh.


Member Function Documentation

void concepts::ConnectorData::addCell ( const CellData c) [inherited]

Adds c to the list of cells.

If there is a cell in the list of cells which is related to c, c is only inserted, if it is larger than the already present cell (which is removed). If c is smaller than an already present cell, the insertion is canceled.

Parameters:
cCell to be added to cells_
void concepts::VertexData::addEdge ( const EdgeData e)

Adds e to edges_ whithout check.

iterator concepts::ConnectorData::begin ( ) [inline, inherited]

Returns the STL beginning of the list of cells.

Definition at line 60 of file continuityData.hh.

const_iterator concepts::ConnectorData::begin ( ) const [inline, inherited]

Returns the STL beginning of the list of cells.

Definition at line 62 of file continuityData.hh.

bool concepts::VertexData::checkRelations ( )

Checks the relations in edges_.

This member function is used to determine the support of the basis function associated to this vertex. The support of the basis function on this vertex consists of the cells in cells_. The support is enlarged step by step until it is possible to define a continuous global basis function on this support. The edges in edges_ are those edges of the cells in cells_ which have this vertex as one of their vertices.

To determine if the basis function has a continous support, the relationship of the edges in edges_ are checked. If two edges are related, it is not possible to define a continuous basis function.

Related edges are treated as follows: the cell in cells_ which is common to this vertex and the smaller edge is removed from cells_ and replaced by the ancestor of the removed cell such that the larger edge and the edge of the new cell are identical.

Invariant:
The edges in edges_ belong to the cells in cells_. To assert this invariant, recreateEdgeList_ is called if something has changed.
static bool concepts::VertexData::doCheckRelations ( std::map< uint, VertexData > &  vertexList) [static]

Calls checkRelations for each vertex in the vertexList.

If the relations cannot be cleared, the vertex is removed from the list.

iterator concepts::ConnectorData::end ( ) [inline, inherited]

Returns the STL end of the list of cells.

Definition at line 64 of file continuityData.hh.

const_iterator concepts::ConnectorData::end ( ) const [inline, inherited]

Returns the STL end of the list of cells.

Definition at line 66 of file continuityData.hh.

const CellData* concepts::VertexData::findCommonCell_ ( const EdgeData edge) const [private]

Finds a cell which is common to this vertex and the edge.

bool concepts::ConnectorData::hasCell ( const Connector c) const [inherited]

Returns true if c is in the list of cells.

Key concepts::VertexData::key ( ) const [inline]

Returns the key of the vertex.

Definition at line 289 of file continuityData.hh.

Here is the call graph for this function:

void concepts::VertexData::recreateEdgeList_ ( ) [private]

Removes the edges in edges_ and rebuilds this list from the cells in cells_.

void concepts::ConnectorData::replaceCell ( const CellData remove,
const CellData add 
) [inherited]

Removes remove from the list of cells and tries to add add to this list using addCell.

Parameters:
removeCell which has to be removed from cells_
addCell which should be added to cells_
const Connector0& concepts::VertexData::vertex ( ) const [inline]

Rerturns c vertex_.

Definition at line 254 of file continuityData.hh.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const VertexData e 
) [friend]

Member Data Documentation

std::map<uint, const CellData*> concepts::ConnectorData::cells_ [protected, inherited]

List of cells.

Definition at line 69 of file continuityData.hh.

std::map<uint, EdgeData> concepts::VertexData::edges_ [private]

List of edges of this vertex.

Definition at line 298 of file continuityData.hh.

bool concepts::VertexData::io_ [private]

Is set to true if the vertex is okay.

Ie. checkRelations did not have to change anything. The constructor sets it to false.

Definition at line 296 of file continuityData.hh.

Vertex.

Definition at line 292 of file continuityData.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)