1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-07-15 12:35:51 +03:00
occt/src/IntTools/IntTools_Root.cdl
bugmaster b311480ed5 0023024: Update headers of OCCT files
Added appropriate copyright and license information in source files
2012-03-21 19:43:04 +04:00

150 lines
4.5 KiB
Plaintext
Executable File

-- Created on: 2000-05-22
-- Created by: Peter KURNEV
-- Copyright (c) 2000-2012 OPEN CASCADE SAS
--
-- The content of this file is subject to the Open CASCADE Technology Public
-- License Version 6.5 (the "License"). You may not use the content of this file
-- except in compliance with the License. Please obtain a copy of the License
-- at http://www.opencascade.org and read it completely before using this file.
--
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
--
-- The Original Code and all software distributed under the License is
-- distributed on an "AS IS" basis, without warranty of any kind, and the
-- Initial Developer hereby disclaims all such warranties, including without
-- limitation, any warranties of merchantability, fitness for a particular
-- purpose or non-infringement. Please see the License for the specific terms
-- and conditions governing the rights and limitations under the License.
class Root from IntTools
---Purpose: The class is to describe the root of
-- function of one variable for Edge/Edge
-- and Edge/Surface algorithms.
uses
State from TopAbs
---raises
is
Create
returns Root from IntTools ;
---Purpose:
--- Empty constructor
---
Create(aRoot: Real from Standard;
aType: Integer from Standard)
returns Root from IntTools ;
---Purpose:
--- Initializes my by range of parameters
--- and type of root
---
SetRoot (me:out; aRoot: Real from Standard);
---Purpose:
--- Sets the Root's value
---
SetType (me:out; aType: Integer from Standard);
---Purpose:
--- Sets the Root's Type
---
SetStateBefore (me:out; aState: State from TopAbs);
---Purpose:
--- Set the value of the state before the root
--- (at t=Root-dt)
---
SetStateAfter (me:out; aState: State from TopAbs);
---Purpose:
--- Set the value of the state after the root
--- (at t=Root-dt)
---
SetLayerHeight (me:out; aHeight:Real from Standard);
---Purpose:
--- Not used in Edge/Edge algorithm
---
SetInterval (me:out; t1, t2, f1, f2:Real from Standard);
---Purpose:
--- Sets the interval from which the Root was
--- found [t1,t2] and the corresponding values
--- of the function on the bounds f(t1), f(t2).
---
Root (me)
returns Real from Standard;
---Purpose:
--- Returns the Root value
---
Type (me)
returns Integer from Standard;
---Purpose:
--- Returns the type of the root
--- =0 - Simple (was found by bisection method);
--- =2 - Smart when f1=0, f2!=0 or vice versa
--- (was found by Fibbonacci method);
--- =1 - Pure (pure zero for all t [t1,t2] );
StateBefore(me)
returns State from TopAbs;
---Purpose:
--- Returns the state before the root
---
StateAfter(me)
returns State from TopAbs;
---Purpose:
--- Returns the state after the root
---
LayerHeight (me)
returns Real from Standard;
---Purpose:
--- Not used in Edge/Edge algorithm
---
IsValid (me)
returns Boolean from Standard;
---Purpose:
--- Returns the validity flag for the root,
--- True if
--- myStateBefore==TopAbs_OUT && myStateAfter==TopAbs_IN or
--- myStateBefore==TopAbs_OUT && myStateAfter==TopAbs_ON or
--- myStateBefore==TopAbs_ON && myStateAfter==TopAbs_OUT or
--- myStateBefore==TopAbs_IN && myStateAfter==TopAbs_OUT .
--- For other cases it returns False.
---
Interval (me; t1:out Real from Standard;
t2:out Real from Standard;
f1:out Real from Standard;
f2:out Real from Standard);
---Purpose:
--- Returns the values of interval from which the Root was
--- found [t1,t2] and the corresponding values
--- of the function on the bounds f(t1), f(t2).
---
fields
myRoot: Real from Standard;
myType: Integer from Standard;
myLayerHeight: Real from Standard;
myStateBefore: State from TopAbs;
myStateAfter : State from TopAbs;
myt1: Real from Standard;
myt2: Real from Standard;
myf1: Real from Standard;
myf2: Real from Standard;
end Root;