0024510: Remove unused local variables
[occt.git] / src / IntCurve / IntCurve_IntPolyPolyGen.cdl
1 -- Created on: 1992-10-19
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
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 IntPolyPolyGen from IntCurve (
18     TheCurve       as any;
19     TheCurveTool   as any; -- as CurveTool from IntCurve (TheCurve)
20     TheProjPCur    as any) -- as ProjPCurGen from IntCurve
21     
22 inherits Intersection from IntRes2d
23
24
25
26     ---Level: Internal
27
28 uses Domain       from IntRes2d  
29
30
31     class ThePolygon2d instantiates Polygon2dGen from IntCurve
32                                    (TheCurve,
33                                     TheCurveTool);
34                                     
35     class TheDistBetweenPCurves instantiates DistBetweenPCurvesGen
36                                    (TheCurve,
37                                     TheCurveTool);
38
39     class  ExactIntersectionPoint 
40
41         uses  Vector        from  math , 
42               ThePolygon2d  from  IntCurve  
43         is  
44             Create  ( C1  :  TheCurve; 
45                       C2  :  TheCurve;  
46                       Tol :   Real  from  Standard ) 
47                 returns  ExactIntersectionPoint from  IntCurve    ; 
48             
49             Perform ( me: in out ;
50                       Poly1       :  ThePolygon2d  from  IntCurve  ; 
51                       Poly2       :  ThePolygon2d  from  IntCurve  ;  
52                       NumSegOn1   :  out  Integer  from  Standard  ; 
53                       NumSegOn2   :  out  Integer  from  Standard  ; 
54                       ParamOnSeg1 :  out  Real     from  Standard  ; 
55                       ParamOnSeg2 :  out  Real     from  Standard );
56
57             Perform (  me: in out ;
58                        Uo  :  Real  from  Standard  ; 
59                        Vo  :  Real  from  Standard  ; 
60                        UInf  :  Real  from  Standard  ; 
61                        VInf  :  Real  from  Standard  ;  
62                        USup  :  Real  from  Standard  ;   
63                        VSup  :  Real  from  Standard  );
64                        
65             NbRoots  ( me )  
66                 returns  Integer  from  Standard  ;
67
68             Roots  (  me  : in out ; 
69                       U   : out  Real from  Standard  ; 
70                       V   : out  Real from  Standard  ) ;
71         
72             MathPerform  ( me : in out )  is  private ; 
73             
74             AnErrorOccurred  (  me  ) 
75                 returns  Boolean                from  Standard  ;
76                 
77             fields 
78              
79                 done             :  Boolean                from  Standard  ; 
80                 nbroots          :  Integer                from  Standard  ;  
81                 myTol            :  Real                   from  Standard  ;  
82                 FctDist          :  TheDistBetweenPCurves  from  IntCurve  ; 
83                 ToleranceVector  :  Vector                 from  math  ; 
84                 BInfVector       :  Vector                 from  math  ;  
85                 BSupVector       :  Vector                 from  math  ; 
86                 StartingPoint    :  Vector                 from  math  ;  
87                 Root             :  Vector                 from  math  ;  
88                 anErrorOccurred  :  Boolean                from  Standard  ;
89              end ExactIntersectionPoint from  IntCurve;         
90
91
92 is
93
94     Create  
95         returns IntPolyPolyGen from IntCurve;
96     
97     
98     Perform(me: in out;
99            Curve1 :    TheCurve;
100            Domain1:    Domain      from IntRes2d;
101            Curve2 :    TheCurve;
102            Domain2:    Domain      from IntRes2d;
103            TolConf:    Real        from Standard;
104            Tol    :    Real        from Standard)
105            
106            is static; 
107
108     Perform(me: in out;
109            Curve1 :    TheCurve;
110            Domain1:    Domain      from IntRes2d;
111            TolConf:    Real        from Standard;
112            Tol    :    Real        from Standard)
113            
114            is static; 
115
116
117     Perform(me: in out;
118            Curve1 :    TheCurve;
119            Domain1:    Domain      from IntRes2d;
120            Curve2 :    TheCurve;
121            Domain2:    Domain      from IntRes2d;
122            TolConf:    Real        from Standard;
123            Tol    :    Real        from Standard;
124            NbIter :    Integer     from Standard;
125            DeltaU :    Real        from Standard;
126            DeltaV :    Real        from Standard)
127            
128            is static protected;    
129
130
131     Perform(me: in out;
132            Curve1 :    TheCurve;
133            Domain1:    Domain      from IntRes2d;
134            TolConf:    Real        from Standard;
135            Tol    :    Real        from Standard;
136            NbIter :    Integer     from Standard;
137            DeltaU :    Real        from Standard;
138            DeltaV :    Real        from Standard)
139            
140            is static protected; 
141            
142        findIntersect( me: in out ;
143            Curve1 :    TheCurve;
144            Domain1:    Domain      from IntRes2d;
145            Curve2 :    TheCurve;
146            Domain2:    Domain      from IntRes2d;
147                    TolConf:    Real        from Standard;
148                Tol    :    Real        from Standard;
149            NbIter :    Integer     from Standard;
150            DeltaU :    Real        from Standard;
151            DeltaV :    Real        from Standard;
152           thePoly1 :  ThePolygon2d  from  IntCurve; 
153               thePoly2 :  ThePolygon2d  from  IntCurve;
154               isFullRepresentation : Boolean from Standard)
155               returns Boolean is private;  
156               ---Purpose : Method to find intersection between two curves
157               --         :  returns false for case when some points of polygon
158               --         : were replaced on line and exact point of intersection was not found
159               --         : for case when point of intersection was found
160               --         : during prelimanary search for line (case of bad paramerization of Bspline for example). 
161     
162 fields    
163
164      DomainOnCurve1 : Domain from IntRes2d;      
165      DomainOnCurve2 : Domain from IntRes2d;      
166           
167 end IntPolyPolyGen;
168
169
170
171
172