0024428: Implementation of LGPL license
[occt.git] / src / ApproxInt / ApproxInt_ImpPrmSvSurfaces.cdl
1 -- Created on: 1993-03-17
2 -- Created by: Laurent BUCHARD
3 -- Copyright (c) 1993-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
9 -- under the terms of the GNU Lesser General Public 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 ImpPrmSvSurfaces from ApproxInt (
18     ThePSurface         as any;
19     ThePSurfaceTool     as any;
20     TheISurface         as any;
21     TheISurfaceTool     as any;     -- as ISurfaceTool from IntImp
22     TheLine             as Transient)
23
24 inherits SvSurfaces from ApproxInt
25
26 uses 
27     Pnt     from gp,
28     Pnt2d   from gp,
29     Vec     from gp,
30     Vec2d   from gp
31
32     class TheZerImpFunc instantiates ZerImpFunc from IntImp(
33         ThePSurface,ThePSurfaceTool,TheISurface,TheISurfaceTool);
34
35 is 
36     Create(Surf1: ThePSurface;  Surf2: TheISurface);
37
38     Create(Surf1: TheISurface;  Surf2: ThePSurface);
39        
40     Compute(me: in out; 
41             u1,v1,u2,v2: in out Real from Standard;
42             Pt: out Pnt from gp;
43             Tg: out Vec from gp;
44             Tguv1,Tguv2: out Vec2d from gp)
45             ---Purpose: returns True if Tg,Tguv1 Tguv2 can be computed.
46        returns Boolean from Standard    is static;
47
48     Pnt(me: in out;
49         u1,v1,u2,v2: in Real from Standard;
50         P: out Pnt from gp) is static;
51     Tangency(me: in out;
52              u1,v1,u2,v2: in Real from Standard;
53              Tg: out Vec from gp)
54        returns Boolean from Standard is static;
55
56     TangencyOnSurf1(me: in out;
57                     u1,v1,u2,v2: in Real from Standard;
58                     Tg: out Vec2d from gp)
59        returns Boolean from Standard is static;
60
61     TangencyOnSurf2(me: in out;
62                     u1,v1,u2,v2: in Real from Standard;
63                     Tg: out Vec2d from gp)
64        returns Boolean from Standard is static;   
65     
66 fields
67
68     MyParOnS1            : Pnt2d        from gp;
69     MyParOnS2            : Pnt2d        from gp;
70     MyPnt                : Pnt          from gp;
71     MyTguv1              : Vec2d        from gp;
72     MyTguv2              : Vec2d        from gp;
73     MyTg                 : Vec          from gp;
74     MyIsTangent          : Boolean      from Standard;
75     MyHasBeenComputed    : Boolean      from Standard;
76     
77     
78     
79     MyParOnS1bis            : Pnt2d        from gp;
80     MyParOnS2bis            : Pnt2d        from gp;
81     MyPntbis                : Pnt          from gp;
82     MyTguv1bis              : Vec2d        from gp;
83     MyTguv2bis              : Vec2d        from gp;
84     MyTgbis                 : Vec          from gp;
85     MyIsTangentbis          : Boolean      from Standard;
86     MyHasBeenComputedbis    : Boolean      from Standard;
87     
88     
89     MyImplicitFirst      : Boolean      from Standard;
90     MyZerImpFunc         : TheZerImpFunc from ApproxInt;
91
92 end ImpPrmSvSurfaces;
93
94
95