diff --git a/src/edgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.C b/src/edgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.C index 63cef912b1..e5deecdf11 100644 --- a/src/edgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.C +++ b/src/edgeMesh/extendedFeatureEdgeMesh/extendedFeatureEdgeMeshTemplates.C @@ -65,8 +65,7 @@ void Foam::extendedFeatureEdgeMesh::sortPointsAndEdges labelListList featurePointFeatureEdges(nFeatPts); forAll(featurePointFeatureEdges, pI) { - featurePointFeatureEdges[pI] = - labelList(pointEdges[featurePoints[pI]].size(), -1); + featurePointFeatureEdges[pI] = pointEdges[featurePoints[pI]]; } // Mapping between old and new indices, there is entry in the map for each @@ -74,6 +73,10 @@ void Foam::extendedFeatureEdgeMesh::sortPointsAndEdges // >= 0 corresponds to the index labelList pointMap(sFeatLocalPts.size(), -1); + // Mapping between surface edge index and its feature edge index. -1 if it + // is not a feature edge + labelList edgeMap(sFeatEds.size(), -1); + // Noting when the normal of a face has been used so not to duplicate labelList faceMap(surf.size(), -1); @@ -98,6 +101,8 @@ void Foam::extendedFeatureEdgeMesh::sortPointsAndEdges { label sFEI = featureEdges[i]; + edgeMap[sFEI] = i; + const edge& fE(sFeatEds[sFEI]); // Check to see if the points have been already used @@ -156,43 +161,31 @@ void Foam::extendedFeatureEdgeMesh::sortPointsAndEdges { regionEdges.append(i); } - - forAll(featurePointFeatureEdges, pI) - { - const labelList& fpfEdges = pointEdges[featurePoints[pI]]; - - labelList& fpfe = featurePointFeatureEdges[pI]; - - forAll(fpfEdges, eI) - { - if (sFEI == fpfEdges[eI]) - { - fpfe[eI] = i; - } - } - } } + // Populate feature point feature edges + DynamicList