0024428: Implementation of LGPL license
[occt.git] / src / BRepPrim / BRepPrim_Builder.cdl
1 -- Created on: 1992-03-12
2 -- Created by: Philippe DAUTRY
3 -- Copyright (c) 1992-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
9 -- under the terms of the GNU Lesser General Public 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 class Builder from BRepPrim 
18
19         ---Purpose: implements the abstract Builder with the BRep Builder
20
21 uses
22     Builder from BRep,
23         
24     Shell   from TopoDS,
25     Face    from TopoDS,
26     Wire    from TopoDS,
27     Edge    from TopoDS,
28     Vertex  from TopoDS,
29     
30     Pnt     from gp,
31     Lin     from gp,
32     Circ    from gp,
33     Pln     from gp,
34     
35     Lin2d   from gp,
36     Circ2d  from gp
37
38 is
39     Create returns Builder from BRepPrim;
40         ---Purpose: Creates an empty, useless  Builder. Necesseray for
41         --          compilation. 
42
43     Create(B : Builder from BRep) returns Builder from BRepPrim;
44         ---Purpose: Creates from a Builder.
45         
46     Builder(me) returns Builder from BRep
47         ---C++: inline
48         ---C++: return const &
49     is static;
50         
51         -- implements the Builder methods
52
53
54     MakeShell (me; S : out Shell from TopoDS)
55         ---Purpose: Make a empty Shell.
56     is static;
57     
58     MakeFace (me; F : out Face from TopoDS; P : Pln from gp)
59         ---Purpose: Returns in   <F> a  Face  built  with   the  plane
60         --          equation <P>. Used by all primitives.
61     is static;
62
63     MakeWire (me; W : out Wire from TopoDS)
64         ---Purpose: Returns in <W> an empty Wire.
65     is static;
66     
67     MakeDegeneratedEdge(me; E : out Edge from TopoDS)
68         ---Purpose: Returns in <E> a degenerated edge.
69     is static;
70     
71     MakeEdge (me; E : out Edge from TopoDS; L : Lin from gp)
72         ---Purpose: Returns   in <E>  an  Edge  built  with  the  line
73         --          equation  <L>.
74     is static;
75
76     MakeEdge (me; E : out Edge from TopoDS; C : Circ from gp)
77         ---Purpose: Returns  in <E>   an  Edge  built  with the circle
78         --          equation  <C>.
79     is static;
80     
81     SetPCurve(me; E : in out Edge from TopoDS; F : in Face from TopoDS; 
82                   L : Lin2d from gp)
83         ---Purpose: Sets the line <L> to be the curve representing the
84         --          edge <E> in the parametric space of the surface of
85         --          <F>.
86     is static;
87     
88     SetPCurve(me; E : in out Edge from TopoDS; F : in Face from TopoDS; 
89                   L1,L2 : Lin2d from gp)
90         ---Purpose: Sets the    lines  <L1,L2>  to   be     the curves
91         --          representing the edge <E>  in the parametric space
92         --          of the closed surface of <F>.
93     is static;
94     
95     SetPCurve(me; E : in out Edge from TopoDS; F : in Face from TopoDS; 
96                   C : Circ2d from gp)
97         ---Purpose: Sets the  circle <C> to  be the curve representing
98         --          the  edge <E>  in   the  parametric  space of  the
99         --          surface of <F>.
100     is static;
101     
102     MakeVertex (me; V : out Vertex from TopoDS; P : Pnt from gp)
103         ---Purpose: Returns in <V> a Vertex built with the point <P>.
104     is static;
105     
106     ReverseFace(me; F : in out Face from TopoDS)
107         ---Purpose: Reverses the Face <F>.
108     is static;
109     
110     AddEdgeVertex(me; E      : in out Edge from TopoDS; 
111                       V      : in     Vertex from TopoDS;
112                       P      : in     Real;
113                       direct : Boolean)
114           ---Purpose: Adds the Vertex <V> in the Edge <E>.  <P> is the
115           --          parameter of the vertex on the  edge.  If direct
116           --          is False the Vertex is reversed.
117     is static;
118
119     AddEdgeVertex(me; E      : in out Edge from TopoDS; 
120                       V      : in     Vertex from TopoDS;
121                       P1,P2  : in     Real)
122           ---Purpose: Adds  the Vertex <V>  in the Edge <E>.   <P1,P2>
123           --          are the  parameters of the  vertex on the closed
124           --          edge.
125     is static;
126
127     SetParameters(me;
128                     E      : in out Edge from TopoDS;
129                     V      : in     Vertex from TopoDS;
130                     P1,P2  : in     Real)
131           ---Purpose: <P1,P2> are the parameters of the  vertex on the
132           --          edge.  The edge is a closed curve.
133     is static;
134
135     AddWireEdge(me; W      : in out Wire from TopoDS; 
136                     E      : in     Edge from TopoDS;
137                     direct : Boolean)
138           ---Purpose: Adds the Edge <E> in the  Wire <W>, if direct is
139           --          False the Edge is reversed.
140     is static;
141
142     AddFaceWire(me; F      : in out Face from TopoDS; 
143                     W      : in     Wire from TopoDS)
144           ---Purpose: Adds the Wire <W> in  the Face <F>.
145     is static;
146
147     AddShellFace(me; Sh     : in out Shell from TopoDS; 
148                      F      : in     Face from TopoDS)
149           ---Purpose: Adds the Face <F>  in the Shell <Sh>.
150     is static;
151     
152     CompleteEdge(me; E : in out Edge from TopoDS)
153         ---Purpose: This is called once an edge is completed. It gives
154         --          the opportunity to perform any post treatment.
155     is static;
156     
157     CompleteWire(me; W : in out Wire from TopoDS)
158         ---Purpose: This is called once a wire is  completed. It gives
159         --          the opportunity to perform any post treatment.
160     is static;
161     
162     CompleteFace(me; F : in out Face from TopoDS)
163         ---Purpose: This is called once a face is  completed. It gives
164         --          the opportunity to perform any post treatment.
165     is static;
166     
167     CompleteShell(me; S : in out Shell from TopoDS)
168         ---Purpose: This is called once a shell is  completed. It gives
169         --          the opportunity to perform any post treatment.
170     is static;
171
172 fields
173     myBuilder : Builder from BRep;
174
175 end Builder;