#include <topology3D.hh>
Public Member Functions | |
Tetrahedron (Triangle &tri0, Triangle &tri1, Triangle &tri2, Triangle &tri3, Attribute attrib=Attribute()) | |
virtual Tetrahedron * | child (uint i, bool mode=0) |
virtual const Tetrahedron * | child (uint i) const |
Edge * | edge (uint i) const |
Triangle * | face (uint i) const |
Vertex * | vertex (uint i) const |
int | rho (int i) const |
int | tau (int i) const |
int | operator== (const Connector &cntr) const |
Comparison operator. | |
const Key & | key () const |
Returns the key of the connector. | |
const Attribute & | attrib () const |
Returns the attribute of the connector. | |
void | setAttrib (uint attrb) |
int | related (const Connector &conn) const |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
Protected Attributes | |
Key | key_ |
Unique key of the connector. | |
Attribute | attrib_ |
Attribute. | |
Static Protected Attributes | |
static uint | cnt_ |
A tetrahedron in the topology. Implements the abstract methods from the parent classes to query the children, the vertices, the edges and faces of the tetrahedron.
Every face can have two different orientations in the tetrahedron (this is stored in the array rho – similar to the orientation of an edge in a triangle or quadrilateral, see geo_Triangle or qeo_Quadrilateral) and it can have three possible rotations (enumerating the vertices), stored in the array tau_.
Definition at line 35 of file topology3D.hh.
concepts::Tetrahedron::Tetrahedron | ( | Triangle & | tri0, |
Triangle & | tri1, | ||
Triangle & | tri2, | ||
Triangle & | tri3, | ||
Attribute | attrib = Attribute() |
||
) |
Constructor. Creates a tetrahedron out of four triangles. The faces must form a tetrahedron.
The first triangle is thought to be the floor of the tetrahedron and its normal orientation is right screwed into the tetrahedron. The normal orientation of the other three triangles (forming the walls of the tetrahedron) is right screwed out of the tetrahedron.
The walls of the tetrahedron must be given in the proper order: they must follow the normal orientation of the floor.
tri0 | Floor of the tetrahedron |
tri1..tri3 | Walls of the tetrahedron |
attrib | Attribute of the tetrahedron |
|
inlineinherited |
Returns the attribute of the connector.
Definition at line 108 of file connector.hh.
|
virtual |
Implements concepts::Connector3.
|
virtual |
Returns a child.
If children are created, eight new children are created (with the same attributes as this one). All faces of the tetrahedron are refined and one new edge is introduced. This gives one new tetrahedron per vertex and one per face.
i | Index of the child to be returned. |
mode | mode = 1: No children are created mode = 0: If no childs exist, eight new children are created. |
Implements concepts::Connector3.
Returns a 1D component: edge. A 3D element consists of 2D, 1D and 0D elements, the edges can be queried here.
i | Index of the edge |
Implements concepts::Connector3.
Returns a 2D component: face. A 3D element consists of 2D, 1D and 0D elements, the faces can be queried here.
i | Index of the face |
Implements concepts::Connector3.
Definition at line 73 of file topology3D.hh.
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::Connector.
|
inlineinherited |
Returns the key of the connector.
Definition at line 105 of file connector.hh.
Comparison operator.
Definition at line 102 of file connector.hh.
Checks if this connector is related to conn
. It is being checked if one of the two is an ancestor of the other.
conn | Other connector |
conn
is an ancestor of this connectorconn
is a descendant of this connectorReturns the orientation of a face. See the description of rho_.
i | Index of the face |
Definition at line 79 of file topology3D.hh.
Definition at line 111 of file connector.hh.
Returns the rotation of a face. See the description of tau_.
i | Index of the face |
Definition at line 85 of file topology3D.hh.
Returns a 0D component: vertex A 3D element consists of 2D, 1D and 0D elements, the vertices can be queried here.
i | Index of the vertex |
Implements concepts::Connector3.
|
protectedinherited |
Definition at line 132 of file connector.hh.
|
staticprotectedinherited |
Counter for the connectors. This counter is used to create the unique key of the connector.
Definition at line 322 of file connector.hh.
|
protectedinherited |
Unique key of the connector.
Definition at line 129 of file connector.hh.