Defines a wedge cell of a volume mesh.
More...
#include <MeshViz/3Ddata/PbWedgeCell.h>
Public Member Functions | |
| PbWedgeCell (const PbMesh *owner_mesh) | |
| PbWedgeCell (const PbWedgeCell &cell) | |
| ~PbWedgeCell () | |
| PbWedgeCell & | operator= (const PbWedgeCell &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 |
| void | getDerivs (const SbVec3f &pcoord, float *weight) const |
Defines a wedge cell of a volume mesh.
A wedge cell has 5 facets which can be in any plane of 3D space. It has 2 triangle facets and 3 quadrangle facets. The 3 first indices define a triangle facet oriented towards the interior of the cell.
Facets, nodes, and edges are numbered as follows:
n2 facet 0 = 012 edge 0 = 01
x facet 1 = 354 edge 1 = 12
. / \ facet 2 = 0253 edge 2 = 20
. / \ facet 3 = 1452 edge 3 = 34
. / \ facet 4 = 0341 edge 4 = 45
. / \ edge 5 = 53
n5 / \ edge 6 = 03
x / \ edge 7 = 14
/ \ n0 x-------------x n1 edge 8 = 25
/ \ . .
/ \. .
/ . \ .
/ . \ .
/. \ .
n3 x-------------x n4
| PbWedgeCell::PbWedgeCell | ( | const PbMesh * | owner_mesh | ) |
Constructor of a default simple cell.
| PbWedgeCell::PbWedgeCell | ( | const PbWedgeCell & | cell | ) |
Copy constructor.
| PbWedgeCell::~PbWedgeCell | ( | ) |
Destructor.
| virtual float PbWedgeCell::getArea | ( | ) | const [inline, virtual] |
Always returns 0.
Implements PbCell.
| void PbWedgeCell::getDerivs | ( | const SbVec3f & | pcoord, | |
| float * | weight | |||
| ) | const |
Returns the derivs of a point defined by its parametric coordinates.
| virtual float PbWedgeCell::getLongestEdgeLength | ( | ) | const [virtual] |
Returns the length of the longest edge of the cell.
Implements PbCell.
| virtual void PbWedgeCell::getNodesIndexOfEdge | ( | int | edge, | |
| PbArrayOfInt & | nodes_index | |||
| ) | const [virtual] |
Returns the array of the 2 index mesh's nodes that belong to a given edge of this cell.
Edge must be >=0 and < 9.
Implements PbCell.
| virtual void PbWedgeCell::getNodesIndexOfFacet | ( | int | facet, | |
| PbArrayOfInt & | nodes_index | |||
| ) | const [virtual] |
Returns the array of index mesh's nodes that belong to a given facet of this cell.
Facet must be >=0 and < 5.
Implements PbCell.
| virtual void PbWedgeCell::getNodesLocalIndexOfEdge | ( | int | edge, | |
| PbArrayOfInt & | nodes_index | |||
| ) | const [virtual] |
Returns the array of the 2 node indices that belong to a given edge of this cell.
Edge must be >=0 and < 9. Each index is >=0 and < 6.
Implements PbCell.
| virtual void PbWedgeCell::getNodesLocalIndexOfFacet | ( | int | facet, | |
| PbArrayOfInt & | nodes_index | |||
| ) | const [virtual] |
Returns the array of node indices that belong to a given facet of this cell.
Facet must be >=0 and < 5. Each index is >=0 and < 6.
Implements PbCell.
| virtual float PbWedgeCell::getVolume | ( | ) | const [virtual] |
Returns the volume of the cell.
Implements PbCell.
| virtual void PbWedgeCell::getWeight | ( | const SbVec3f & | pcoord, | |
| float * | weight | |||
| ) | const [virtual] |
Returns the 6 weights of a point defined by its parametric coordinates.
Implements PbCell.
| virtual int PbWedgeCell::locatePoint | ( | const SbVec3f & | coord, | |
| float | tolerance, | |||
| SbVec3f & | pcoord | |||
| ) | const [virtual] |
Returns 1 if the point is inside the cell, 0 otherwise.
Returns also the parametric coordinates of the point.
Implements PbCell.
| PbWedgeCell& PbWedgeCell::operator= | ( | const PbWedgeCell & | cell | ) |
Assignment operator.
Reimplemented from PbCell.