Integration of OCCT 6.5.0 from SVN
[occt.git] / src / BRepFill / BRepFill_Evolved.cdl
1 -- File:        BRepFill_Evolved.cdl
2 -- Created:     Mon Oct  3 14:28:26 1994
3 -- Author:      Bruno DUMORTIER
4 --              <dub@fuegox>
5 ---Copyright:    Matra Datavision 1994
6
7
8 class Evolved from BRepFill 
9
10         ---Purpose: Constructs a evolved volume from a spine (wire or face) 
11         --          and  a profile ( wire).
12
13 uses
14     Vertex      from TopoDS,
15     Edge        from TopoDS,
16     Face        from TopoDS,
17     Wire        from TopoDS,
18     Shape       from TopoDS,
19     Location    from TopLoc,
20     Ax3         from gp,
21     JoinType    from GeomAbs,
22     ListOfShape from TopTools,
23     DataMapOfShapeShape                     from TopTools,
24     DataMapOfShapeDataMapOfShapeListOfShape from BRepFill,  
25     BisectingLocus                          from BRepMAT2d, 
26     LinkTopoBilo                            from BRepMAT2d,
27     Quilt                                   from BRepTools
28     
29     
30 raises
31     ConstructionError from Standard,
32     NoSuchObject      from Standard
33     
34 is
35
36 ---Level: Public 
37
38     Create returns Evolved from BRepFill;
39
40     Create ( Spine   : Wire      from TopoDS; 
41              Profile : Wire      from TopoDS;
42              AxeProf : Ax3       from gp; 
43              Join    : JoinType  from GeomAbs  =  GeomAbs_Arc;
44              Solid   : Boolean   from Standard = Standard_False)
45     returns Evolved from BRepFill
46         ---Purpose: Creates an evolved shape by sweeping the <Profile>
47         --          along the  <Spine>.  <AxeProf> is  used to set the
48         --          position of <Profile> along  <Spine> as  follow: 
49         --          l <AxeProf> glisse  sur le profil  avec  sa
50         --          direction colineaire a la normale au <Spine>, et sa
51         --          <XDirection> confondue avec la tangente au <Spine>.
52         --          
53     raises
54         ConstructionError from Standard;
55     
56     Create ( Spine   : Face      from TopoDS; 
57              Profile : Wire      from TopoDS;
58              AxeProf : Ax3       from gp; 
59              Join    : JoinType  from GeomAbs  =  GeomAbs_Arc;
60              Solid   : Boolean   from Standard = Standard_False)
61     returns Evolved from BRepFill
62         ---Purpose: Creates an  evolved shape  by sweeping the <Profile>
63         --          along the <Spine>
64     raises
65         ConstructionError from Standard;
66     
67     Perform (me      : in out;   
68              Spine   : Wire      from TopoDS; 
69              Profile : Wire      from TopoDS;                
70              AxeProf : Ax3       from gp;  
71              Join    : JoinType  from GeomAbs  =  GeomAbs_Arc;
72              Solid   : Boolean   from Standard = Standard_False) 
73         ---Purpose: Performs an  evolved shape  by sweeping the <Profile>
74         --          along the <Spine>
75     raises
76         ConstructionError from Standard
77     is static;
78     
79     Perform (me : in out; 
80              Spine   : Face      from TopoDS; 
81              Profile : Wire      from TopoDS; 
82              AxeProf : Ax3       from gp;  
83              Join    : JoinType  from GeomAbs  =  GeomAbs_Arc;
84              Solid   : Boolean   from Standard = Standard_False) 
85         ---Purpose: Performs an  evolved shape  by sweeping the <Profile>
86         --          along the <Spine>
87     raises
88         ConstructionError from Standard
89     is static;
90     
91     
92     IsDone ( me) 
93     returns Boolean from Standard
94     is static;
95
96     Shape(me) returns Shape from TopoDS
97         ---Purpose: returns the generated shape.
98         ---C++ : return const &
99     is static;
100     
101     GeneratedShapes (me ;
102                      SpineShape : Shape from TopoDS;
103                      ProfShape  : Shape from TopoDS)
104         ---Purpose: Returns   the  shapes  created  from   a  subshape
105         --          <SpineShape>  of     the  spine   and   a subshape
106         --          <ProfShape> on the profile.
107         --      
108         ---C++ : return const &          
109     returns ListOfShape from TopTools
110     is static;                   
111     
112     JoinType (me) returns JoinType from GeomAbs
113     is static;
114
115
116     Top (me) returns Shape from TopoDS
117        ---Purpose: Return the face Top if <Solid> is True in the constructor.
118        ---C++ : return const &
119     is static;
120
121     Bottom (me) returns Shape from TopoDS
122        ---Purpose: Return the face Bottom  if <Solid> is True in the constructor.
123        ---C++ : return const &
124     is static;
125     
126     
127 ---Level: Internal 
128
129     PrivatePerform (me      : in out; 
130                     Spine   : Face      from TopoDS; 
131                     Profile : Wire      from TopoDS; 
132                     AxeProf : Ax3       from gp;  
133                     Join    : JoinType  from GeomAbs  = GeomAbs_Arc;
134                     Solid   : Boolean   from Standard = Standard_False) 
135     raises
136         ConstructionError from Standard
137     is static private;
138     
139     SetWork         (me : in out;
140                      Spine   : Face                    from TopoDS;
141                      Profile : Wire                    from TopoDS)
142     is static private;               
143     
144     ElementaryPerform ( me      : in out; 
145                         Spine   : Face                    from TopoDS;
146                         Profile : Wire                    from TopoDS;  
147                         Locus   : BisectingLocus          from BRepMAT2d; 
148                         Link    : in out LinkTopoBilo     from BRepMAT2d; 
149                         Join    : JoinType  from GeomAbs  =  GeomAbs_Arc)
150     raises
151         ConstructionError from Standard
152     is static private;  
153
154     PlanarPerform ( me      : in out; 
155                     Spine   : Face                    from TopoDS;
156                     Profile : Wire                    from TopoDS;  
157                     Locus   : BisectingLocus          from BRepMAT2d; 
158                     Link    : in out LinkTopoBilo     from BRepMAT2d; 
159                     Join    : JoinType  from GeomAbs  =  GeomAbs_Arc)
160     raises
161         ConstructionError from Standard
162     is static private;  
163
164     VerticalPerform ( me      : in out; 
165                       Spine   : Face                    from TopoDS;
166                       Profile : Wire                    from TopoDS;  
167                       Locus   : BisectingLocus          from BRepMAT2d; 
168                       Link    : in out LinkTopoBilo     from BRepMAT2d; 
169                       Join    : JoinType  from GeomAbs  =  GeomAbs_Arc)
170     raises
171         ConstructionError from Standard
172     is static private;  
173
174     Generated (me : in out )
175         ---C++: return &
176     returns DataMapOfShapeDataMapOfShapeListOfShape from BRepFill
177     is static private;
178     
179     Add ( me : in out; Vevo  : in out Evolved      from BRepFill;
180                        Prof  : Wire                from TopoDS;
181                        Glue  : in out Quilt        from BRepTools)
182     is static private;
183     
184     ChangeShape(me : in out) returns Shape from TopoDS
185         ---C++: return &
186     is static private;
187     
188     Transfert( me                  : in out;
189                Vevo                : in out Evolved      from BRepFill;   
190                MapProf             : DataMapOfShapeShape from TopTools; 
191                MapSpine            : DataMapOfShapeShape from TopTools;
192                LS, InitLS, InitLP  : Location            from TopLoc)   
193     is static private;    
194     
195     PrepareProfile ( me ; WorkProf : in out ListOfShape from TopTools;
196                           MapProf  : in out DataMapOfShapeShape from TopTools) 
197         ---Purpose: Prepare the profil as follow 
198         --          - Project the profile in the yOz Plane 
199         --          - Cut the profile at the extrema of distance from the 
200         --            Profile to the Oz Axis.
201         --          - building the new wires with the cutting edges.
202     is static private;
203     
204     PrepareSpine ( me ; WorkSpine : in out Face                from TopoDS ;
205                         SpineProf : in out DataMapOfShapeShape from TopTools)
206         ---Purpose: Prepare the spine as follow
207         --          - Cut the spine-Edges at the extrema of curvature and
208         --            at the inflexion points.
209     is static private;
210
211     MakePipe (me : in out; SpineEdge   : Edge from TopoDS ;
212                            ProfRef     : Ax3  from gp)
213     is static private;  
214     
215     MakeRevol(me : in out; SpineEdge   : Edge   from TopoDS;
216                            SpineVertex : Vertex from TopoDS;
217                            ProfRef     : Ax3    from gp)
218     is static private;                     
219     
220     FindLocation(me; Face : Face from TopoDS)
221     returns Location from TopLoc
222         ---Purpose: Find the location transforming the planar shape <Shape>
223         --          in the plane xOy
224     raises NoSuchObject from Standard
225         ---Purpose: if the Shape is not planar.
226     is static private;
227     
228     TransformInitWork(me : in out; LS , LP : Location from TopLoc)
229         ---Purpose: Apply the Location <LS> to <mySpine> and  <LP> to 
230         --          <myProfil> 
231         --          in order to set the Shapes in the work space.
232     is static private;
233     
234     ContinuityOnOffsetEdge (me : in out; WorkProf : ListOfShape from TopTools)
235     is static private;
236     
237     AddTopAndBottom (me : in out;Glue : in out Quilt from BRepTools)
238     is static private;
239
240     MakeSolid(me : in out)
241     is static private;
242     
243     
244 fields
245
246     mySpine     : Face      from TopoDS;
247     myProfile   : Wire      from TopoDS;
248     myShape     : Shape     from TopoDS;
249     myIsDone    : Boolean   from Standard;
250     mySpineType : Boolean   from Standard;  -- True : Face ; False : Wire
251     myJoinType  : JoinType  from GeomAbs;           
252     myMap       : DataMapOfShapeDataMapOfShapeListOfShape from BRepFill;  
253     myTop       : Shape     from TopoDS;
254     myBottom    : Shape     from TopoDS;
255     
256 end Evolved;