0024624: Lost word in license statement in source files
[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            ---Purpose: Compute a topological surface ( a  shell) using
80            --          generating wires. The face of the shell will be
81            --          ruled surfaces through the wires.
82            --          The wires must have the same number of edges.
83        
84     deferred class SectionLaw; 
85         class ShapeLaw; 
86         class NSections; 
87           
88     class  Draft;
89      
90     deferred  class LocationLaw;  
91         class DraftLaw;
92         class Edge3DLaw; 
93         class EdgeOnSurfLaw;
94         class ACRLaw; 
95
96     class Pipe;
97           ---Purpose: Computes  a   topological  shape  using  a  wire
98           --          (spine) and a shape (profile).
99     class PipeShell; 
100           ---Purpose: Computes a topological shell using some wires --
101           --          (spines and profiles) and diplacement option
102           
103
104     class Evolved;
105           ---Purpose: Computes  an evolved  volum using  a  generating
106           --          wire and a profile.
107
108     class Sweep; 
109           ---Purpose: Computes an  Sweep  shell using a  generating
110           --          wire, an SectionLaw and an LocationLaw.
111
112  
113     class CompatibleWires;
114         ---Purpose: Computes Wires with good orientation and origin in order
115           --        to generate a shell not twisted.
116
117
118     class OffsetWire;
119         ---Purpose: Computes the offset of a Wire or the Wires contained
120         --          in a Face.
121         --          The Wire or the Face must be planar.
122
123     class OffsetAncestors;
124
125
126     class ListOfOffsetWire instantiates 
127         List from TCollection (OffsetWire from BRepFill);
128     private class ApproxSeewing;
129
130     private class MultiLine;
131    
132     private class MultiLineTool;
133     
134     private class ComputeCLine instantiates 
135         ComputeCLine from Approx ( MultiLine, MultiLineTool);
136         
137
138     private class TrimSurfaceTool;
139           ---Purpose: Compute the Pcurves and  the 3d curves resulting
140           --          of the trimming of a face by an extruded surface.
141
142     private class TrimEdgeTool;
143           ---Purpose: Geometric Tool using to construct Offset Wires.
144      
145     private class  SectionPlacement;  
146      
147     private class  Section;  
148
149     --class  TrimCorner;
150
151 --modified by NIZHNY-MKK  Tue Oct 21 17:43:15 2003
152     class TrimShellCorner;
153                              
154     private  class  SequenceOfSection  instantiates   
155         Sequence  from TCollection (Section); 
156         
157     class DataMapOfNodeDataMapOfShapeShape instantiates 
158         DataMap from TCollection (Node                from MAT,
159                                   DataMapOfShapeShape from TopTools,
160                                   MapTransientHasher  from TColStd );
161    
162     class DataMapOfNodeShape instantiates 
163         DataMap from TCollection (Node                from MAT,
164                                   Shape               from TopoDS,
165                                   MapTransientHasher  from TColStd );
166                                   
167     class DataMapOfShapeDataMapOfShapeListOfShape instantiates
168         DataMap from TCollection (Shape                      from TopoDS,
169                                   DataMapOfShapeListOfShape  from TopTools,
170                                   ShapeMapHasher             from TopTools ); 
171                                   
172     class DataMapOfShapeSequenceOfReal  instantiates
173                 DataMap from TCollection (Shape          from TopoDS,
174                                           SequenceOfReal from TColStd,
175                                           ShapeMapHasher from TopTools );
176
177     class DataMapOfShapeSequenceOfPnt   instantiates
178                 DataMap from TCollection (Shape          from TopoDS,
179                                           SequenceOfPnt  from TColgp,
180                                           ShapeMapHasher from TopTools ); 
181
182     class DataMapOfOrientedShapeListOfShape instantiates
183             DataMap from TCollection (Shape                  from TopoDS,
184                                       ListOfShape            from TopTools,  
185                                       OrientedShapeMapHasher from TopTools); 
186
187     class IndexedDataMapOfOrientedShapeListOfShape instantiates
188             IndexedDataMap from TCollection (Shape                  from TopoDS,
189                                              ListOfShape            from TopTools,  
190                                              OrientedShapeMapHasher from TopTools); 
191
192     class DataMapOfShapeHArray2OfShape  instantiates
193                 DataMap from TCollection (Shape          from TopoDS,
194                                           HArray2OfShape from TopTools,
195                                           ShapeMapHasher from TopTools); 
196
197
198     class CurveConstraint ;
199         ---Purpose: same as CurveConstraint from GeomPlate
200         --          with BRepAdaptor_Surface instead of 
201         --          GeomAdaptor_Surface 
202         -- inherits CurveConstraint  from  GeomPlate         
203                                       
204     class Filling; 
205         ---Purpose: N-Side Filling
206         --  This algorithm avoids to build a face from:
207         --  * a set of edges defining the bounds of the face and some
208         --    constraints the surface of the face has to satisfy
209         --  * a set of edges and points defining some constraints
210         --    the support surface has to satisfy
211         --  * an initial surface to deform for satisfying the constraints
212         --  * a set of parameters to control the constraints.   
213     
214     private class FaceAndOrder;
215     
216     private class EdgeFaceAndOrder;
217     
218     private class SequenceOfFaceAndOrder instantiates
219         Sequence from TCollection (FaceAndOrder from BRepFill);
220     
221     private class SequenceOfEdgeFaceAndOrder instantiates
222         Sequence from TCollection (EdgeFaceAndOrder from BRepFill);
223                                       
224     Face( Edge1 : Edge from TopoDS;
225           Edge2 : Edge from TopoDS )
226           ---Purpose: Computes a ruled surface between two edges.
227     returns Face from TopoDS;
228
229     Shell( Wire1 : Wire from TopoDS;
230            Wire2 : Wire from TopoDS )
231            ---Purpose: Computes a ruled surface between two wires.
232            --          The wires must have the same number of edges.
233     returns Shell from TopoDS;    
234     
235     Axe (Spine       :        Shape   from TopoDS; 
236          Profile     :        Wire    from TopoDS; 
237          AxeProf     : in out Ax3     from  gp;
238          ProfOnSpine : in out Boolean from Standard;
239          Tol         :        Real    from Standard);
240            ---Purpose: Computes  <AxeProf>  as Follow. <Location> is 
241            --          the Position of the nearest vertex V  of <Profile>
242            --          to <Spine>.<XDirection> is confused with the tangent
243            --          to <Spine> at the projected point of V on the Spine.
244            --          <Direction> is normal to <Spine>.
245            --          <Spine> is a plane wire or a plane face.
246
247            --          <ProfOnSpine> is <False> if the distance
248            --          between <Profile> and <Spine> is high to <Tol>.
249            
250       
251     SearchOrigin( W : in out Wire from TopoDS; 
252                   P : Pnt  from  gp; 
253                   V : Vec  from  gp; 
254                   Tol  :  Real)  is  private;
255            ---Purpose: Computes origins and orientation on a closed wire
256           
257            
258     ComputeACR( wire : Wire from TopoDS; 
259                 ACR  : out  Array1OfReal from TColStd );
260            ---Purpose:  Compute ACR on a  wire
261            
262     InsertACR( wire     : Wire from TopoDS; 
263                ACRcuts  : Array1OfReal from TColStd; 
264                prec     : Real  from  Standard )
265            ---Purpose:  Insert ACR on a  wire
266     returns Wire from TopoDS;              
267            
268
269 end BRepFill;
270
271
272
273
274
275
276