X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff_plain;f=src%2FBRepLib%2FBRepLib_MakeFace.cxx;h=2e9f8cbcb062cf150fc0b5a69dee54f765b77ce6;hp=0366b2164e02a55b8135dc3f02986e464a625fff;hb=9d109e39c283fb29655a4f88756dc697d11f6af7;hpb=166d6cd76aa63858a10bab0cfeaf3300bbdd8a4f diff --git a/src/BRepLib/BRepLib_MakeFace.cxx b/src/BRepLib/BRepLib_MakeFace.cxx index 0366b2164e..2e9f8cbcb0 100755 --- a/src/BRepLib/BRepLib_MakeFace.cxx +++ b/src/BRepLib/BRepLib_MakeFace.cxx @@ -508,24 +508,23 @@ void BRepLib_MakeFace::Init(const Handle(Geom_Surface)& SS, Standard_Real umin,umax,vmin,vmax,T; - Handle(Geom_Surface) S = SS; + Handle(Geom_Surface) S = SS, BS = SS; Handle(Geom_RectangularTrimmedSurface) RS = Handle(Geom_RectangularTrimmedSurface)::DownCast(S); if (!RS.IsNull()) - S = RS->BasisSurface(); - + BS = RS->BasisSurface(); Standard_Boolean OffsetSurface = - (S->DynamicType() == STANDARD_TYPE(Geom_OffsetSurface)); - + (BS->DynamicType() == STANDARD_TYPE(Geom_OffsetSurface)); + // adjust periodical surface or reordonate // check if the values are in the natural range Standard_Real epsilon = Precision::PConfusion(); - S->Bounds(umin,umax,vmin,vmax); + BS->Bounds(umin,umax,vmin,vmax); if (OffsetSurface) { - Handle(Geom_OffsetSurface) OS = Handle(Geom_OffsetSurface)::DownCast(S); + Handle(Geom_OffsetSurface) OS = Handle(Geom_OffsetSurface)::DownCast(BS); Handle(Geom_Surface) Base = OS->BasisSurface(); if (Base->DynamicType() == STANDARD_TYPE(Geom_SurfaceOfLinearExtrusion)) {