1 // Created on: 1996-04-09 2 // Created by: Joelle CHAUVET 3 // Copyright (c) 1996-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 _AdvApp2Var_Iso_HeaderFile 18 #define _AdvApp2Var_Iso_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_DefineAlloc.hxx> 22 #include <Standard_Handle.hxx> 23 24 #include <GeomAbs_IsoType.hxx> 25 #include <Standard_Real.hxx> 26 #include <Standard_Integer.hxx> 27 #include <Standard_Boolean.hxx> 28 #include <TColStd_HArray1OfReal.hxx> 29 #include <TColStd_HArray2OfReal.hxx> 30 #include <AdvApp2Var_EvaluatorFunc2Var.hxx> 31 class AdvApp2Var_Context; 32 class AdvApp2Var_Node; 33 34 35 36 //! used to store constraints on a line U = Ui or V = Vj 37 class AdvApp2Var_Iso 38 { 39 public: 40 41 DEFINE_STANDARD_ALLOC 42 43 44 Standard_EXPORT AdvApp2Var_Iso(); 45 46 Standard_EXPORT AdvApp2Var_Iso(const GeomAbs_IsoType type, const Standard_Integer iu, const Standard_Integer iv); 47 48 Standard_EXPORT AdvApp2Var_Iso(const GeomAbs_IsoType type, const Standard_Real cte, const Standard_Real Ufirst, const Standard_Real Ulast, const Standard_Real Vfirst, const Standard_Real Vlast, const Standard_Integer pos, const Standard_Integer iu, const Standard_Integer iv); 49 50 Standard_EXPORT Standard_Boolean IsApproximated() const; 51 52 Standard_EXPORT Standard_Boolean HasResult() const; 53 54 Standard_EXPORT void MakeApprox (const AdvApp2Var_Context& Conditions, const Standard_Real a, const Standard_Real b, const Standard_Real c, const Standard_Real d, const AdvApp2Var_EvaluatorFunc2Var& func, AdvApp2Var_Node& NodeBegin, AdvApp2Var_Node& NodeEnd); 55 56 Standard_EXPORT void ChangeDomain (const Standard_Real a, const Standard_Real b); 57 58 Standard_EXPORT void ChangeDomain (const Standard_Real a, const Standard_Real b, const Standard_Real c, const Standard_Real d); 59 60 Standard_EXPORT void SetConstante (const Standard_Real newcte); 61 62 Standard_EXPORT void SetPosition (const Standard_Integer newpos); 63 64 Standard_EXPORT void ResetApprox(); 65 66 Standard_EXPORT void OverwriteApprox(); 67 68 Standard_EXPORT GeomAbs_IsoType Type() const; 69 70 Standard_EXPORT Standard_Real Constante() const; 71 72 Standard_EXPORT Standard_Real T0() const; 73 74 Standard_EXPORT Standard_Real T1() const; 75 76 Standard_EXPORT Standard_Real U0() const; 77 78 Standard_EXPORT Standard_Real U1() const; 79 80 Standard_EXPORT Standard_Real V0() const; 81 82 Standard_EXPORT Standard_Real V1() const; 83 84 Standard_EXPORT Standard_Integer UOrder() const; 85 86 Standard_EXPORT Standard_Integer VOrder() const; 87 88 Standard_EXPORT Standard_Integer Position() const; 89 90 Standard_EXPORT Standard_Integer NbCoeff() const; 91 92 Standard_EXPORT const Handle(TColStd_HArray1OfReal)& Polynom() const; 93 94 Standard_EXPORT Handle(TColStd_HArray1OfReal) SomTab() const; 95 96 Standard_EXPORT Handle(TColStd_HArray1OfReal) DifTab() const; 97 98 Standard_EXPORT Handle(TColStd_HArray2OfReal) MaxErrors() const; 99 100 Standard_EXPORT Handle(TColStd_HArray2OfReal) MoyErrors() const; 101 102 103 104 105 protected: 106 107 108 109 110 111 private: 112 113 114 Standard_EXPORT AdvApp2Var_Iso(const AdvApp2Var_Iso& Other); 115 116 117 GeomAbs_IsoType myType; 118 Standard_Real myConstPar; 119 Standard_Real myU0; 120 Standard_Real myU1; 121 Standard_Real myV0; 122 Standard_Real myV1; 123 Standard_Integer myPosition; 124 Standard_Integer myExtremOrder; 125 Standard_Integer myDerivOrder; 126 Standard_Integer myNbCoeff; 127 Standard_Boolean myApprIsDone; 128 Standard_Boolean myHasResult; 129 Handle(TColStd_HArray1OfReal) myEquation; 130 Handle(TColStd_HArray2OfReal) myMaxErrors; 131 Handle(TColStd_HArray2OfReal) myMoyErrors; 132 Handle(TColStd_HArray1OfReal) mySomTab; 133 Handle(TColStd_HArray1OfReal) myDifTab; 134 135 136 }; 137 138 139 140 141 142 143 144 #endif // _AdvApp2Var_Iso_HeaderFile 145