Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
PbWedgeCell Class Reference

MeshViz Defines a wedge cell of a volume mesh. More...

#include <MeshViz/3Ddata/PbWedgeCell.h>

+ Inheritance diagram for PbWedgeCell:

Public Member Functions

 PbWedgeCell (const PbMesh *owner_mesh)
 Constructor of a default simple cell.
 
 PbWedgeCell (const PbWedgeCell &cell)
 Copy constructor.
 
 ~PbWedgeCell ()
 Destructor.
 
PbWedgeCelloperator= (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.
 
PbCelloperator= (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.
 
PbBaseoperator= (const PbBase &base)
 Assignment operator.
 

Detailed Description

MeshViz 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.

Constructor & Destructor Documentation

◆ PbWedgeCell() [1/2]

PbWedgeCell::PbWedgeCell ( const PbMesh owner_mesh)

Constructor of a default simple cell.

◆ PbWedgeCell() [2/2]

PbWedgeCell::PbWedgeCell ( const PbWedgeCell cell)

Copy constructor.

◆ ~PbWedgeCell()

PbWedgeCell::~PbWedgeCell ( )

Destructor.

Member Function Documentation

◆ getArea()

virtual float PbWedgeCell::getArea ( ) const
inlinevirtual

Always returns 0.

Implements PbCell.

Definition at line 107 of file PbWedgeCell.h.

◆ getDerivs()

void PbWedgeCell::getDerivs ( const SbVec3f pcoord,
float *  weight 
) const

Returns the derivs of a point defined by its parametric coordinates.

◆ getLongestEdgeLength()

virtual float PbWedgeCell::getLongestEdgeLength ( ) const
virtual

Returns the length of the longest edge of the cell.

Implements PbCell.

◆ getNodesIndexOfEdge()

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.

◆ getNodesIndexOfFacet()

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.

◆ getNodesLocalIndexOfEdge()

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.

◆ getNodesLocalIndexOfFacet()

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.

◆ getVolume()

virtual float PbWedgeCell::getVolume ( ) const
virtual

Returns the volume of the cell.

Implements PbCell.

◆ getWeight()

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.

◆ locatePoint()

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.

◆ operator=()

PbWedgeCell & PbWedgeCell::operator= ( const PbWedgeCell cell)

Assignment operator.


The documentation for this class was generated from the following file: