1 // Created on: 1992-03-26 2 // Created by: Herve LEGRAND 3 // Copyright (c) 1992-1999 Matra Datavision 4 // Copyright (c) 1999-2014 OPEN CASCADE SAS 5 // 6 // This file is part of Open CASCADE Technology software library. 7 // 8 // This library is free software; you can redistribute it and/or modify it under 9 // the terms of the GNU Lesser General Public License version 2.1 as published 10 // by the Free Software Foundation, with special exception defined in the file 11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 12 // distribution for complete text of the license and disclaimer of any warranty. 13 // 14 // Alternatively, this file may be used under the terms of Open CASCADE 15 // commercial license or contractual agreement. 16 17 #ifndef _GeomLProp_HeaderFile 18 #define _GeomLProp_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_DefineAlloc.hxx> 22 #include <Standard_Handle.hxx> 23 24 #include <GeomAbs_Shape.hxx> 25 #include <Standard_Real.hxx> 26 #include <Standard_Boolean.hxx> 27 class Geom_Curve; 28 class GeomLProp_CurveTool; 29 class GeomLProp_SurfaceTool; 30 class GeomLProp_CLProps; 31 class GeomLProp_SLProps; 32 33 34 //! These global functions compute the degree of 35 //! continuity of a 3D curve built by concatenation of two 36 //! other curves (or portions of curves) at their junction point. 37 class GeomLProp 38 { 39 public: 40 41 DEFINE_STANDARD_ALLOC 42 43 44 //! Computes the regularity at the junction between C1 and 45 //! C2. The booleans r1 and r2 are true if the curves must 46 //! be taken reversed. The point u1 on C1 and the point 47 //! u2 on C2 must be confused. 48 //! tl and ta are the linear and angular tolerance used two 49 //! compare the derivative. 50 Standard_EXPORT static GeomAbs_Shape Continuity (const Handle(Geom_Curve)& C1, const Handle(Geom_Curve)& C2, const Standard_Real u1, const Standard_Real u2, const Standard_Boolean r1, const Standard_Boolean r2, const Standard_Real tl, const Standard_Real ta); 51 52 //! The same as preciding but using the standard 53 //! tolerances from package Precision. 54 Standard_EXPORT static GeomAbs_Shape Continuity (const Handle(Geom_Curve)& C1, const Handle(Geom_Curve)& C2, const Standard_Real u1, const Standard_Real u2, const Standard_Boolean r1, const Standard_Boolean r2); 55 56 57 58 59 protected: 60 61 62 63 64 65 private: 66 67 68 69 70 friend class GeomLProp_CurveTool; 71 friend class GeomLProp_SurfaceTool; 72 friend class GeomLProp_CLProps; 73 friend class GeomLProp_SLProps; 74 75 }; 76 77 78 79 80 81 82 83 #endif // _GeomLProp_HeaderFile 84