|
||||
File indexing completed on 2025-01-18 10:03:42
0001 // Created on: 1996-03-05 0002 // Created by: Joelle CHAUVET 0003 // Copyright (c) 1996-1999 Matra Datavision 0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS 0005 // 0006 // This file is part of Open CASCADE Technology software library. 0007 // 0008 // This library is free software; you can redistribute it and/or modify it under 0009 // the terms of the GNU Lesser General Public License version 2.1 as published 0010 // by the Free Software Foundation, with special exception defined in the file 0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 0012 // distribution for complete text of the license and disclaimer of any warranty. 0013 // 0014 // Alternatively, this file may be used under the terms of Open CASCADE 0015 // commercial license or contractual agreement. 0016 0017 #ifndef _GeomPlate_MakeApprox_HeaderFile 0018 #define _GeomPlate_MakeApprox_HeaderFile 0019 0020 #include <Standard.hxx> 0021 #include <Standard_DefineAlloc.hxx> 0022 #include <Standard_Handle.hxx> 0023 0024 #include <Standard_Integer.hxx> 0025 #include <GeomAbs_Shape.hxx> 0026 class GeomPlate_Surface; 0027 class Geom_BSplineSurface; 0028 class AdvApp2Var_Criterion; 0029 0030 0031 0032 //! Allows you to convert a GeomPlate surface into a BSpline. 0033 class GeomPlate_MakeApprox 0034 { 0035 public: 0036 0037 DEFINE_STANDARD_ALLOC 0038 0039 0040 //! Converts SurfPlate into a Geom_BSplineSurface with 0041 //! n Bezier pieces (n<=Nbmax) of degree <= dgmax 0042 //! and an approximation error < Tol3d if possible 0043 //! the criterion CritPlate is satisfied if possible 0044 Standard_EXPORT GeomPlate_MakeApprox(const Handle(GeomPlate_Surface)& SurfPlate, const AdvApp2Var_Criterion& PlateCrit, const Standard_Real Tol3d, const Standard_Integer Nbmax, const Standard_Integer dgmax, const GeomAbs_Shape Continuity = GeomAbs_C1, const Standard_Real EnlargeCoeff = 1.1); 0045 0046 //! Converts SurfPlate into a Geom_BSplineSurface with 0047 //! n Bezier pieces (n<=Nbmax) of degree <= dgmax 0048 //! and an approximation error < Tol3d if possible 0049 //! if CritOrder = -1 , no criterion is used 0050 //! if CritOrder = 0 , a PlateG0Criterion is used with max value > 10*dmax 0051 //! if CritOrder = 1 , a PlateG1Criterion is used with max value > 10*dmax 0052 //! WARNING : for CritOrder = 0 or 1, only the constraints points of SurfPlate 0053 //! are used to evaluate the value of the criterion 0054 Standard_EXPORT GeomPlate_MakeApprox(const Handle(GeomPlate_Surface)& SurfPlate, const Standard_Real Tol3d, const Standard_Integer Nbmax, const Standard_Integer dgmax, const Standard_Real dmax, const Standard_Integer CritOrder = 0, const GeomAbs_Shape Continuity = GeomAbs_C1, const Standard_Real EnlargeCoeff = 1.1); 0055 0056 //! Returns the BSpline surface extracted from the 0057 //! GeomPlate_MakeApprox object. 0058 Standard_EXPORT Handle(Geom_BSplineSurface) Surface() const; 0059 0060 //! Returns the error in computation of the approximation 0061 //! surface. This is the distance between the entire target 0062 //! BSpline surface and the entire original surface 0063 //! generated by BuildPlateSurface and converted by GeomPlate_Surface. 0064 Standard_EXPORT Standard_Real ApproxError() const; 0065 0066 //! Returns the criterion error in computation of the 0067 //! approximation surface. This is estimated relative to the 0068 //! curve and point constraints only. 0069 Standard_EXPORT Standard_Real CriterionError() const; 0070 0071 0072 0073 0074 protected: 0075 0076 0077 0078 0079 0080 private: 0081 0082 0083 0084 Handle(GeomPlate_Surface) myPlate; 0085 Handle(Geom_BSplineSurface) mySurface; 0086 Standard_Real myAppError; 0087 Standard_Real myCritError; 0088 0089 0090 }; 0091 0092 0093 0094 0095 0096 0097 0098 #endif // _GeomPlate_MakeApprox_HeaderFile
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |