// Created on: 1993-05-18 // Created by: Bruno DUMORTIER // Copyright (c) 1993-1999 Matra Datavision // Copyright (c) 1999-2014 OPEN CASCADE SAS // // This file is part of Open CASCADE Technology software library. // // This library is free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License version 2.1 as published // by the Free Software Foundation, with special exception defined in the file // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT // distribution for complete text of the license and disclaimer of any warranty. // // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. #include #include #include //======================================================================= //function : GeomAdaptor_Surface //purpose : //======================================================================= inline GeomAdaptor_Surface::GeomAdaptor_Surface() : myUFirst(0.), myULast(0.), myVFirst(0.), myVLast (0.), myTolU(0.), myTolV(0.), mySurfaceType(GeomAbs_OtherSurface) { } //======================================================================= //function : GeomAdaptor_Surface //purpose : //======================================================================= inline GeomAdaptor_Surface::GeomAdaptor_Surface(const Handle(Geom_Surface)& S) : myTolU(0.), myTolV(0.) { Load(S); } //======================================================================= //function : GeomAdaptor_Surface //purpose : //======================================================================= inline GeomAdaptor_Surface::GeomAdaptor_Surface(const Handle(Geom_Surface)& S, const Standard_Real UFirst, const Standard_Real ULast, const Standard_Real VFirst, const Standard_Real VLast, const Standard_Real TolU, const Standard_Real TolV) { Load(S,UFirst,ULast,VFirst,VLast,TolU,TolV); } //======================================================================= //function : Load //purpose : //======================================================================= inline void GeomAdaptor_Surface::Load(const Handle(Geom_Surface)& S) { if ( S.IsNull()) throw Standard_NullObject("GeomAdaptor_Surface::Load"); Standard_Real U1,U2,V1,V2; S->Bounds(U1,U2,V1,V2); load(S,U1,U2,V1,V2); } //======================================================================= //function : Load //purpose : //======================================================================= inline void GeomAdaptor_Surface::Load(const Handle(Geom_Surface)& S, const Standard_Real UFirst, const Standard_Real ULast, const Standard_Real VFirst, const Standard_Real VLast, const Standard_Real TolU, const Standard_Real TolV) { if ( S.IsNull()) throw Standard_NullObject("GeomAdaptor_Surface::Load"); if(UFirst>ULast || VFirst>VLast) throw Standard_ConstructionError("GeomAdaptor_Surface::Load"); load(S,UFirst,ULast,VFirst,VLast,TolU,TolV); } //======================================================================= //function : Surface //purpose : //======================================================================= inline const Handle(Geom_Surface)& GeomAdaptor_Surface::Surface() const { return mySurface; } //======================================================================= //function : FirstUParameter //purpose : //======================================================================= inline Standard_Real GeomAdaptor_Surface::FirstUParameter() const { return myUFirst; } //======================================================================= //function : LastUParameter //purpose : //======================================================================= inline Standard_Real GeomAdaptor_Surface::LastUParameter() const { return myULast; } //======================================================================= //function : FirstVParameter //purpose : //======================================================================= inline Standard_Real GeomAdaptor_Surface::FirstVParameter() const { return myVFirst; } //======================================================================= //function : LastVParameter //purpose : //======================================================================= inline Standard_Real GeomAdaptor_Surface::LastVParameter() const { return myVLast; } //======================================================================= //function : GetType //purpose : //======================================================================= inline GeomAbs_SurfaceType GeomAdaptor_Surface::GetType() const { return mySurfaceType; }