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