// Created by: Laurent BUCHARD // 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 "gp_Pnt.hxx" #include "gp_Vec.hxx" #include "gp_Pln.hxx" #include "gp_Cylinder.hxx" #include "gp_Cone.hxx" #include "gp_Torus.hxx" #include "gp_Sphere.hxx" #include "gp_Ax1.hxx" #include "gp_Dir.hxx" #include "Geom_BezierSurface.hxx" #include "Geom_BSplineSurface.hxx" #include "Adaptor3d_Surface.hxx" #include "Adaptor3d_Curve.hxx" #include "BRepAdaptor_Surface.hxx" inline Standard_Real HLRBRep_SurfaceTool::FirstUParameter(const Standard_Address Surf) { return ((BRepAdaptor_Surface*)Surf)->FirstUParameter(); } inline Standard_Real HLRBRep_SurfaceTool::FirstVParameter(const Standard_Address Surf) { return ((BRepAdaptor_Surface*)Surf)->FirstVParameter(); } inline Standard_Real HLRBRep_SurfaceTool::LastUParameter(const Standard_Address Surf) { return ((BRepAdaptor_Surface*)Surf)->LastUParameter(); } inline Standard_Real HLRBRep_SurfaceTool::LastVParameter(const Standard_Address Surf) { return ((BRepAdaptor_Surface*)Surf)->LastVParameter(); } inline Standard_Integer HLRBRep_SurfaceTool::NbUIntervals(const Standard_Address Surf, const GeomAbs_Shape S) { return ((BRepAdaptor_Surface*)Surf)->NbUIntervals(S); } inline Standard_Integer HLRBRep_SurfaceTool::NbVIntervals(const Standard_Address Surf, const GeomAbs_Shape S) { return ((BRepAdaptor_Surface*)Surf)->NbVIntervals(S); } inline void HLRBRep_SurfaceTool::UIntervals(const Standard_Address Surf, TColStd_Array1OfReal& Tab, const GeomAbs_Shape S) { ((BRepAdaptor_Surface*)Surf)->UIntervals(Tab, S); } inline void HLRBRep_SurfaceTool::VIntervals(const Standard_Address Surf, TColStd_Array1OfReal& Tab, const GeomAbs_Shape S) { ((BRepAdaptor_Surface*)Surf)->VIntervals(Tab, S); } inline Handle(Adaptor3d_Surface) HLRBRep_SurfaceTool::UTrim(const Standard_Address Surf, const Standard_Real F, const Standard_Real L, const Standard_Real Tol) { return ((BRepAdaptor_Surface*)Surf)->UTrim(F, L, Tol); } inline Handle(Adaptor3d_Surface) HLRBRep_SurfaceTool::VTrim(const Standard_Address Surf, const Standard_Real F, const Standard_Real L, const Standard_Real Tol) { return ((BRepAdaptor_Surface*)Surf)->VTrim(F, L, Tol); } inline Standard_Boolean HLRBRep_SurfaceTool::IsUClosed(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->IsUClosed(); } inline Standard_Boolean HLRBRep_SurfaceTool::IsVClosed(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->IsVClosed(); } inline Standard_Boolean HLRBRep_SurfaceTool::IsUPeriodic(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->IsUPeriodic(); } inline Standard_Real HLRBRep_SurfaceTool::UPeriod(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->UPeriod(); } inline Standard_Boolean HLRBRep_SurfaceTool::IsVPeriodic(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->IsVPeriodic(); } inline Standard_Real HLRBRep_SurfaceTool::VPeriod(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->VPeriod(); } inline gp_Pnt HLRBRep_SurfaceTool::Value(const Standard_Address S, const Standard_Real U, const Standard_Real V) { return ((BRepAdaptor_Surface*)S)->Value(U, V); } inline void HLRBRep_SurfaceTool::D0(const Standard_Address S, const Standard_Real U, const Standard_Real V, gp_Pnt& P) { ((BRepAdaptor_Surface*)S)->D0(U, V, P); } inline void HLRBRep_SurfaceTool::D1(const Standard_Address S, const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V) { ((BRepAdaptor_Surface*)S)->D1(U, V, P, D1U, D1V); } inline void HLRBRep_SurfaceTool::D2(const Standard_Address S, const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV) { ((BRepAdaptor_Surface*)S)->D2(U, V, P, D1U, D1V, D2U, D2V, D2UV); } inline void HLRBRep_SurfaceTool::D3(const Standard_Address S, const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV, gp_Vec& D3U, gp_Vec& D3V, gp_Vec& D3UUV, gp_Vec& D3UVV) { ((BRepAdaptor_Surface*)S)->D3(U, V, P, D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV); } inline gp_Vec HLRBRep_SurfaceTool::DN(const Standard_Address S, const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) { return ((BRepAdaptor_Surface*)S)->DN(U, V, Nu, Nv); } inline Standard_Real HLRBRep_SurfaceTool::UResolution(const Standard_Address S, const Standard_Real R3d) { return ((BRepAdaptor_Surface*)S)->UResolution(R3d); } inline Standard_Real HLRBRep_SurfaceTool::VResolution(const Standard_Address S, const Standard_Real R3d) { return ((BRepAdaptor_Surface*)S)->VResolution(R3d); } inline GeomAbs_SurfaceType HLRBRep_SurfaceTool::GetType(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->GetType(); } inline gp_Pln HLRBRep_SurfaceTool::Plane(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->Plane(); } inline gp_Cylinder HLRBRep_SurfaceTool::Cylinder(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->Cylinder(); } inline gp_Cone HLRBRep_SurfaceTool::Cone(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->Cone(); } inline gp_Sphere HLRBRep_SurfaceTool::Sphere(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->Sphere(); } inline gp_Torus HLRBRep_SurfaceTool::Torus(const Standard_Address S) { return ((BRepAdaptor_Surface*)S)->Torus(); } inline Handle(Geom_BezierSurface) HLRBRep_SurfaceTool::Bezier(const Standard_Address S) { return (((BRepAdaptor_Surface*)S)->Bezier()); } inline Handle(Geom_BSplineSurface) HLRBRep_SurfaceTool::BSpline(const Standard_Address S) { return (((BRepAdaptor_Surface*)S)->BSpline()); } inline gp_Ax1 HLRBRep_SurfaceTool::AxeOfRevolution(const Standard_Address S) { return (((BRepAdaptor_Surface*)S)->AxeOfRevolution()); } inline gp_Dir HLRBRep_SurfaceTool::Direction(const Standard_Address S) { return (((BRepAdaptor_Surface*)S)->Direction()); } inline Handle(Adaptor3d_Curve) HLRBRep_SurfaceTool::BasisCurve(const Standard_Address S) { return (((BRepAdaptor_Surface*)S)->BasisCurve()); } inline Handle(Adaptor3d_Surface) HLRBRep_SurfaceTool::BasisSurface(const Standard_Address S) { return (((BRepAdaptor_Surface*)S)->BasisSurface()); } inline Standard_Real HLRBRep_SurfaceTool::OffsetValue(const Standard_Address S) { return (((BRepAdaptor_Surface*)S)->OffsetValue()); }