From fb99177766f64223da023f688467b3ff7e6f69fb Mon Sep 17 00:00:00 2001 From: Roman Lygin Date: Sat, 14 Mar 2020 13:49:17 +0300 Subject: [PATCH] 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. --- src/Geom/Geom_RectangularTrimmedSurface.cxx | 4 ++-- tests/bugs/modalg_7/bug31430 | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 tests/bugs/modalg_7/bug31430 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 -- 2.39.5