Merge pull request #14536 from CalligaroV/toponaming-Part-makeElementWires-from-LS3

Part/Toponaming: makeElementWires - import from LS3 fork
This commit is contained in:
Chris Hennes
2024-06-26 18:22:21 -05:00
committed by GitHub
3 changed files with 478 additions and 54 deletions

View File

@@ -3034,23 +3034,17 @@ TopoShape& TopoShape::makeElementThickSolid(const TopoShape& shape,
}
TopoShape& TopoShape::makeElementWires(const std::vector<TopoShape>& shapes,
TopoShape& TopoShape::makeElementWires(const TopoShape& shape,
const char* op,
double tol,
ConnectionPolicy policy,
TopoShapeMap* output)
{
if (shapes.empty()) {
FC_THROWM(NullShapeException, "Null shape");
}
if (shapes.size() == 1) {
return makeElementWires(shapes[0], op, tol, policy, output);
}
return makeElementWires(TopoShape(Tag).makeElementCompound(shapes), op, tol, policy, output);
return makeElementWires(std::vector<TopoShape>{shape}, op , tol, policy, output);
}
TopoShape& TopoShape::makeElementWires(const TopoShape& shape,
TopoShape& TopoShape::makeElementWires(const std::vector<TopoShape>& shapes,
const char* op,
double tol,
ConnectionPolicy policy,
@@ -3069,8 +3063,10 @@ TopoShape& TopoShape::makeElementWires(const TopoShape& shape,
// resulting edges.
Handle(TopTools_HSequenceOfShape) hEdges = new TopTools_HSequenceOfShape();
Handle(TopTools_HSequenceOfShape) hWires = new TopTools_HSequenceOfShape();
for (TopExp_Explorer xp(shape.getShape(), TopAbs_EDGE); xp.More(); xp.Next()) {
hEdges->Append(xp.Current());
for (const auto &shape : shapes) {
for (const auto &edge : shape.getSubShapes(TopAbs_EDGE)) {
hEdges->Append(edge);
}
}
if (hEdges->Length() == 0) {
FC_THROWM(NullShapeException, "Null shape");
@@ -3083,17 +3079,19 @@ TopoShape& TopoShape::makeElementWires(const TopoShape& shape,
std::vector<TopoShape> wires;
for (int i = 1; i <= hWires->Length(); i++) {
auto wire = hWires->Value(i);
wires.emplace_back(Tag, Hasher, wire);
wires.emplace_back(Tag,Hasher,wire);
wires.back().mapSubElement(shapes, op);
}
shape.mapSubElementsTo(wires, op);
return makeElementCompound(wires, "", SingleShapeCompoundCreationPolicy::returnShape);
}
std::vector<TopoShape> wires;
std::list<TopoShape> edgeList;
for (auto& edge : shape.getSubTopoShapes(TopAbs_EDGE)) {
edgeList.emplace_back(edge);
for (const auto &shape : shapes) {
for(const auto &e : shape.getSubTopoShapes(TopAbs_EDGE)) {
edgeList.emplace_back(e);
}
}
std::vector<TopoShape> edges;

View File

@@ -1501,6 +1501,433 @@ class TestTopologicalNamingProblem(unittest.TestCase):
del geo_list, con_list
self.Doc.recompute()
def testRectanglewithArcChangeinGlobalCenter(self):
# Arrange
self.Body = self.Doc.addObject("PartDesign::Body", "Body")
# Make first offset cube Pad
self.PadSketch = self.Doc.addObject("Sketcher::SketchObject", "Sketch")
self.Body.addObject(self.PadSketch)
TestSketcherApp.CreateRectangleSketch(self.PadSketch, (-50, -25), (100, 50))
self.Doc.recompute()
self.Pad = self.Doc.addObject("PartDesign::Pad", "Pad")
self.Body.addObject(self.Pad)
self.Pad.Profile = self.PadSketch
self.Pad.Length = 10
self.Doc.recompute()
self.Sketch001 = self.Body.newObject("Sketcher::SketchObject", "Sketch001")
self.Sketch001.AttachmentSupport = (
self.Doc.getObject("Pad"),
[
"Face6",
],
)
self.Sketch001.MapMode = "FlatFace"
TestSketcherApp.CreateRectangleSketch(self.Sketch001, (-40, -20), (80, 40))
self.Doc.recompute()
self.Pad1 = self.Doc.addObject("PartDesign::Pad", "Pad1")
self.Body.addObject(self.Pad1)
self.Pad1.Profile = self.Sketch001
self.Pad1.Length = 10
self.Doc.recompute()
self.geoList = []
self.geoList.append(
Part.ArcOfCircle(
Part.Circle(
App.Vector(0.000000, -109.419670, 0.000000),
App.Vector(0.000000, 0.000000, 1.000000),
88.713871,
),
1.258384,
1.886112,
)
)
self.PadSketch.addGeometry(self.geoList, False)
del self.geoList
self.constraintList = []
self.constraintList.append(Sketcher.Constraint("PointOnObject", 4, 3, -2))
self.constraintList.append(Sketcher.Constraint("PointOnObject", 4, 1, 2))
self.constraintList.append(Sketcher.Constraint("PointOnObject", 4, 2, 2))
self.PadSketch.addConstraint(self.constraintList)
del self.constraintList
self.PadSketch.trim(2, App.Vector(7.337847, -25.000000, 0))
self.PadSketch.addConstraint(Sketcher.Constraint("Equal", 3, 1))
self.PadSketch.addConstraint(Sketcher.Constraint("Horizontal", 5))
self.PadSketch.addConstraint(Sketcher.Constraint("Radius", 4, 73.031111))
self.PadSketch.setDatum(18, App.Units.Quantity("70.000000 mm"))
self.PadSketch.addConstraint(
Sketcher.Constraint("DistanceY", 4, 3, -1, 1, 88.867210)
)
self.PadSketch.setDatum(19, App.Units.Quantity("80.000000 mm"))
self.Doc.recompute()
self.assertTrue(self.Sketch001.isValid())
def testRectanglewithArcChangeinGlobalUpperRight(self):
# Arrange
self.Body = self.Doc.addObject("PartDesign::Body", "Body")
# Make first offset cube Pad
self.PadSketch = self.Body.newObject("Sketcher::SketchObject", "Sketch")
self.PadSketch.AttachmentSupport = (self.Doc.getObject("XY_Plane"), [""])
self.PadSketch.MapMode = "FlatFace"
self.Doc.recompute()
lastGeoId = len(self.PadSketch.Geometry)
self.geoList = []
self.geoList.append(
Part.LineSegment(
App.Vector(6.565019, 5.821458, 0.000000),
App.Vector(131.750198, 5.821458, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(131.750198, 5.821458, 0.000000),
App.Vector(131.750198, 75.265900, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(131.750198, 75.265900, 0.000000),
App.Vector(6.565019, 75.265900, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(6.565019, 75.265900, 0.000000),
App.Vector(6.565019, 5.821458, 0.000000),
)
)
self.PadSketch.addGeometry(self.geoList, False)
del self.geoList
self.constraintList = []
self.constraintList.append(Sketcher.Constraint("Coincident", 0, 2, 1, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 1, 2, 2, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 2, 2, 3, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 3, 2, 0, 1))
self.constraintList.append(Sketcher.Constraint("Horizontal", 0))
self.constraintList.append(Sketcher.Constraint("Horizontal", 2))
self.constraintList.append(Sketcher.Constraint("Vertical", 1))
self.constraintList.append(Sketcher.Constraint("Vertical", 3))
self.PadSketch.addConstraint(self.constraintList)
del self.constraintList
self.Doc.recompute()
self.Pad = self.Body.newObject("PartDesign::Pad", "Pad")
self.Pad.Profile = (
self.Doc.getObject("Sketch"),
[
"",
],
)
self.Pad.Length = 10
self.Doc.recompute()
self.Pad.ReferenceAxis = (self.Doc.getObject("Sketch"), ["N_Axis"])
self.Doc.recompute()
self.Pad.Length = 10.000000
self.Pad.TaperAngle = 0.000000
self.Pad.UseCustomVector = 0
self.Pad.Direction = (0, 0, 1)
self.Pad.ReferenceAxis = (self.Doc.getObject("Sketch"), ["N_Axis"])
self.Pad.AlongSketchNormal = 1
self.Pad.Type = 0
self.Pad.UpToFace = None
self.Pad.Reversed = 0
self.Pad.Midplane = 0
self.Pad.Offset = 0
self.Doc.recompute()
self.Sketch001 = self.Body.newObject("Sketcher::SketchObject", "Sketch001")
self.Sketch001.AttachmentSupport = (
self.Doc.getObject("Pad"),
[
"Face6",
],
)
self.Sketch001.MapMode = "FlatFace"
self.Doc.recompute()
lastGeoId = len(self.Sketch001.Geometry)
self.geoList = []
self.geoList.append(
Part.LineSegment(
App.Vector(33.048996, 24.872660, 0.000000),
App.Vector(125.086029, 24.872660, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(125.086029, 24.872660, 0.000000),
App.Vector(125.086029, 72.835625, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(125.086029, 72.835625, 0.000000),
App.Vector(33.048996, 72.835625, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(33.048996, 72.835625, 0.000000),
App.Vector(33.048996, 24.872660, 0.000000),
)
)
self.Sketch001.addGeometry(self.geoList, False)
del self.geoList
self.constraintList = []
self.constraintList.append(Sketcher.Constraint("Coincident", 0, 2, 1, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 1, 2, 2, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 2, 2, 3, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 3, 2, 0, 1))
self.constraintList.append(Sketcher.Constraint("Horizontal", 0))
self.constraintList.append(Sketcher.Constraint("Horizontal", 2))
self.constraintList.append(Sketcher.Constraint("Vertical", 1))
self.constraintList.append(Sketcher.Constraint("Vertical", 3))
self.Sketch001.addConstraint(self.constraintList)
del self.constraintList
self.Doc.recompute()
self.Pad1 = self.Body.newObject("PartDesign::Pad", "Pad001")
self.Pad1.Profile = (
self.Doc.getObject("Sketch001"),
[
"",
],
)
self.Pad1.Length = 10
self.Doc.recompute()
self.Pad1.ReferenceAxis = (self.Doc.getObject("Sketch001"), ["N_Axis"])
self.Doc.recompute()
self.Pad1.Length = 10.000000
self.Pad1.TaperAngle = 0.000000
self.Pad1.UseCustomVector = 0
self.Pad1.Direction = (0, 0, 1)
self.Pad1.ReferenceAxis = (self.Doc.getObject("Sketch001"), ["N_Axis"])
self.Pad1.AlongSketchNormal = 1
self.Pad1.Type = 0
self.Pad1.UpToFace = None
self.Pad1.Reversed = 0
self.Pad1.Midplane = 0
self.Pad1.Offset = 0
self.Doc.recompute()
lastGeoId = len(self.Sketch001.Geometry)
self.geoList = []
self.geoList.append(
Part.ArcOfCircle(
Part.Circle(
App.Vector(73.611900, -60.502949, 0.000000),
App.Vector(0.000000, 0.000000, 1.000000),
80.806032,
),
0.997061,
2.178808,
)
)
self.PadSketch.addGeometry(self.geoList, False)
del self.geoList
self.constraintList = []
self.constraintList.append(Sketcher.Constraint("PointOnObject", 4, 2, 0))
self.constraintList.append(Sketcher.Constraint("PointOnObject", 4, 1, 0))
self.PadSketch.addConstraint(self.constraintList)
del self.constraintList
self.Doc.recompute()
self.PadSketch.trim(0, App.Vector(69.157609, 5.865876, 0))
self.Doc.recompute()
self.assertTrue(self.Sketch001.isValid())
def testPadChange_UpToFirst_to_Dimension(self):
# Arrange
self.Body = self.Doc.addObject("PartDesign::Body", "Body")
# Make first offset cube Pad
self.PadSketch = self.Doc.addObject("Sketcher::SketchObject", "Sketch")
self.Body.addObject(self.PadSketch)
TestSketcherApp.CreateRectangleSketch(self.PadSketch, (-42.5, -42.5), (85, 85))
self.Doc.recompute()
TestSketcherApp.CreateRectangleSketch(self.PadSketch, (-37.5, -37.5), (75, 75))
self.Doc.recompute()
self.Pad = self.Doc.addObject("PartDesign::Pad", "Pad")
self.Body.addObject(self.Pad)
self.Pad.Profile = self.PadSketch
self.Pad.Length = 10
self.Doc.recompute()
self.Sketch001 = self.Body.newObject("Sketcher::SketchObject", "Sketch001")
self.Sketch001.AttachmentSupport = (
self.Doc.getObject("Pad"),
[
"Face5",
],
)
self.Sketch001.MapMode = "FlatFace"
self.Doc.recompute()
lastGeoId = len(self.Sketch001.Geometry)
self.geoList = []
self.geoList.append(
Part.LineSegment(
App.Vector(-33.953453, 7.680901, 0.000000),
App.Vector(-33.953453, 2.543239, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(-33.953453, 2.543239, 0.000000),
App.Vector(33.282925, 2.543239, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(33.282925, 2.543239, 0.000000),
App.Vector(33.282925, 7.680901, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(33.282925, 7.680901, 0.000000),
App.Vector(-33.953453, 7.680901, 0.000000),
)
)
self.Sketch001.addGeometry(self.geoList, False)
del self.geoList
self.constraintList = []
self.constraintList.append(Sketcher.Constraint("Coincident", 0, 2, 1, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 1, 2, 2, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 2, 2, 3, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 3, 2, 0, 1))
self.constraintList.append(Sketcher.Constraint("Vertical", 0))
self.constraintList.append(Sketcher.Constraint("Vertical", 2))
self.constraintList.append(Sketcher.Constraint("Horizontal", 1))
self.constraintList.append(Sketcher.Constraint("Horizontal", 3))
self.Sketch001.addConstraint(self.constraintList)
del self.constraintList
self.Doc.recompute()
self.Pad001 = self.Body.newObject("PartDesign::Pad", "Pad001")
self.Pad001.Profile = (
self.Doc.getObject("Sketch001"),
[
"",
],
)
self.Pad001.Length = 10
self.Doc.recompute()
self.Pad001.ReferenceAxis = (self.Doc.getObject("Sketch001"), ["N_Axis"])
self.Doc.recompute()
self.Pad001.UseCustomVector = 0
self.Pad001.Direction = (0, -1, 0)
self.Pad001.ReferenceAxis = (self.Doc.getObject("Sketch001"), ["N_Axis"])
self.Pad001.AlongSketchNormal = 1
self.Pad001.Type = 2
self.Pad001.UpToFace = None
self.Pad001.Reversed = 0
self.Pad001.Midplane = 0
self.Pad001.Offset = 0
self.Doc.recompute()
self.Sketch002 = self.Body.newObject("Sketcher::SketchObject", "Sketch002")
self.Sketch002.AttachmentSupport = (
self.Doc.getObject("Pad001"),
[
"Face11",
],
)
self.Sketch002.MapMode = "FlatFace"
self.Doc.recompute()
lastGeoId = len(self.Sketch002.Geometry)
self.geoList = []
self.geoList.append(
Part.LineSegment(
App.Vector(-30.826233, 35.070259, 0.000000),
App.Vector(-30.826233, 30.602728, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(-30.826233, 30.602728, 0.000000),
App.Vector(30.602348, 30.602728, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(30.602348, 30.602728, 0.000000),
App.Vector(30.602348, 35.070259, 0.000000),
)
)
self.geoList.append(
Part.LineSegment(
App.Vector(30.602348, 35.070259, 0.000000),
App.Vector(-30.826233, 35.070259, 0.000000),
)
)
self.Sketch002.addGeometry(self.geoList, False)
del self.geoList
self.constraintList = []
self.constraintList.append(Sketcher.Constraint("Coincident", 0, 2, 1, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 1, 2, 2, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 2, 2, 3, 1))
self.constraintList.append(Sketcher.Constraint("Coincident", 3, 2, 0, 1))
self.constraintList.append(Sketcher.Constraint("Vertical", 0))
self.constraintList.append(Sketcher.Constraint("Vertical", 2))
self.constraintList.append(Sketcher.Constraint("Horizontal", 1))
self.constraintList.append(Sketcher.Constraint("Horizontal", 3))
self.Sketch002.addConstraint(self.constraintList)
del self.constraintList
self.Doc.recompute()
self.Pad002 = self.Body.newObject("PartDesign::Pad", "Pad002")
self.Pad002.Profile = (
self.Doc.getObject("Sketch002"),
[
"",
],
)
self.Pad002.Length = 10
self.Doc.recompute()
self.Pad002.ReferenceAxis = (self.Doc.getObject("Sketch002"), ["N_Axis"])
self.Doc.recompute()
self.Pad002.Length = 10.000000
self.Pad002.TaperAngle = 0.000000
self.Pad002.UseCustomVector = 0
self.Pad002.Direction = (0, 0, 1)
self.Pad002.ReferenceAxis = (self.Doc.getObject("Sketch002"), ["N_Axis"])
self.Pad002.AlongSketchNormal = 1
self.Pad002.Type = 0
self.Pad002.UpToFace = None
self.Pad002.Reversed = 0
self.Pad002.Midplane = 0
self.Pad002.Offset = 0
self.Doc.recompute()
self.Pad001.Type = "Length"
self.Pad001.Length = "4 mm"
self.Doc.recompute()
"""Assumption: the warning <PropertyLinks> PropertyLinks.cpp(453):
PartDesignTestTNP1#Sketch002.AttachmentSupport missing element
reference PartDesignTestTNP1#Pad001 ;g815v1;SKT;:H976,V;:L#2;PSM;
:H976:9,E;:L#8;PSM;:H976:9,F;:H-977,F.Face11 is only temporary and can be ignored."""
self.assertTrue(self.Sketch002.AttachmentSupport[0][1][0] == "Face11")
self.assertGreaterEqual(self.Body.Shape.Volume, 20126)
def tearDown(self):
""" Close our test document """
App.closeDocument(self.Doc.Name)

View File

@@ -582,16 +582,16 @@ TEST_F(TopoShapeExpansionTest, makeElementWiresCombinesWires)
// Assert map is correct
EXPECT_TRUE(allElementsMatch(topoShape,
{
"Edge1;:C1;:H4:4,E;WIR;:H4:4,E;WIR;:H4:4,E",
"Edge1;:H1,E;WIR;:H1:4,E;WIR;:H1:4,E",
"Edge1;:H2,E;WIR;:H2:4,E;WIR;:H2:4,E",
"Edge1;:H4,E;WIR;:H4:4,E;WIR;:H4:4,E",
"Vertex1;:H1,V;WIR;:H1:4,V;WIR;:H1:4,V",
"Vertex1;:H4,V;WIR;:H4:4,V;WIR;:H4:4,V",
"Vertex2;:C1;:H4:4,V;WIR;:H4:4,V;WIR;:H4:4,V",
"Vertex2;:H1,V;WIR;:H1:4,V;WIR;:H1:4,V",
"Vertex2;:H2,V;WIR;:H2:4,V;WIR;:H2:4,V",
"Vertex2;:H4,V;WIR;:H4:4,V;WIR;:H4:4,V",
"Edge1;WIR;:H1:4,E;WIR;:H1:4,E",
"Edge1;WIR;:H2:4,E;WIR;:H2:4,E",
"Edge1;WIR;:H4:4,E;D1;:H4:3,E;WIR;:H4:4,E",
"Edge1;WIR;:H4:4,E;WIR;:H4:4,E",
"Vertex1;WIR;:H1:4,V;WIR;:H1:4,V",
"Vertex1;WIR;:H4:4,V;WIR;:H4:4,V",
"Vertex2;WIR;:H1:4,V;WIR;:H1:4,V",
"Vertex2;WIR;:H2:4,V;WIR;:H2:4,V",
"Vertex2;WIR;:H4:4,V;D1;:H4:3,V;WIR;:H4:4,V",
"Vertex2;WIR;:H4:4,V;WIR;:H4:4,V",
})); // Changed with PR#12471. Probably will change again after
// importing other TopoNaming logics
}
@@ -2358,12 +2358,12 @@ TEST_F(TopoShapeExpansionTest, makeElementSlice)
{
"Face1;:G2;SLC;:H1:8,V;SLC;:H1:4,V",
"Face1;:G3;SLC;:H1:8,V;SLC;:H1:4,V",
"Face1;:G4;SLC;:H1:8,V;D1;:H1:3,V;SLC;:H1:4,V",
"Face1;:G4;SLC;:H1:8,V;SLC;:H1:4,V",
"Face1;:G5;SLC;:H1:8,E;SLC;:H1:4,E",
"Face1;:G6;SLC;:H1:8,E;SLC;:H1:4,E",
"Face1;:G7;SLC;:H1:8,E;SLC;:H1:4,E",
"Face1;:G8;SLC;:H1:8,E;SLC;:H1:4,E",
"Face1;:G;SLC;:H1:7,V;SLC;:H1:4,V",
}));
}
@@ -2388,34 +2388,33 @@ TEST_F(TopoShapeExpansionTest, makeElementSlices)
EXPECT_EQ(TopAbs_ShapeEnum::TopAbs_WIRE, subTopoShapes[2].getShape().ShapeType());
// Assert that we're creating a correct element map
EXPECT_TRUE(result.getMappedChildElements().empty());
EXPECT_TRUE(
elementsMatch(result,
{
"Edge10;:G(Face1;K-2;:H1:4,F);SLC;:H1:1a,V;SLC;:H1:4,V",
"Edge10;:G(Face1;K-2;:H2:4,F);SLC_2;:H1:1c,V;SLC_2;:H1:6,V",
"Edge10;:G(Face1;K-2;:H3:4,F);SLC_3;:H1:1c,V;SLC_3;:H1:6,V",
"Edge11;:G(Face1;K-3;:H1:4,F);SLC;:H1:1a,V;SLC;:H1:4,V",
"Edge11;:G(Face1;K-3;:H2:4,F);SLC_2;:H1:1c,V;SLC_2;:H1:6,V",
"Edge11;:G(Face1;K-3;:H3:4,F);SLC_3;:H1:1c,V;SLC_3;:H1:6,V",
"Edge12;:G(Face1;K-4;:H1:4,F);SLC;:H1:1a,V;D1;:H1:3,V;SLC;:H1:4,V",
"Edge12;:G(Face1;K-4;:H1:4,F);SLC;:H1:1a,V;SLC;:H1:4,V",
"Edge12;:G(Face1;K-4;:H2:4,F);SLC_2;:H1:1c,V;D1;:H1:3,V;SLC_2;:H1:6,V",
"Edge12;:G(Face1;K-4;:H2:4,F);SLC_2;:H1:1c,V;SLC_2;:H1:6,V",
"Edge12;:G(Face1;K-4;:H3:4,F);SLC_3;:H1:1c,V;D1;:H1:3,V;SLC_3;:H1:6,V",
"Edge12;:G(Face1;K-4;:H3:4,F);SLC_3;:H1:1c,V;SLC_3;:H1:6,V",
"Face1;:G5(Face3;K-1;:H1:4,F);SLC;:H1:1b,E;SLC;:H1:4,E",
"Face1;:G6(Face4;K-1;:H1:4,F);SLC;:H1:1b,E;SLC;:H1:4,E",
"Face1;:G7(Face5;K-1;:H1:4,F);SLC;:H1:1b,E;SLC;:H1:4,E",
"Face1;:G8(Face6;K-1;:H1:4,F);SLC;:H1:1b,E;SLC;:H1:4,E",
"Face3;:G(Face1;K-5;:H2:4,F);SLC_2;:H1:1c,E;SLC_2;:H1:6,E",
"Face3;:G(Face1;K-5;:H3:4,F);SLC_3;:H1:1c,E;SLC_3;:H1:6,E",
"Face4;:G(Face1;K-6;:H2:4,F);SLC_2;:H1:1c,E;SLC_2;:H1:6,E",
"Face4;:G(Face1;K-6;:H3:4,F);SLC_3;:H1:1c,E;SLC_3;:H1:6,E",
"Face5;:G(Face1;K-7;:H2:4,F);SLC_2;:H1:1c,E;SLC_2;:H1:6,E",
"Face5;:G(Face1;K-7;:H3:4,F);SLC_3;:H1:1c,E;SLC_3;:H1:6,E",
"Face6;:G(Face1;K-8;:H2:4,F);SLC_2;:H1:1c,E;SLC_2;:H1:6,E",
"Face6;:G(Face1;K-8;:H3:4,F);SLC_3;:H1:1c,E;SLC_3;:H1:6,E",
}));
EXPECT_TRUE(elementsMatch(result,
{
"Edge10;:G(Face1;K-2;:H1:4,F);SLC;:H1:1a,V;SLC;:H1:4,V",
"Edge10;:G(Face1;K-2;:H2:4,F);SLC_2;:H1:1c,V;SLC_2;:H1:6,V",
"Edge10;:G(Face1;K-2;:H3:4,F);SLC_3;:H1:1c,V;SLC_3;:H1:6,V",
"Edge11;:G(Face1;K-3;:H1:4,F);SLC;:H1:1a,V;SLC;:H1:4,V",
"Edge11;:G(Face1;K-3;:H2:4,F);SLC_2;:H1:1c,V;SLC_2;:H1:6,V",
"Edge11;:G(Face1;K-3;:H3:4,F);SLC_3;:H1:1c,V;SLC_3;:H1:6,V",
"Edge12;:G(Face1;K-4;:H1:4,F);SLC;:H1:1a,V;SLC;:H1:4,V",
"Edge12;:G(Face1;K-4;:H2:4,F);SLC_2;:H1:1c,V;SLC_2;:H1:6,V",
"Edge12;:G(Face1;K-4;:H3:4,F);SLC_3;:H1:1c,V;SLC_3;:H1:6,V",
"Edge9;:G(Face1;K-1;:H1:4,F);SLC;:H1:1a,V;SLC;:H1:4,V",
"Edge9;:G(Face1;K-1;:H2:4,F);SLC_2;:H1:1c,V;SLC_2;:H1:6,V",
"Edge9;:G(Face1;K-1;:H3:4,F);SLC_3;:H1:1c,V;SLC_3;:H1:6,V",
"Face1;:G5(Face3;K-1;:H1:4,F);SLC;:H1:1b,E;SLC;:H1:4,E",
"Face1;:G6(Face4;K-1;:H1:4,F);SLC;:H1:1b,E;SLC;:H1:4,E",
"Face1;:G7(Face5;K-1;:H1:4,F);SLC;:H1:1b,E;SLC;:H1:4,E",
"Face1;:G8(Face6;K-1;:H1:4,F);SLC;:H1:1b,E;SLC;:H1:4,E",
"Face3;:G(Face1;K-5;:H2:4,F);SLC_2;:H1:1c,E;SLC_2;:H1:6,E",
"Face3;:G(Face1;K-5;:H3:4,F);SLC_3;:H1:1c,E;SLC_3;:H1:6,E",
"Face4;:G(Face1;K-6;:H2:4,F);SLC_2;:H1:1c,E;SLC_2;:H1:6,E",
"Face4;:G(Face1;K-6;:H3:4,F);SLC_3;:H1:1c,E;SLC_3;:H1:6,E",
"Face5;:G(Face1;K-7;:H2:4,F);SLC_2;:H1:1c,E;SLC_2;:H1:6,E",
"Face5;:G(Face1;K-7;:H3:4,F);SLC_3;:H1:1c,E;SLC_3;:H1:6,E",
"Face6;:G(Face1;K-8;:H2:4,F);SLC_2;:H1:1c,E;SLC_2;:H1:6,E",
"Face6;:G(Face1;K-8;:H3:4,F);SLC_3;:H1:1c,E;SLC_3;:H1:6,E",
}));
EXPECT_FALSE(
subTopoShapes[0].getElementMap().empty()); // Changed with PR#12471. Probably will change
// again after importing other TopoNaming logics