0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepFill / BRepFill.cdl
1 -- Created on: 1994-03-03
2 -- Created by: Joelle CHAUVET
3 -- Copyright (c) 1994-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 -- Modified:    Mon Nov  3 10:24:07 1997
18 --              new class CurveConstraint
19 -- Modified:    Mon Jan 12 10:46:37 1998
20 --              new method Organize
21 -- Modified:    Mon Feb 23 09:28:33 1998
22 --              new methods SameNumber, ComputeACR, InsertACR
23 --              for sections with different number of elements
24 -- Modified:    Thu Apr 30 15:27:04 1998
25 --              methods Organize and SameNumber are dispatched in
26 --              new methods SearchOrigin and SameNumberByACR for open wires
27 --              and SameNumberByPolarMethod and ComputeOrigin for closed wires
28 -- Modified:    Tue Nov  3 10:41:06 1998
29 --              add classe CompatibleWires
30
31
32 package BRepFill
33
34
35 uses
36     MMgt,
37     TCollection,
38     TColStd,
39     GeomAbs,
40     gp, 
41     Bnd,
42     TopLoc,
43     TColgp,
44     MAT,
45     Geom2d,
46     TColGeom2d,
47     TopAbs,
48     TopoDS,
49     TopTools,
50     Geom,
51     TColGeom,
52     Geom2dAdaptor,
53     Approx,
54     Bisector,
55     BRep,
56     BRepTools,
57     BRepAlgo,
58     BRepSweep,
59     GeomFill,
60     BRepMAT2d,
61     StdFail, 
62     GeomPlate, 
63     Adaptor3d, 
64     Law, 
65     GeomLProp
66
67 is
68     enumeration TransitionStyle 
69     is Modified, Right, Round end; 
70     
71     enumeration TypeOfContact
72     is NoContact, Contact, ContactOnBorder end;
73     
74 --    private class FilledPair;
75         ---Purpose: A pair of bound shapes with the result.
76
77     
78     class Generator;
79
80     deferred class SectionLaw; 
81         class ShapeLaw; 
82         class NSections; 
83           
84     class  Draft;
85      
86     deferred  class LocationLaw;  
87         class DraftLaw;
88         class Edge3DLaw; 
89         class EdgeOnSurfLaw;
90         class ACRLaw; 
91
92     class Pipe;
93
94     class PipeShell; 
95
96     class Evolved;
97
98     class Sweep; 
99
100     class CompatibleWires;
101
102     class OffsetWire;
103
104     class OffsetAncestors;
105
106
107     imported ListOfOffsetWire;
108
109
110     imported ListIteratorOfListOfOffsetWire;
111     private class ApproxSeewing;
112
113     imported MultiLine;
114     
115     private class ComputeCLine instantiates 
116         ComputeCLine from Approx (MultiLine);
117         
118
119     private class TrimSurfaceTool;
120
121     private class TrimEdgeTool;
122
123     private class  SectionPlacement;  
124      
125     private class  Section;  
126
127     --class  TrimCorner;
128
129 --modified by NIZHNY-MKK  Tue Oct 21 17:43:15 2003
130     class TrimShellCorner;
131                              
132     imported SequenceOfSection; 
133         
134     imported DataMapOfNodeDataMapOfShapeShape;
135         
136     imported DataMapIteratorOfDataMapOfNodeDataMapOfShapeShape;
137    
138     imported DataMapOfNodeShape;
139    
140     imported DataMapIteratorOfDataMapOfNodeShape;
141                                   
142     imported DataMapOfShapeDataMapOfShapeListOfShape;
143                                   
144     imported DataMapIteratorOfDataMapOfShapeDataMapOfShapeListOfShape; 
145                                   
146     imported DataMapOfShapeSequenceOfReal;
147                                   
148     imported DataMapIteratorOfDataMapOfShapeSequenceOfReal;
149
150     imported DataMapOfShapeSequenceOfPnt;
151
152     imported DataMapIteratorOfDataMapOfShapeSequenceOfPnt; 
153
154     imported DataMapOfOrientedShapeListOfShape;
155
156     imported DataMapIteratorOfDataMapOfOrientedShapeListOfShape; 
157
158     imported IndexedDataMapOfOrientedShapeListOfShape; 
159
160     imported DataMapOfShapeHArray2OfShape;
161
162     imported DataMapIteratorOfDataMapOfShapeHArray2OfShape; 
163
164
165     class CurveConstraint ;
166
167     class Filling; 
168
169     private class FaceAndOrder;
170     
171     private class EdgeFaceAndOrder;
172     
173     imported SequenceOfFaceAndOrder;
174     
175     imported SequenceOfEdgeFaceAndOrder;
176                                       
177     Face( Edge1 : Edge from TopoDS;
178           Edge2 : Edge from TopoDS )
179           ---Purpose: Computes a ruled surface between two edges.
180     returns Face from TopoDS;
181
182     Shell( Wire1 : Wire from TopoDS;
183            Wire2 : Wire from TopoDS )
184            ---Purpose: Computes a ruled surface between two wires.
185            --          The wires must have the same number of edges.
186     returns Shell from TopoDS;    
187     
188     Axe (Spine       :        Shape   from TopoDS; 
189          Profile     :        Wire    from TopoDS; 
190          AxeProf     : in out Ax3     from  gp;
191          ProfOnSpine : in out Boolean from Standard;
192          Tol         :        Real    from Standard);
193            ---Purpose: Computes  <AxeProf>  as Follow. <Location> is 
194            --          the Position of the nearest vertex V  of <Profile>
195            --          to <Spine>.<XDirection> is confused with the tangent
196            --          to <Spine> at the projected point of V on the Spine.
197            --          <Direction> is normal to <Spine>.
198            --          <Spine> is a plane wire or a plane face.
199
200            --          <ProfOnSpine> is <False> if the distance
201            --          between <Profile> and <Spine> is high to <Tol>.
202            
203       
204     SearchOrigin( W : in out Wire from TopoDS; 
205                   P : Pnt  from  gp; 
206                   V : Vec  from  gp; 
207                   Tol  :  Real)  is  private;
208            ---Purpose: Computes origins and orientation on a closed wire
209           
210            
211     ComputeACR( wire : Wire from TopoDS; 
212                 ACR  : out  Array1OfReal from TColStd );
213            ---Purpose:  Compute ACR on a  wire
214            
215     InsertACR( wire     : Wire from TopoDS; 
216                ACRcuts  : Array1OfReal from TColStd; 
217                prec     : Real  from  Standard )
218            ---Purpose:  Insert ACR on a  wire
219     returns Wire from TopoDS;              
220            
221
222 end BRepFill;
223
224
225
226
227
228
229