0024708: Convertation of the generic classes to the non-generic. Part 2
[occt.git] / src / IntCurveSurface / IntCurveSurface.cdl
1 -- Created on: 1993-04-07
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 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 IntCurveSurface
18
19     ---Purpose: This package provides algorithmes to intersect a Curve 
20     --          and a Surface. 
21     --  Level: Internal
22     --
23     -- All the methods of the classes of this package are Internal.
24     -- except the methods of the classes <Intersection,
25     --                                    IntersectionPoint,
26     --                                    IntersectionSegment>
27     --
28      
29
30 uses Standard, TCollection, TColStd, TColgp, gp, 
31      Bnd, Intf, IntAna,
32      IntImp, IntSurf, 
33      GeomAbs, StdFail ,
34      Adaptor3d, Geom,
35      math
36
37 is    
38
39     --------------------------------------------------
40     enumeration TransitionOnCurve is
41         Tangent,In,Out;
42     ---Purpose:
43     --     
44     --     
45     --                    
46     --         \ Uo     ^        \ U1     ^
47     --          \       | n       \       | n
48     -- Surf  ====\======|===   ====\======|=== 
49     --            \                 \
50     --             \                 \
51     --          U1  \              Uo \
52     -- 
53     --        
54     --           ( In )            ( Out ) 
55     --
56     --     
57     --     
58     --       \           /
59     --        \         /
60     --         \       /
61     --          \     /
62     -- Surf =====-----=====
63     --                             
64     --       ( Tangent ) 
65     --    Crb and Surf are  C1 
66     --------------------------------------------------
67     deferred class Intersection;
68     --------------------------------------------------    
69     class IntersectionPoint;  
70     --------------------------------------------------    
71     class IntersectionSegment;
72     --------------------------------------------------
73     class SequenceOfPnt instantiates 
74         Sequence from TCollection(
75             IntersectionPoint from IntCurveSurface);
76     --------------------------------------------------      
77     class SequenceOfSeg instantiates 
78         Sequence from TCollection(
79             IntersectionSegment from IntCurveSurface);
80     --------------------------------------------------    
81     generic class HCurveTool;
82     --------------------------------------------------
83     generic class Polygon;
84     --------------------------------------------------
85     generic class Polyhedron;
86     --------------------------------------------------
87     generic class PolygonTool;
88     --------------------------------------------------
89     generic class PolyhedronTool;
90     --------------------------------------------------    
91     generic class QuadricCurveFunc;
92     --------------------------------------------------   
93     generic class QuadricCurveExactInter,
94                   TheQuadCurvFunc;
95     --------------------------------------------------
96     generic class Inter, 
97                   ThePolygon,
98                   ThePolygonTool,
99                   ThePolyhedron,
100                   ThePolyhedronTool,
101                   TheInterference,
102                   TheCSFunction,
103                   TheExactInter,
104                   TheQuadCurvExactInter;
105         
106     -------------------------------------------------   
107     
108     --class HCurveTool instantiates 
109     --  CurveTool from IntCurveSurface
110     --        (HCurve     from Adaptor3d); 
111
112     --class HInter instantiates 
113     --    Inter from IntCurveSurface (
114     --        HCurve        from Adaptor3d, 
115     --        HCurveTool    from IntCurveSurface,
116     --        HSurface      from Adaptor3d, 
117     --        HSurfaceTool  from IntCurveSurface);
118
119
120     class TheHCurveTool instantiates 
121         HCurveTool from IntCurveSurface (
122             HCurve from Adaptor3d);
123
124     class HInter instantiates 
125         Inter from IntCurveSurface (
126             HCurve        from Adaptor3d,
127             TheHCurveTool from IntCurveSurface,
128             HSurface      from Adaptor3d,
129             HSurfaceTool  from Adaptor3d);
130
131 end IntCurveSurface;