109 MbVec3d ipcoord = getIsoParametricCoord(meshGeometry,hexahedronCell,point);
110 getWeight(ipcoord,weights);
155 MbVec3d pcoord = getIsoParametricCoord(meshGeometry,hexahedronCell,point);
156 bool inside = ( -1.E-5 < pcoord[0] && pcoord[0] < 1 + 1.E-5 &&
157 -1.E-5 < pcoord[1] && pcoord[1] < 1 + 1.E-5 &&
158 -1.E-5 < pcoord[2] && pcoord[2] < 1 + 1.E-5 );
160 getWeight(pcoord,weights);
173 facetNodes.assign(s_facetNode[facet],s_facetNode[facet]+4);
187 triangleNodeIds.assign(s_subFacetNode[face],s_subFacetNode[face]+24);
201 tetrahedronNodeIds.assign(s_subTetrahedronNodeIds,s_subTetrahedronNodeIds+(48*4));
213 static void get27Derivs(
double r,
double s,
double t,
size_t numNodes, std::vector<double>& derivs);
218 static bool initClass();
219 static void exitClass();
221 static void computeSubTetrahedronNodesIndex();
222 static void addSubWedge(
size_t n0,
size_t n1,
size_t n2,
size_t n3,
size_t n4,
size_t n5,
size_t orient, std::vector<size_t>& wedgeNodeIds);
223 template <
typename _F>
224 static void addSymetricWedgesByPlane(_F& symetricByPlane, std::vector<size_t>& wedgeNodeIds);
225 static void decomposeWedge(
size_t orient,
size_t n0,
size_t n1,
size_t n2,
size_t n3,
size_t n4,
size_t n5, std::vector<size_t>& tetraNodeIds);
227 static void computeSubTriangleNodesIndex();
228 template <
typename _F>
229 static void addSymetricTrianglesByPlane(_F& symetricByPlane, std::vector<size_t>& triangleNodeIds);
230 static void addTriangle(
size_t n0,
size_t n1,
size_t n2, std::vector<size_t>& triangleNodeIds);
231 static bool s_isInit;
232 static double s_nodesIsoParametricCoords[27][3];
233 static size_t s_subFacetNode[6][24];
235 static size_t s_subTetrahedronNodeIds[48*4];
236 static size_t s_facetNode[6][4];
238 static int s_imat0[36];
239 static int s_imat1[24];
240 static int s_imat2[24];
241 static int s_imat3[18];
242 static int s_iperm[24];