Make the degenerated torus bounded in two values of parameters processed as a regular to insert a seam edge properly.
Handle(Geom_ToroidalSurface) aTorSurf = Handle(Geom_ToroidalSurface)::DownCast(mySurf->Surface());
Standard_Boolean anIsDegeneratedTor =
(aTorSurf.IsNull() ? Standard_False : aTorSurf->MajorRadius() < aTorSurf->MinorRadius());
+ // if the second wire is not null, we don't need mark the torus as degenerated
+ // and should process it as a regular one.
+ if (anIsDegeneratedTor && !w2.IsNull())
+ {
+ anIsDegeneratedTor = Standard_False;
+ }
if (w1.IsNull())
return Standard_False;
--- /dev/null
+puts "================================================"
+puts "Revolved shape in STEP file is imported inverted"
+puts "================================================"
+puts ""
+
+stepread [locate_data_file gh_bug378.stp] a *
+checkprops a_1 -v 10504.9
+