Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
MxHexahedron21CellExtract.h File Reference
#include <MeshVizXLM/mesh/geometry/MiGeometryI.h>
#include <Inventor/STL/vector>
#include <Inventor/STL/utility>

Go to the source code of this file.

Functions

static MbVec3d getIsoParametricCoord (size_t nodeIndex)
  MeshViz Utility class for quadratic hexahedron cells with 21 nodes.
 
static void getWeight (const MiGeometryI &meshGeometry, const MiVolumeCell *hexahedronCell, const MbVec3d &point, std::vector< double > &weights)
 Gets the weights of a point in a cell.
 
static void getWeight (const MbVec3d &ipcoord, std::vector< double > &weights)
 Gets the weights of a point defined by its iso parametric coordinates in an hexahedron cell.
 
static void getDerivs (const MbVec3d &ipcoord, std::vector< double > &derivs)
 Gets the derivs of the point given by its iso parametric coordinates.
 
static bool isPointInsideCell (const MiGeometryI &meshGeometry, const MiVolumeCell *hexahedronCell, const MbVec3d &point, std::vector< double > &weights)
 Checks if a point is inside the given hexahedron cell.
 
static size_t getSubTriangleNodesIndex (size_t facet, std::vector< size_t > &triangleNodeIds)
 Get a triangulation of a facet of this quadratic hexahedron.
 

Function Documentation

◆ getDerivs()

static void getDerivs ( const MbVec3d ipcoord,
std::vector< double > &  derivs 
)
static

Gets the derivs of the point given by its iso parametric coordinates.

◆ getIsoParametricCoord()

static MbVec3d getIsoParametricCoord ( size_t  nodeIndex)
static

MeshViz Utility class for quadratic hexahedron cells with 21 nodes.

Utility class that provides a static implementation of the MiVolumeCell's methods for a quadratic hexahedron of 21 nodes. This class is provided to make easier the creation of a class that implements the MiVolumeCell interface for a quadratic hexahedron of 21 nodes.

ATTENTION: this class is not yet finished. When comparing with other MxXXXCellExtract, some methods are missing. Furthermore this class is not fully tested. Returns the iso parametric coordinates of the given node in the given cell (hexacell)

◆ getSubTriangleNodesIndex()

static size_t getSubTriangleNodesIndex ( size_t  facet,
std::vector< size_t > &  triangleNodeIds 
)
static

Get a triangulation of a facet of this quadratic hexahedron.

Parameters
[in]facetnumber of the facet. (where: 0 <= face < getNumFacets() ).
[out]triangleNodeIdssub triangle node id (where: 0 <= triangleNodeIds[i] < getNumNodes() for each i).
Returns
the number of sub triangles in the facet of the is cell.

Definition at line 107 of file MxHexahedron21CellExtract.h.

◆ getWeight() [1/2]

static void getWeight ( const MbVec3d ipcoord,
std::vector< double > &  weights 
)
static

Gets the weights of a point defined by its iso parametric coordinates in an hexahedron cell.

◆ getWeight() [2/2]

static void getWeight ( const MiGeometryI meshGeometry,
const MiVolumeCell hexahedronCell,
const MbVec3d point,
std::vector< double > &  weights 
)
static

Gets the weights of a point in a cell.

See also
MiVolumeCell::getWeight

Definition at line 70 of file MxHexahedron21CellExtract.h.

◆ isPointInsideCell()

static bool isPointInsideCell ( const MiGeometryI meshGeometry,
const MiVolumeCell hexahedronCell,
const MbVec3d point,
std::vector< double > &  weights 
)
static

Checks if a point is inside the given hexahedron cell.

Definition at line 90 of file MxHexahedron21CellExtract.h.