summaryrefslogtreecommitdiff
path: root/src/IntImpParGen/IntImpParGen_ImpParTool.cdl
blob: 3e25df8eca9f53cc41162ce701010ddf0fe93f17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
-- File:	ImpParTool.cdl
-- Created:	Mon Mar 30 18:19:14 1992
-- Author:	Laurent BUCHARD
--		<lbr@topsn3>
---Copyright:	 Matra Datavision 1992


generic class ImpParTool from IntImpParGen (
        ImpTool      as any; -- as ImpTool from IntImpParGen
	ParCurve     as any;
	ParTool      as any) -- as ParTool from IntImpParGen(ParCurve) 

inherits FunctionWithDerivative from math

        ---Purpose: Implements the function  used by FunctionAllRoots
        --          to find  the areas where  the distance between the
        --          implicit and the parametric curves  is less than a
        --          tolerance.


uses	Pnt2d           from gp,
	Vec2d           from gp
     	
is

    Create(IT: ImpTool; PC: ParCurve)

	---Purpose: Constructor of the class.
    
    	returns ImpParTool from IntImpParGen;
	
	
    Value(me: in out; Param: Real from Standard; F: out Real from Standard)
    
	---Purpose: Computes the value of the signed distance between
	--          the implicit curve and the point at parameter Param
	--          on the parametrised curve.

    	returns Boolean from Standard
    	is redefined static;
	
	
    Derivative(me: in out; Param: Real from Standard; 
               D: out Real from Standard)
	       
    	---Purpose: Computes the derivative of the previous function at
    	--          parameter Param.

    	returns Boolean from Standard
	is redefined static;
	
	
    Values(me: in out; Param: Real from Standard; F,D: out Real from Standard)
    
    	---Purpose: Computes the value and the derivative of the function.

    	returns Boolean from Standard
    	is redefined static;

fields 

    TheParCurve     : Address from Standard;
    TheImpTool      : ImpTool;
		  
end ImpParTool;