0023948: Wrong intersection between a surface of revolution and a plane.
[occt.git] / src / IntImpParGen / IntImpParGen_ImpParTool.cdl
1 -- Created on: 1992-03-30
2 -- Created by: Laurent BUCHARD
3 -- Copyright (c) 1992-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 generic class ImpParTool from IntImpParGen (
18         ImpTool      as any; -- as ImpTool from IntImpParGen
19         ParCurve     as any;
20         ParTool      as any)
21
22 inherits FunctionWithDerivative from math
23
24         ---Purpose: Implements the function  used by FunctionAllRoots
25         --          to find  the areas where  the distance between the
26         --          implicit and the parametric curves  is less than a
27         --          tolerance.
28
29
30 uses    Pnt2d           from gp,
31         Vec2d           from gp
32         
33 is
34
35     Create(IT: ImpTool; PC: ParCurve)
36
37         ---Purpose: Constructor of the class.
38     
39         returns ImpParTool from IntImpParGen;
40         
41         
42     Value(me: in out; Param: Real from Standard; F: out Real from Standard)
43     
44         ---Purpose: Computes the value of the signed distance between
45         --          the implicit curve and the point at parameter Param
46         --          on the parametrised curve.
47
48         returns Boolean from Standard
49         is redefined static;
50         
51         
52     Derivative(me: in out; Param: Real from Standard; 
53                D: out Real from Standard)
54                
55         ---Purpose: Computes the derivative of the previous function at
56         --          parameter Param.
57
58         returns Boolean from Standard
59         is redefined static;
60         
61         
62     Values(me: in out; Param: Real from Standard; F,D: out Real from Standard)
63     
64         ---Purpose: Computes the value and the derivative of the function.
65
66         returns Boolean from Standard
67         is redefined static;
68
69 fields 
70
71     TheParCurve     : Address from Standard;
72     TheImpTool      : ImpTool;
73                   
74 end ImpParTool;
75