Defines a quadrangle cell of a surface mesh. More...
#include <MeshViz/3Ddata/PbQuadrangleCell.h>
Public Member Functions | |
PbQuadrangleCell (const PbMesh *owner_mesh) | |
PbQuadrangleCell (const PbQuadrangleCell &cell) | |
~PbQuadrangleCell () | |
PbQuadrangleCell & | operator= (const PbQuadrangleCell &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 *derivs) const |
A quadrangle cell is not necessarily a square, it can be a rectangle or a lozenge.
Nodes and edges are numbered as following :
3-----------2 edge 0 = 01 | | edge 1 = 12 | | edge 2 = 23 | | edge 3 = 30 | | | | 0-----------1
PbQuadrangleCell::PbQuadrangleCell | ( | const PbMesh * | owner_mesh | ) |
Constructor of a default simple cell.
PbQuadrangleCell::PbQuadrangleCell | ( | const PbQuadrangleCell & | cell | ) |
Copy constructor.
PbQuadrangleCell::~PbQuadrangleCell | ( | ) |
Destructor.
virtual float PbQuadrangleCell::getArea | ( | ) | const [virtual] |
Gets the area of a cell.
Implements PbCell.
void PbQuadrangleCell::getDerivs | ( | const SbVec3f & | pcoord, | |
float * | derivs | |||
) | const |
Gets the derivs of a point defined by its parametric coordinates.
virtual float PbQuadrangleCell::getLongestEdgeLength | ( | ) | const [virtual] |
Gets the length of the longest edge of the cell.
Implements PbCell.
virtual void PbQuadrangleCell::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 < 4)
Implements PbCell.
virtual void PbQuadrangleCell::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).
Implements PbCell.
virtual void PbQuadrangleCell::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 < 4. Each index is >=0 and < 4
Implements PbCell.
virtual void PbQuadrangleCell::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. Each index is >=0 and < 4.
Implements PbCell.
virtual float PbQuadrangleCell::getVolume | ( | ) | const [inline, virtual] |
Returns always 0.
Implements PbCell.
virtual void PbQuadrangleCell::getWeight | ( | const SbVec3f & | pcoord, | |
float * | weight | |||
) | const [virtual] |
Gets the 4 weights of a point defined by its parametric coordinates.
Implements PbCell.
virtual int PbQuadrangleCell::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 and its weights
Implements PbCell.
PbQuadrangleCell& PbQuadrangleCell::operator= | ( | const PbQuadrangleCell & | cell | ) |
Assignment operator.
Reimplemented from PbCell.