0024624: Lost word in license statement in source files
[occt.git] / src / BRepFeat / BRepFeat_Gluer.cdl
1 -- Created on: 1996-03-08
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1996-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 class Gluer from BRepFeat inherits MakeShape from BRepBuilderAPI
18
19         ---Purpose: One of the most significant aspects
20         -- of BRepFeat functionality is the use of local operations as opposed
21         -- to global ones. In a global operation, you would first
22         -- construct a form of the type you wanted in your final feature, and
23         -- then remove matter so that it could fit into your initial basis object.
24         -- In a local operation, however, you specify the domain of the feature
25         -- construction with aspects of the shape on which the feature is being
26         -- created. These semantics are expressed in terms of a member
27         -- shape of the basis shape from which - or up to which - matter will be
28         -- added or removed. As a result, local operations make calculations
29         -- simpler and faster than global operations.
30         -- Glueing uses wires or edges of a face in the basis shape. These are
31         -- to become a part of the feature. They are first cut out and then
32         -- projected to a plane outside or inside the basis shape. By
33         -- rebuilding the initial shape incorporating the edges and the
34         -- faces of the tool, protrusion features can be constructed.
35
36
37 uses Shape             from TopoDS,
38      Face              from TopoDS,
39      Edge              from TopoDS,
40      ListOfShape       from TopTools,
41      
42      Gluer             from LocOpe,
43      Operation         from LocOpe,
44
45      ShapeModification from BRepBuilderAPI
46
47
48 is
49
50
51     Create
52         ---Purpose: Initializes an empty constructor
53         returns Gluer from BRepFeat;
54         ---C++: inline
55         
56
57     Create(Snew: Shape from TopoDS;
58            Sbase : Shape from TopoDS)
59         ---Purpose: Initializes the shapes to be glued, the new shape
60         -- Snew and the basis shape Sbase.
61         returns Gluer from BRepFeat;
62         ---C++: inline
63
64         
65     Init(me: in out; Snew: Shape from TopoDS;
66                      Sbase : Shape from TopoDS)
67         ---Purpose: Initializes the new shape Snew and the basis shape
68         -- Sbase for the local glueing operation.
69                 ---C++: inline
70                 is static;
71
72
73     Bind(me: in out; Fnew  : Face from TopoDS;
74                      Fbase : Face from TopoDS)
75         ---Purpose: Defines a contact between Fnew on the new shape
76         -- Snew and Fbase on the basis shape Sbase. Informs
77         -- other methods that Fnew in the new shape Snew is
78         -- connected to the face Fbase in the basis shape Sbase.
79         -- The contact faces of the glued shape must not have
80         -- parts outside the contact faces of the basis shape.
81         -- This indicates that glueing is possible.
82                 ---C++: inline
83                 is static;
84
85
86     Bind(me: in out; Enew : Edge from TopoDS;
87                      Ebase: Edge from TopoDS)
88         ---Purpose: nforms other methods that the edge Enew in the new
89         -- shape is the same as the edge Ebase in the basis
90         -- shape and is therefore attached to the basis shape. This
91         -- indicates that glueing is possible.
92                 ---C++: inline
93                 is static;
94
95
96
97     OpeType(me)
98
99         returns Operation from LocOpe
100         ---Purpose: Determine which operation type to use glueing or sliding.
101                 ---C++: inline
102                 is static;
103
104
105     BasisShape(me)
106     
107         returns Shape from TopoDS
108         ---Purpose: Returns the basis shape of the compound shape.
109         ---C++: return const&
110         ---C++: inline
111         is static;
112
113
114     GluedShape(me)
115
116         returns Shape from TopoDS
117         ---C++: return const&
118         ---C++: inline
119         --- Purpose: Returns the resulting compound shape.
120         is static;
121
122
123 -- Methods redefined from BRepBuilderAPI_MakeShape
124
125     Build(me : in out)
126         ---Purpose: This is  called by  Shape().  It does  nothing but
127         --          may be redefined.
128         ---Level: Public
129     is redefined;
130         
131
132     -----------------------------------------------------------
133     --- the following methods do nothing and must be redefined
134     --- for faces modifications and creations.
135
136     IsDeleted(me: in out; F: Shape from TopoDS) 
137         ---Purpose: returns the status of the Face after
138         --          the shape creation. 
139         ---Level: Public
140     returns Boolean from Standard
141     is redefined;
142     
143     
144     Modified(me: in out; F: Shape from TopoDS)
145         ---Purpose: returns the list of generated Faces.
146         ---C++:     return const &
147         ---Level: Public
148     returns ListOfShape from TopTools
149     is redefined;
150     
151
152 fields
153
154     myGluer: Gluer from LocOpe;
155
156 end Gluer;