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

#include <continuityData.hh>

Inheritance diagram for concepts::VertexData:
concepts::ConnectorData

Public Types

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

Public Member Functions

void addCell (const CellData &c)
 Adds c to the list of cells. More...
 
void addEdge (const EdgeData &e)
 Adds e to edges_ whithout check. More...
 
iterator begin ()
 Returns the STL beginning of the list of cells. More...
 
const_iterator begin () const
 Returns the STL beginning of the list of cells. More...
 
bool checkRelations ()
 Checks the relations in edges_. More...
 
iterator end ()
 Returns the STL end of the list of cells. More...
 
const_iterator end () const
 Returns the STL end of the list of cells. More...
 
bool hasCell (const Connector &c) const
 Returns true if c is in the list of cells. More...
 
Key key () const
 Returns the key of the vertex. More...
 
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. More...
 
const Connector0vertex () const
 Rerturns c vertex_. More...
 
 VertexData (const Connector0 &vertex)
 Constructor. More...
 

Static Public Member Functions

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

Protected Attributes

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

Private Member Functions

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

Private Attributes

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

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 249 of file continuityData.hh.

Member Typedef Documentation

◆ const_iterator

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 44 of file continuityData.hh.

◆ iterator

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

The STL iterator over the list of cells.

Definition at line 42 of file continuityData.hh.

Constructor & Destructor Documentation

◆ VertexData()

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

Constructor.

Parameters
vertexVertex to which this data belongs

Definition at line 255 of file continuityData.hh.

Member Function Documentation

◆ addCell()

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_

◆ addEdge()

void concepts::VertexData::addEdge ( const EdgeData e)

Adds e to edges_ whithout check.

◆ begin() [1/2]

iterator concepts::ConnectorData::begin ( )
inlineinherited

Returns the STL beginning of the list of cells.

Definition at line 63 of file continuityData.hh.

◆ begin() [2/2]

const_iterator concepts::ConnectorData::begin ( ) const
inlineinherited

Returns the STL beginning of the list of cells.

Definition at line 65 of file continuityData.hh.

◆ checkRelations()

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 \c 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.

◆ doCheckRelations()

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.

◆ end() [1/2]

iterator concepts::ConnectorData::end ( )
inlineinherited

Returns the STL end of the list of cells.

Definition at line 67 of file continuityData.hh.

◆ end() [2/2]

const_iterator concepts::ConnectorData::end ( ) const
inlineinherited

Returns the STL end of the list of cells.

Definition at line 69 of file continuityData.hh.

◆ findCommonCell_()

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

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

◆ hasCell()

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

Returns true if c is in the list of cells.

◆ key()

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

Returns the key of the vertex.

Definition at line 292 of file continuityData.hh.

◆ recreateEdgeList_()

void concepts::VertexData::recreateEdgeList_ ( )
private

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

◆ replaceCell()

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_

◆ vertex()

const Connector0& concepts::VertexData::vertex ( ) const
inline

Rerturns c vertex_.

Definition at line 257 of file continuityData.hh.

Friends And Related Function Documentation

◆ operator<<

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

Member Data Documentation

◆ cells_

std::map<uint, const CellData*> concepts::ConnectorData::cells_
protectedinherited

List of cells.

Definition at line 72 of file continuityData.hh.

◆ edges_

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

List of edges of this vertex.

Definition at line 301 of file continuityData.hh.

◆ io_

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 299 of file continuityData.hh.

◆ vertex_

const Connector0& concepts::VertexData::vertex_
private

Vertex.

Definition at line 295 of file continuityData.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich