From: Roman Lygin Date: Sat, 14 Mar 2020 10:49:17 +0000 (+0300) Subject: 0031430: Offset surfaces on C1 surfaces (with multiplicity equal to degree) may still... X-Git-Tag: V7_5_0_beta~257 X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff_plain;h=fb99177766f64223da023f688467b3ff7e6f69fb 0031430: Offset surfaces on C1 surfaces (with multiplicity equal to degree) may still throw exception In constructor of Geom_RectangularTrimmedSurface, skip check if an offset surface has insufficient continuity. The reason is that this surface has already passed the check once created. So, here we must not apply more strict check than that first time. --- diff --git a/src/Geom/Geom_RectangularTrimmedSurface.cxx b/src/Geom/Geom_RectangularTrimmedSurface.cxx index e7ff92fe8f..69bb5b3ea5 100644 --- a/src/Geom/Geom_RectangularTrimmedSurface.cxx +++ b/src/Geom/Geom_RectangularTrimmedSurface.cxx @@ -118,7 +118,7 @@ const Standard_Boolean VSense) { Handle(Geom_RectangularTrimmedSurface) S2 = new Geom_RectangularTrimmedSurface( O->BasisSurface(),U1,U2, V1, V2, USense, VSense); - basisSurf = new Geom_OffsetSurface(S2, O->Offset()); + basisSurf = new Geom_OffsetSurface(S2, O->Offset(), Standard_True); } SetTrim( U1, U2, V1, V2, USense, VSense); @@ -153,7 +153,7 @@ Geom_RectangularTrimmedSurface::Geom_RectangularTrimmedSurface ( { Handle(Geom_RectangularTrimmedSurface) S2 = new Geom_RectangularTrimmedSurface( O->BasisSurface(),Param1,Param2, UTrim, Sense); - basisSurf = new Geom_OffsetSurface(S2, O->Offset()); + basisSurf = new Geom_OffsetSurface(S2, O->Offset(), Standard_True); } SetTrim(Param1, Param2, UTrim, Sense); diff --git a/tests/bugs/modalg_7/bug31430 b/tests/bugs/modalg_7/bug31430 new file mode 100644 index 0000000000..0a1c7e22e4 --- /dev/null +++ b/tests/bugs/modalg_7/bug31430 @@ -0,0 +1,10 @@ +puts "========" +puts "0031430: Modeling Data - Offset surfaces on C1 surfaces (with multiplicity equal to degree) may still throw ex-ception" +puts "========" +puts "" + +restore [locate_data_file bug31430.brep] s +fixshape r s + +checkshape r +checknbshapes r -vertex 6 -edge 8 -wire 6 -face 4 -shell 1 -solid 1