0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / IntTools / IntTools.cdl
1 -- Created on: 2000-05-18
2 -- Created by: Peter KURNEV
3 -- Copyright (c) 2000-2014 OPEN CASCADE SAS
4 --
5 -- This file is part of Open CASCADE Technology software library.
6 --
7 -- This library is free software; you can redistribute it and/or modify it under
8 -- the terms of the GNU Lesser General Public License version 2.1 as published
9 -- by the Free Software Foundation, with special exception defined in the file
10 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 -- distribution for complete text of the license and disclaimer of any warranty.
12 --
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
15
16 package IntTools
17
18  ---Purpose: Contains classes for intersection and classification
19  ---         purposes and accompanying classes
20 uses
21     
22     TCollection, 
23     TopoDS, 
24     TopAbs, 
25     TColStd, 
26     BRepAdaptor, 
27     BRepTopAdaptor,
28     TopTools, 
29     math,
30     gp, 
31     Bnd,
32     Adaptor3d,
33     GeomAdaptor,
34     Geom,
35     Geom2d,
36     GeomInt,  
37     GeomAbs,
38     GeomAPI,
39     Extrema,
40     IntPatch, 
41     IntSurf, 
42     BRepClass3d, 
43     TColgp, 
44     MMgt, 
45     Geom2dHatch, 
46     
47     BOPCol
48
49 is
50     class Context; 
51     class ShrunkRange; 
52     --
53     class Range;         
54     class CommonPrt; 
55     class Root; 
56
57     class  EdgeEdge;
58
59     class  EdgeFace;
60
61     class  FClass2d;
62
63     --class  LineConstructor;
64
65     -----
66     class MarkedRangeSet;
67
68     class BaseRangeSample;
69
70     class CurveRangeSample;
71
72     class SurfaceRangeSample;
73
74     class CurveRangeLocalizeData;
75
76     class SurfaceRangeLocalizeData;
77
78     class BeanFaceIntersector;
79
80
81     class  Curve;
82
83     class  PntOnFace;
84     class  PntOn2Faces; 
85       
86     class  TopolTool;
87
88     class  FaceFace;
89
90     class  Tools; 
91
92     generic class CArray1;   
93     ---
94     ---                 I  n  s  t  a  n  t  i  a  t  i  o  n  s  
95     ---   
96     imported SequenceOfPntOn2Faces; 
97     --
98     imported SequenceOfCurves; 
99  
100     
101     imported SequenceOfRanges; 
102
103     class  CArray1OfInteger  instantiates  
104      CArray1(Integer from Standard); 
105   
106     class  CArray1OfReal  instantiates  
107      CArray1(Real from Standard); 
108   
109     imported SequenceOfRoots; 
110   
111     imported Array1OfRoots;  
112      
113     imported Array1OfRange; 
114   
115     imported SequenceOfCommonPrts;                          
116          
117     imported IndexedDataMapOfTransientAddress;  
118     
119
120     imported ListOfCurveRangeSample;
121     
122
123     imported ListIteratorOfListOfCurveRangeSample;
124
125     imported ListOfSurfaceRangeSample;
126
127     imported ListIteratorOfListOfSurfaceRangeSample;
128
129     imported ListOfBox;
130
131     imported ListIteratorOfListOfBox;
132  
133     class CurveRangeSampleMapHasher;
134
135     class SurfaceRangeSampleMapHasher;
136     
137     imported MapOfCurveSample;
138     
139     imported MapIteratorOfMapOfCurveSample;
140         
141     imported MapOfSurfaceSample;
142         
143     imported MapIteratorOfMapOfSurfaceSample;
144     
145     imported DataMapOfCurveSampleBox;
146     
147     imported DataMapIteratorOfDataMapOfCurveSampleBox;
148
149     imported DataMapOfSurfaceSampleBox;
150
151     imported DataMapIteratorOfDataMapOfSurfaceSampleBox;
152     -----------------------------------------------------
153     --  Block  of  static  functions  
154     -----------------------------------------------------  
155     Length  (E : Edge from TopoDS) 
156      returns  Real  from  Standard; 
157     ---Purpose:  returns the length of the edge;  
158
159     RemoveIdenticalRoots  (aSeq  :out SequenceOfRoots from IntTools; 
160                   anEpsT:    Real from Standard); 
161     ---Purpose: Remove from  the  sequence aSeq the Roots  that  have  
162     --          values ti and tj such as  |ti-tj]  <  anEpsT.     
163
164     SortRoots (aSeq  :out SequenceOfRoots from IntTools; 
165             anEpsT:    Real from Standard);  
166     ---Purpose: Sort the sequence aSeq of the Roots to arrange the 
167     --          Roons  in  increasing  order  
168     
169     FindRootStates  (aSeq  :out SequenceOfRoots from IntTools; 
170                      anEpsNull:    Real from Standard);
171     ---Purpose: Find the states (before  and  after) for  each  Root  
172     --          from  the sequence aSeq 
173      
174     Parameter (P          : Pnt   from gp; 
175                 Curve      : Curve from Geom; 
176                 aParm      : out Real  from  Standard) 
177         returns  Integer from Standard;          
178  
179     GetRadius(C:  Curve  from  BRepAdaptor; 
180            t1,t3:Real  from  Standard; 
181             R:out Real  from  Standard) 
182         returns  Integer from Standard;    
183   
184
185     PrepareArgs(C:  in out Curve  from  BRepAdaptor;  
186                 tMax,tMin:  Real  from  Standard; 
187                 Discret  :  Integer from Standard;    
188                 Deflect  :  Real  from  Standard;  
189                 anArgs   :  out  CArray1OfReal  from IntTools) 
190         returns  Integer from Standard; 
191
192 end IntTools; 
193
194
195