Defines a wedge cell of a volume mesh. More...
#include <MeshViz/3Ddata/PbWedgeCell.h>
Public Member Functions | |
PbWedgeCell (const PbMesh *owner_mesh) | |
Constructor of a default simple cell. | |
PbWedgeCell (const PbWedgeCell &cell) | |
Copy constructor. | |
~PbWedgeCell () | |
Destructor. | |
PbWedgeCell & | operator= (const PbWedgeCell &cell) |
Assignment operator. | |
virtual float | getLongestEdgeLength () const |
Returns the length of the longest edge of the cell. | |
virtual float | getVolume () const |
Returns the volume of the cell. | |
virtual float | getArea () const |
Always returns 0. | |
virtual void | getNodesIndexOfEdge (int edge, PbArrayOfInt &nodes_index) const |
Returns the array of the 2 index mesh's nodes that belong to a given edge of this cell. | |
virtual void | getNodesIndexOfFacet (int facet, PbArrayOfInt &nodes_index) const |
Returns the array of index mesh's nodes that belong to a given facet of this cell. | |
virtual void | getNodesLocalIndexOfEdge (int edge, PbArrayOfInt &nodes_index) const |
Returns the array of the 2 node indices that belong to a given edge of this cell. | |
virtual void | getNodesLocalIndexOfFacet (int facet, PbArrayOfInt &nodes_index) const |
Returns the array of node indices that belong to a given facet of this cell. | |
virtual int | locatePoint (const SbVec3f &coord, float tolerance, SbVec3f &pcoord) const |
Returns 1 if the point is inside the cell, 0 otherwise. | |
virtual void | getWeight (const SbVec3f &pcoord, float *weight) const |
Returns the 6 weights of a point defined by its parametric coordinates. | |
void | getDerivs (const SbVec3f &pcoord, float *weight) const |
Returns the derivs of a point defined by its parametric coordinates. | |
Public Member Functions inherited from PbCell | |
PbCell () | |
Constructor. | |
PbCell (const PbCell &cell) | |
Copy constructor. | |
~PbCell () | |
Destructor. | |
PbCell & | operator= (const PbCell &cell) |
Assignment operator. | |
virtual SbBox3f | getBoundingBox () const |
Gets the cell's bounding box. | |
virtual void | getBounds (float &xmin, float &ymin, float &zmin, float &xmax, float &ymax, float &zmax) const |
Gets the cell's bounds. | |
virtual SbVec3f | getCenter () const |
Gets the cell's geometric center. | |
int | getNumFacets () const |
Gets the number of facets. | |
int | getNumEdges () const |
Gets the number of edges. | |
int | getNumNodes () const |
Gets the number of nodes. | |
int | getIndex () const |
Gets the index of the cell in the mesh. | |
SbVec3f | getNodeCoord (int nod) const |
Gets the coordinate of the nod (nod must be >=0 and < getNumNodes()). | |
int | getNodeIndex (int nod) const |
Gets the index (in the mesh) of a nod (nod must be >=0 and < getNumNodes()). | |
void | getNodesIndex (PbArrayOfInt &nodes_index) const |
Gets the array of index mesh's nodes that belongs to this cell. | |
virtual float | getValue (const SbVec3f &pcoord, const float *s) const |
Get the scalar value of a point in the cell. | |
virtual SbVec3f | getValue (const SbVec3f &pcoord, const SbVec3f *v) const |
Get the vector value of a point in the cell. | |
float | getValue (const float *weight, const float *s) const |
Gets the scalar value of a point in this cell, given the point's weights. | |
SbVec3f | getValue (const float *weight, const SbVec3f *v) const |
Gets the vector value of a point in this cell, given the point's weights. | |
Public Member Functions inherited from PbBase | |
void | enableConnection (SbBool flag) |
Activates/deactivates the mechanism of connection. | |
SbBool | isConnectionEnabled () const |
Returns TRUE if the connection mechanism is active, otherwise FALSE. | |
void | touch () |
Simulates the changing of an instance of this object, so all connected objects are informed of this change. | |
PbBase & | operator= (const PbBase &base) |
Assignment operator. | |
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
Definition at line 69 of file PbWedgeCell.h.
PbWedgeCell::PbWedgeCell | ( | const PbMesh * | owner_mesh | ) |
Constructor of a default simple cell.
PbWedgeCell::PbWedgeCell | ( | const PbWedgeCell & | cell | ) |
Copy constructor.
PbWedgeCell::~PbWedgeCell | ( | ) |
Destructor.
|
inlinevirtual |
void PbWedgeCell::getDerivs | ( | const SbVec3f & | pcoord, |
float * | weight | ||
) | const |
Returns the derivs of a point defined by its parametric coordinates.
|
virtual |
Returns the length of the longest edge of the cell.
Implements PbCell.
|
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 |
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 |
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 |
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 |
Returns the volume of the cell.
Implements PbCell.
|
virtual |
Returns the 6 weights of a point defined by its parametric coordinates.
Implements PbCell.
|
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.