Warning, /include/opencascade/math_BracketMinimum.lxx is written in an unsupported language. File is not indexed.
0001 // Copyright (c) 1997-1999 Matra Datavision
0002 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0003 //
0004 // This file is part of Open CASCADE Technology software library.
0005 //
0006 // This library is free software; you can redistribute it and/or modify it under
0007 // the terms of the GNU Lesser General Public License version 2.1 as published
0008 // by the Free Software Foundation, with special exception defined in the file
0009 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0010 // distribution for complete text of the license and disclaimer of any warranty.
0011 //
0012 // Alternatively, this file may be used under the terms of Open CASCADE
0013 // commercial license or contractual agreement.
0014
0015 // math_BracketMinimum.lxx
0016
0017 #include <Precision.hxx>
0018
0019 inline math_BracketMinimum::math_BracketMinimum(const Standard_Real A,
0020 const Standard_Real B)
0021 : Done(Standard_False),
0022 Ax(A), Bx(B), Cx(0.),
0023 FAx(0.), FBx(0.), FCx(0.),
0024 myLeft(-Precision::Infinite()),
0025 myRight(Precision::Infinite()),
0026 myIsLimited(Standard_False),
0027 myFA(Standard_False),
0028 myFB(Standard_False)
0029 {
0030 }
0031
0032 inline Standard_Boolean math_BracketMinimum::IsDone() const { return Done; }
0033
0034 inline Standard_OStream& operator<<(Standard_OStream& o,
0035 const math_BracketMinimum& Br)
0036 {
0037 Br.Dump(o);
0038 return o;
0039 }
0040
0041 inline void math_BracketMinimum::SetLimits(const Standard_Real theLeft,
0042 const Standard_Real theRight)
0043 {
0044 myLeft = theLeft;
0045 myRight = theRight;
0046 myIsLimited = Standard_True;
0047 }
0048
0049 inline void math_BracketMinimum::SetFA(const Standard_Real theValue)
0050 {
0051 FAx = theValue;
0052 myFA = Standard_True;
0053 }
0054
0055 inline void math_BracketMinimum::SetFB(const Standard_Real theValue)
0056 {
0057 FBx = theValue;
0058 myFB = Standard_True;
0059 }
0060
0061 inline Standard_Real math_BracketMinimum::Limited(const Standard_Real theValue) const
0062 {
0063 return theValue < myLeft ? myLeft :
0064 theValue > myRight ? myRight : theValue;
0065 }