23#ifndef _MxHexahedron21CellExtract_h
24#define _MxHexahedron21CellExtract_h
26#include <MeshVizXLM/mesh/geometry/MiGeometryI.h>
28#include <Inventor/STL/vector>
29#include <Inventor/STL/utility>
85 static void getDerivs(
const MbVec3d &ipcoord, std::vector<double>& derivs);
93 bool inside = ( -1.E-5 < pcoord[0] && pcoord[0] < 1 + 1.E-5 &&
94 -1.E-5 < pcoord[1] && pcoord[1] < 1 + 1.E-5 &&
95 -1.E-5 < pcoord[2] && pcoord[2] < 1 + 1.E-5 );
109 triangleNodeIds.assign(s_subFacetNode[facet],s_subFacetNode[facet]+18);
115 static bool initClass();
116 static void exitClass();
118 static bool s_isInit;
119 static double s_nodesIsoParametricCoords[21][3];
120 static size_t s_subFacetNode[6][18];
121 static size_t s_iperm[2][12];
virtual MbVec3d getIsoParametricCoord(size_t nodeIndex) const
Gets the iso parametric coordinates of a cell's node.
virtual void getWeight(const MbVec3d &ipcoord, std::vector< double > &weight) const
Gets the weights of a point defined by its iso parametric coordinates.
virtual bool isPointInsideCell(const MiGeometryI &meshGeometry, const MbVec3d &point, std::vector< double > &weights) const
Checks if a point is inside or outside a cell.
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Generic geometry interfa...
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines an abstract cell...
virtual size_t getSubTriangleNodesIndex(size_t facet, std::vector< size_t > &triangleNodeIds) const
Get a triangulation of the given facet of a non linear volume cell.