-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2019 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
faceType = cellModelCell.getSonType(ii);
const CellModel& faceModel=CellModel::GetCellModel(faceType);
assert(faceModel.getDimension() == 2);
- faceNodes=new int[faceModel.getNumberOfNodes()];
+ nbFaceNodes = cellModelCell.getNumberOfNodesConstituentTheSon(ii);
+ faceNodes = new int[nbFaceNodes];
cellModelCell.fillSonCellNodalConnectivity(ii,cellNodes,faceNodes);
}
// intersect a son with the unit tetra
{
typedef typename MyMeshType::MyConnType ConnType;
typedef double Vect2[2];
- typedef double Vect3[3];
typedef double Triangle2[3][2];
const double *const tri0[3] = {p1, p2, p3};
std::multiset<TriangleFaceKey>& listOfTetraFacesTreated,
std::set<TriangleFaceKey>& listOfTetraFacesColinear)
{
- typedef typename MyMeshType::MyConnType ConnType;
-
double totalSurface = 0.0;
// check if we have planar tetra element
{
// The two nodes of the original mesh cell used in each tetrahedron.
// The tetrahedra all have nodes (cellCenter, faceCenter, edgeNode1, edgeNode2)
- // For the correspondance of the nodes, see the GENERAL_48_SUB_NODES table in calculateSubNodes
+ // For the correspondence of the nodes, see the GENERAL_48_SUB_NODES table in calculateSubNodes
// nodes to use for tetrahedron
const double* nodes[4];
while ( allNodeIndices.size() < nbOfCellNodes )
allNodeIndices.push_back( allNodeIndices.size() );
std::vector<int> classicFaceNodes(4);
+ if(cellModelCell.isQuadratic())
+ throw INTERP_KERNEL::Exception("SplitterTetra2::splitConvex : quadratic 3D cells are not implemented yet !");
int* faceNodes = cellModelCell.isDynamic() ? &allNodeIndices[0] : &classicFaceNodes[0];
// nodes of tetrahedron