Make face FORWARD before adding wire in it.
}
else if (NewFaces.Length() == 1)
{
+ TopoDS_Shape aNewFace = NewFaces(1).Oriented (TopAbs_FORWARD);
for (Standard_Integer ii = 1; ii <= NewWires.Length(); ii++)
- BB.Add(NewFaces(1), NewWires(ii));
+ BB.Add(aNewFace, NewWires(ii));
for (Standard_Integer ii = 1; ii <= InternalWires.Length(); ii++)
- BB.Add(NewFaces(1), InternalWires(ii));
+ BB.Add(aNewFace, InternalWires(ii));
myContext->Merge(faces, NewFaces(1));
}
else
--- /dev/null
+puts "======================================================="
+puts "0030905: Modeling Algorithms - Invalid shapes in UnifySameDomain"
+puts "======================================================="
+puts ""
+
+restore [locate_data_file bug30905.brep] a
+
+unifysamedom result a
+
+checkshape result
+
+checknbshapes result -solid 1 -shell 1 -face 56 -wire 61 -edge 148 -vertex 93 -t
+
+checkprops result -s 835.815 -v 339.409
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png