MCPcopy Create free account
hub / github.com/OpenFOAM/OpenFOAM-dev / add

Function add

src/meshTools/edgeMesh/extendedEdgeMesh/extendedEdgeMesh.C:976–1221  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

974
975
976void Foam::extendedEdgeMesh::add(const extendedEdgeMesh& fem)
977{
978 // Points
979 // ~~~~~~
980
981 // From current points into combined points
982 labelList reversePointMap(points().size());
983 labelList reverseFemPointMap(fem.points().size());
984
985 label newPointi = 0;
986 for (label i = 0; i < concaveStart(); i++)
987 {
988 reversePointMap[i] = newPointi++;
989 }
990 for (label i = 0; i < fem.concaveStart(); i++)
991 {
992 reverseFemPointMap[i] = newPointi++;
993 }
994
995 // Concave
996 label newConcaveStart = newPointi;
997 for (label i = concaveStart(); i < mixedStart(); i++)
998 {
999 reversePointMap[i] = newPointi++;
1000 }
1001 for (label i = fem.concaveStart(); i < fem.mixedStart(); i++)
1002 {
1003 reverseFemPointMap[i] = newPointi++;
1004 }
1005
1006 // Mixed
1007 label newMixedStart = newPointi;
1008 for (label i = mixedStart(); i < nonFeatureStart(); i++)
1009 {
1010 reversePointMap[i] = newPointi++;
1011 }
1012 for (label i = fem.mixedStart(); i < fem.nonFeatureStart(); i++)
1013 {
1014 reverseFemPointMap[i] = newPointi++;
1015 }
1016
1017 // Non-feature
1018 label newNonFeatureStart = newPointi;
1019 for (label i = nonFeatureStart(); i < points().size(); i++)
1020 {
1021 reversePointMap[i] = newPointi++;
1022 }
1023 for (label i = fem.nonFeatureStart(); i < fem.points().size(); i++)
1024 {
1025 reverseFemPointMap[i] = newPointi++;
1026 }
1027
1028 pointField newPoints(newPointi);
1029 newPoints.rmap(points(), reversePointMap);
1030 newPoints.rmap(fem.points(), reverseFemPointMap);
1031
1032
1033 // Edges

Callers

nothing calls this directly

Calls 15

sizeFunction · 0.85
pointsFunction · 0.85
forAllFunction · 0.70
edgeClass · 0.50
resetFunction · 0.50
concaveStartMethod · 0.45
mixedStartMethod · 0.45
nonFeatureStartMethod · 0.45
sizeMethod · 0.45
pointsMethod · 0.45
rmapMethod · 0.45
internalStartMethod · 0.45

Tested by

no test coverage detected