mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-07-15 12:35:51 +03:00
150 lines
4.5 KiB
Plaintext
Executable File
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;
|