Defines an tetrahedron cell of a volume mesh.
More...
#include <MeshViz/3Ddata/PbTetrahedronCell.h>
Public Member Functions | |
| PbTetrahedronCell (const PbMesh *owner_mesh) | |
| PbTetrahedronCell (const PbTetrahedronCell &cell) | |
| ~PbTetrahedronCell () | |
| PbTetrahedronCell & | operator= (const PbTetrahedronCell &cell) |
| virtual float | getLongestEdgeLength () const |
| virtual float | getVolume () const |
| virtual float | getArea () const |
| virtual void | getNodesIndexOfEdge (int edge, PbArrayOfInt &nodes_index) const |
| virtual void | getNodesIndexOfFacet (int facet, PbArrayOfInt &nodes_index) const |
| virtual void | getNodesLocalIndexOfEdge (int edge, PbArrayOfInt &nodes_index) const |
| virtual void | getNodesLocalIndexOfFacet (int facet, PbArrayOfInt &nodes_index) const |
| virtual int | locatePoint (const SbVec3f &coord, float tolerance, SbVec3f &pcoord) const |
| virtual void | getWeight (const SbVec3f &pcoord, float *weight) const |
Defines an tetrahedron cell of a volume mesh.
A tetrahedron cell has 4 facets, 6 edges and 4 nodes. Each facet is a triangle. The 3 first indices defines a facet oriented towards the interior of the cell.
Facets, nodes and edges are numbered as following :
2
x
/|\
/ | \
/ | \ facet 0 = 012 edge 0 = 01
/ | \ facet 1 = 023 edge 1 = 12
/ | \ facet 2 = 031 edge 2 = 20
/ | \ facet 3 = 132 edge 3 = 03
0 x------|------x 1 edge 4 = 13
\ | / edge 5 = 23
\ | /
\ | /
\ | /
\ | /
\|/
x
3
| PbTetrahedronCell::PbTetrahedronCell | ( | const PbMesh * | owner_mesh | ) |
Constructor of a default simple cell.
| PbTetrahedronCell::PbTetrahedronCell | ( | const PbTetrahedronCell & | cell | ) |
Copy constructor.
| PbTetrahedronCell::~PbTetrahedronCell | ( | ) |
Destructor.
| virtual float PbTetrahedronCell::getArea | ( | ) | const [inline, virtual] |
Returns always 0.
Implements PbCell.
| virtual float PbTetrahedronCell::getLongestEdgeLength | ( | ) | const [virtual] |
Gets the length of the longest edge of the cell.
Implements PbCell.
| virtual void PbTetrahedronCell::getNodesIndexOfEdge | ( | int | edge, | |
| PbArrayOfInt & | nodes_index | |||
| ) | const [virtual] |
Gets the array of 2 index mesh's nodes that belongs to a given edge of this cell.
(edge must be >=0 and < 6)
Implements PbCell.
| virtual void PbTetrahedronCell::getNodesIndexOfFacet | ( | int | facet, | |
| PbArrayOfInt & | nodes_index | |||
| ) | const [virtual] |
Gets the array of index mesh's nodes that belongs to a given facet of this cell.
(facet must be >=0 and < 4)
Implements PbCell.
| virtual void PbTetrahedronCell::getNodesLocalIndexOfEdge | ( | int | edge, | |
| PbArrayOfInt & | nodes_index | |||
| ) | const [virtual] |
Gets the array of 2 nodes index that belongs to a given edge of this cell.
edge must be >=0 and < 6. Each index in nodes_index is >=0 and < 4.
Implements PbCell.
| virtual void PbTetrahedronCell::getNodesLocalIndexOfFacet | ( | int | facet, | |
| PbArrayOfInt & | nodes_index | |||
| ) | const [virtual] |
Gets the array of node index that belongs to a given facet of this cell.
facet must be >=0 and < 4. Each index is >=0 and < 4.
Implements PbCell.
| virtual float PbTetrahedronCell::getVolume | ( | ) | const [virtual] |
Gets the volume of the cell.
Implements PbCell.
| virtual void PbTetrahedronCell::getWeight | ( | const SbVec3f & | pcoord, | |
| float * | weight | |||
| ) | const [virtual] |
Gets the 4 weights of a point defined by its parametric coordinates.
Implements PbCell.
| virtual int PbTetrahedronCell::locatePoint | ( | const SbVec3f & | coord, | |
| float | tolerance, | |||
| SbVec3f & | pcoord | |||
| ) | const [virtual] |
Returns 1 if the point is inside the cell, 0 otherwise.
Gets also the parametric coordinate of the point .
Implements PbCell.
| PbTetrahedronCell& PbTetrahedronCell::operator= | ( | const PbTetrahedronCell & | cell | ) |
Assignment operator.
Reimplemented from PbCell.