0024708: Convertation of the generic classes to the non-generic. Part 2
[occt.git] / src / IntPatch / IntPatch.cdl
1 -- Created on: 1992-05-06
2 -- Created by: Jacques GOUSSARD
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 package IntPatch 
18
19         ---Purpose: Intersection between two patches.
20         --          The class PatchIntersection implements the algorithmes
21         --          of intersection.
22         --          The classes IntPoint, PointOnDomain, Line, ILin, a.s.o...
23         --          describe the results of the algorithmes.
24
25         ---Level: Internal
26         --
27         -- All the methods of the classes of this package are Internal.
28         --
29
30 uses Standard, MMgt, StdFail, GeomAbs, TopAbs, TCollection, TColStd, math, 
31      gp, TColgp, IntAna,IntSurf, IntImp, IntStart, IntWalk, Bnd, Intf,  
32      Adaptor2d,Adaptor3d, Geom2d, Geom, Precision
33
34 is
35
36     class ALineToWLine;
37
38     class Point;
39
40     deferred class Line;
41     
42         class GLine;      -- inherits Line from IntPatch
43
44         class ALine;      -- inherits Line from IntPatch
45     
46         class WLine;      -- inherits Line from IntPatch
47     
48         class RLine;      -- inherits Line from IntPatch
49
50     class ArcFunction;
51         
52         class InterferencePolyhedron;
53     ---Purpose: Compute the  interference  between two polyhedron.  Points
54     --          of intersection ,  polylines  of intersection and zones of
55     --          tangence.
56
57 -- implicite/implicite
58
59     class ImpImpIntersection;
60         
61         class CSFunction; -- inherits FunctionSetWithDerivatives
62
63
64 -- commun implicite/parametree et parametree/parametree
65
66     deferred class Polygo;
67       
68         class PolyLine;    -- inherits Polygo from IntPatch
69
70         class PolyArc;     -- inherits Polygo from IntPatch
71
72     class RstInt;
73
74
75 -- implicite/parametre
76
77     class ImpPrmIntersection;
78
79
80 -- parametre/parametre
81
82     class Polyhedron;
83
84     class PolyhedronTool;
85     
86     class PrmPrmIntersection_T3Bits;
87
88     class PrmPrmIntersection;
89
90
91 -- algorithme general
92
93     enumeration IType is
94     -- type of the line of intersection
95
96         Lin,       -- pour conflit avec deferred class Line
97         Circle,
98         Ellipse,
99         Parabola,
100         Hyperbola,
101         Analytic,
102         Walking,
103         Restriction
104     end IType;
105
106     class HInterTool;
107
108     class HCurve2dTool;
109
110     class LineConstructor;
111
112     class Intersection;
113
114
115     class SequenceOfPoint instantiates Sequence from TCollection (Point from IntPatch);
116
117     class SequenceOfLine instantiates Sequence from TCollection (Line from IntPatch);
118
119     class TheSurfFunction instantiates ZerImpFunc from IntImp
120         (HSurface     from Adaptor3d,
121          HSurfaceTool from Adaptor3d,
122          Quadric      from IntSurf,
123          QuadricTool  from IntSurf);
124
125     class TheIWalking instantiates IWalking from IntWalk
126         (PathPoint               from IntSurf, 
127          PathPointTool           from IntSurf,
128          SequenceOfPathPoint     from IntSurf,
129          InteriorPoint           from IntSurf,
130          InteriorPointTool       from IntSurf,
131          SequenceOfInteriorPoint from IntSurf,
132          HSurface                from Adaptor3d,
133          HSurfaceTool            from Adaptor3d,
134          TheSurfFunction         from IntPatch);
135
136     class TheSearchInside instantiates SearchInside from IntStart
137         (HSurface        from Adaptor3d,
138          HSurfaceTool    from Adaptor3d,
139          TopolTool       from Adaptor3d,
140          HInterTool      from IntPatch,
141          TheSurfFunction from IntPatch);
142
143     class TheSOnBounds instantiates SearchOnBoundaries from IntStart(
144          HVertex from Adaptor3d,
145          HCurve2d from Adaptor2d,
146          HCurve2dTool from IntPatch,
147          HInterTool from IntPatch,
148          TopolTool from Adaptor3d,
149          ArcFunction from IntPatch);
150
151     alias SearchPnt is InterferencePolygon2d from Intf;
152
153
154     class CurvIntSurf instantiates IntCS from IntImp
155         (HSurface from Adaptor3d,
156          HSurfaceTool from Adaptor3d,
157          HCurve2d from Adaptor2d,
158          HCurve2dTool from IntPatch,
159          CSFunction from IntPatch);
160
161 end IntPatch;