1 // Created on: 1994-04-05 2 // Created by: Yves FRICAUD 3 // Copyright (c) 1994-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 _Bisector_FunctionInter_HeaderFile 18 #define _Bisector_FunctionInter_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_DefineAlloc.hxx> 22 #include <Standard_Handle.hxx> 23 24 #include <math_FunctionWithDerivative.hxx> 25 #include <Standard_Boolean.hxx> 26 #include <Standard_Real.hxx> 27 class Geom2d_Curve; 28 class Bisector_Curve; 29 30 31 //! 2 2 32 //! F(u) = (PC(u) - PBis1(u)) + (PC(u) - PBis2(u)) 33 class Bisector_FunctionInter : public math_FunctionWithDerivative 34 { 35 public: 36 37 DEFINE_STANDARD_ALLOC 38 39 40 Standard_EXPORT Bisector_FunctionInter(); 41 42 Standard_EXPORT Bisector_FunctionInter(const Handle(Geom2d_Curve)& C, const Handle(Bisector_Curve)& Bis1, const Handle(Bisector_Curve)& Bis2); 43 44 Standard_EXPORT void Perform (const Handle(Geom2d_Curve)& C, const Handle(Bisector_Curve)& Bis1, const Handle(Bisector_Curve)& Bis2); 45 46 //! Computes the values of the Functions for the variable <X>. 47 Standard_EXPORT Standard_Boolean Value (const Standard_Real X, Standard_Real& F); 48 49 Standard_EXPORT Standard_Boolean Derivative (const Standard_Real X, Standard_Real& D); 50 51 //! Returns the values of the functions and the derivatives 52 //! for the variable <X>. 53 Standard_EXPORT Standard_Boolean Values (const Standard_Real X, Standard_Real& F, Standard_Real& D); 54 55 56 57 58 protected: 59 60 61 62 63 64 private: 65 66 67 68 Handle(Geom2d_Curve) curve; 69 Handle(Bisector_Curve) bisector1; 70 Handle(Bisector_Curve) bisector2; 71 72 73 }; 74 75 76 77 78 79 80 81 #endif // _Bisector_FunctionInter_HeaderFile 82