0024428: Implementation of LGPL license
[occt.git] / src / BRepFeat / BRepFeat_Gluer.cdl
CommitLineData
b311480e 1-- Created on: 1996-03-08
2-- Created by: Jacques GOUSSARD
3-- Copyright (c) 1996-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class 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
37uses 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
48is
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
152fields
153
154 myGluer: Gluer from LocOpe;
155
156end Gluer;