1a28b6030ec03d008abe44d2b9da7666f44eec3f
[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 SurfaceTool;
84     --------------------------------------------------    
85     generic class Polygon;
86     --------------------------------------------------
87     generic class Polyhedron;
88     --------------------------------------------------
89     generic class PolygonTool;
90     --------------------------------------------------
91     generic class PolyhedronTool;
92     --------------------------------------------------    
93     generic class QuadricCurveFunc;
94     --------------------------------------------------   
95     generic class QuadricCurveExactInter,
96                   TheQuadCurvFunc;
97     --------------------------------------------------
98     generic class Inter, 
99                   ThePolygon,
100                   ThePolygonTool,
101                   ThePolyhedron,
102                   ThePolyhedronTool,
103                   TheInterference,
104                   TheCSFunction,
105                   TheExactInter,
106                   TheQuadCurvExactInter;
107         
108     -------------------------------------------------   
109     
110     --class HCurveTool instantiates 
111     --  CurveTool from IntCurveSurface
112     --        (HCurve     from Adaptor3d); 
113
114     --class HInter instantiates 
115     --    Inter from IntCurveSurface (
116     --        HCurve        from Adaptor3d, 
117     --        HCurveTool    from IntCurveSurface,
118     --        HSurface      from Adaptor3d, 
119     --        HSurfaceTool  from IntCurveSurface);
120
121
122     class TheHCurveTool instantiates 
123         HCurveTool from IntCurveSurface (
124             HCurve from Adaptor3d);
125
126     class HInter instantiates 
127         Inter from IntCurveSurface (
128             HCurve        from Adaptor3d,
129             TheHCurveTool from IntCurveSurface,
130             HSurface      from Adaptor3d,
131             HSurfaceTool  from Adaptor3d);
132
133 end IntCurveSurface;