A 3D element of the topology. More...

#include <connector.hh>

Inheritance diagram for concepts::Connector3:
concepts::Connector concepts::OutputOperator concepts::Hexahedron concepts::Sphere concepts::Tetrahedron test::ResetConnector3

Public Member Functions

const Attributeattrib () const
 Returns the attribute of the connector. More...
 
virtual const Connector3child (uint i) const =0
 
virtual Connector3child (uint i, bool mode=0)=0
 Returns the ith child of the connector. More...
 
 Connector3 (Attribute attrib)
 Constructor. More...
 
virtual Connector1edge (uint i) const =0
 Returns a 1D component: edge. More...
 
virtual Connector2face (uint i) const =0
 Returns a 2D component: face. More...
 
const Keykey () const
 Returns the key of the connector. More...
 
int operator== (const Connector &cntr) const
 Comparison operator. More...
 
int related (const Connector &conn) const
 Checks if this connector is related to conn. More...
 
void setAttrib (uint attrb)
 
virtual Connector0vertex (uint i) const =0
 Returns a 0D component: vertex A 3D element consists of 2D, 1D and 0D elements, the vertices can be queried here. More...
 

Protected Member Functions

 Connector3 (const Attribute attrib, const Key &key)
 Constructor. More...
 
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Protected Attributes

Attribute attrib_
 Attribute. More...
 
Key key_
 Unique key of the connector. More...
 

Static Protected Attributes

static uint cnt_
 Counter for the connectors. More...
 

Detailed Description

A 3D element of the topology.

Base class for tetrahedrons etc. 3D elements of the topology are defined by 2D elements, ie. a tetrahedron is defined by four triangles.

On this level a unique counter for all 3D connectors is implemented. In addition to the interface prescribed by connector methods to query the 0D, 1D and 2D components of this connector are declared.

Definition at line 277 of file connector.hh.

Constructor & Destructor Documentation

◆ Connector3() [1/2]

concepts::Connector3::Connector3 ( Attribute  attrib)
inline

Constructor.

Parameters
attribThe attribute

Definition at line 283 of file connector.hh.

◆ Connector3() [2/2]

concepts::Connector3::Connector3 ( const Attribute  attrib,
const Key key 
)
inlineprotected

Constructor.

Used by the clone function of inherited classes.

Parameters
attribThe attribute
keyThe key

Definition at line 316 of file connector.hh.

Member Function Documentation

◆ attrib()

const Attribute& concepts::Connector::attrib ( ) const
inlineinherited

Returns the attribute of the connector.

Definition at line 108 of file connector.hh.

◆ child() [1/2]

virtual const Connector3* concepts::Connector3::child ( uint  i) const
pure virtual

◆ child() [2/2]

virtual Connector3* concepts::Connector3::child ( uint  i,
bool  mode = 0 
)
pure virtual

Returns the ith child of the connector.

Parameters
iIndex of the child
modeIf mode = false(0) the child is created if it does not yet exist, if mode = true(1) no new children are created (ie. 0 is returned if no children exist).
Invariant
Either all children or no children exist.

Implements concepts::Connector.

Implemented in concepts::Hexahedron, concepts::Tetrahedron, and concepts::Sphere.

◆ edge()

virtual Connector1* concepts::Connector3::edge ( uint  i) const
pure virtual

Returns a 1D component: edge.

A 3D element consists of 2D, 1D and 0D elements, the edges can be queried here.

Parameters
iIndex of the edge

Implemented in concepts::Sphere, concepts::Hexahedron, and concepts::Tetrahedron.

◆ face()

virtual Connector2* concepts::Connector3::face ( uint  i) const
pure virtual

Returns a 2D component: face.

A 3D element consists of 2D, 1D and 0D elements, the faces can be queried here.

Parameters
iIndex of the face

Implemented in concepts::Sphere, concepts::Hexahedron, and concepts::Tetrahedron.

◆ info()

virtual std::ostream& concepts::Connector::info ( std::ostream &  os) const
protectedvirtualinherited

◆ key()

const Key& concepts::Connector::key ( ) const
inlineinherited

Returns the key of the connector.

Definition at line 105 of file connector.hh.

◆ operator==()

int concepts::Connector::operator== ( const Connector cntr) const
inlineinherited

Comparison operator.

Definition at line 102 of file connector.hh.

◆ related()

int concepts::Connector::related ( const Connector conn) const
inherited

Checks if this connector is related to conn.

It is being checked if one of the two is an ancestor of the other.

Parameters
connOther connector
Returns
An integer i.
i=0 if there is no relationship or the connectors are identical
i>0 if conn is an ancestor of this connector
i<0 if conn is a descendant of this connector
|i| gives the number of generations between the connectors

◆ setAttrib()

void concepts::Connector::setAttrib ( uint  attrb)
inlineinherited

Definition at line 111 of file connector.hh.

◆ vertex()

virtual Connector0* concepts::Connector3::vertex ( uint  i) const
pure virtual

Returns a 0D component: vertex A 3D element consists of 2D, 1D and 0D elements, the vertices can be queried here.

Parameters
iIndex of the vertex

Implemented in concepts::Sphere, concepts::Hexahedron, and concepts::Tetrahedron.

Member Data Documentation

◆ attrib_

Attribute concepts::Connector::attrib_
protectedinherited

Attribute.

Definition at line 132 of file connector.hh.

◆ cnt_

uint concepts::Connector3::cnt_
staticprotected

Counter for the connectors.

This counter is used to create the unique key of the connector.

Definition at line 322 of file connector.hh.

◆ key_

Key concepts::Connector::key_
protectedinherited

Unique key of the connector.

Definition at line 129 of file connector.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