From: Roman Lygin Date: Thu, 23 May 2013 10:52:21 +0000 (+0400) Subject: 239343: OCC fails to work with offset surfaces with singularities X-Git-Tag: V6_7_0_beta~265 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=c15398ab70fd53a459686c29bdbd62c1083ed9d6;p=occt-copy.git 239343: OCC fails to work with offset surfaces with singularities Add test cases for this fix --- diff --git a/src/Geom/Geom_OsculatingSurface.cxx b/src/Geom/Geom_OsculatingSurface.cxx index 5cc6f50a32..a358db9d3b 100755 --- a/src/Geom/Geom_OsculatingSurface.cxx +++ b/src/Geom/Geom_OsculatingSurface.cxx @@ -62,7 +62,7 @@ void Geom_OsculatingSurface::Init(const Handle(Geom_Surface)& BS, { ClearOsculFlags(); myTol=Tol; - Standard_Real TolMin=1.e-12; + Standard_Real TolMin=0.;//consider all singularities below Tol, not just above 1.e-12 (id23943) Standard_Boolean OsculSurf = Standard_True; myBasisSurf = Handle(Geom_Surface)::DownCast(BS->Copy()); myOsculSurf1 = new Geom_HSequenceOfBSplineSurface(); @@ -78,7 +78,7 @@ void Geom_OsculatingSurface::Init(const Handle(Geom_Surface)& BS, myAlong.SetValue(2,IsQPunctual(BS,V2,GeomAbs_IsoV,TolMin,Tol)); myAlong.SetValue(3,IsQPunctual(BS,U1,GeomAbs_IsoU,TolMin,Tol)); myAlong.SetValue(4,IsQPunctual(BS,U2,GeomAbs_IsoU,TolMin,Tol)); -#ifdef DEB +#if defined(DEB) && defined(OCCT_DEVELOPMENT) cout<UDegree()<VDegree()<VDegree(); if( (IsAlongU() && vdeg <=1) || (IsAlongV() && udeg <=1)) { -#ifdef DEB +#if defined(DEB) && defined(OCCT_DEVELOPMENT) cout<<" surface osculatrice nulle "<>>>>>>>>>> AlongU"<>>>>>>>>>> AlongV"<