1 -- Created on: 1996-12-16
2 -- Created by: Remi Lequette
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class Builder from TNaming
19 ---Purpose: A tool to create and maintain topological attributes.
20 -- Constructor creates an empty
21 -- TNaming_NamedShape attribute at the given
22 -- label. It allows adding "old shape" and "new
23 -- shape" pairs with the specified evolution to this
24 -- named shape. One evolution type per one
25 -- builder must be used.
31 NamedShape from TNaming,
32 UsedShapes from TNaming
35 ConstructionError from Standard
38 Create (aLabel : Label from TDF) returns Builder from TNaming;
39 ---Purpose: Create an Builder.
40 -- Warning: Before Addition copies the current Value, and clear
43 ---Category: To Load Shape Evolution
44 -- =======================
46 Generated(me : in out; newShape : Shape from TopoDS);
47 ---Purpose: Records the shape newShape which was
48 -- generated during a topological construction.
49 -- As an example, consider the case of a face
50 -- generated in construction of a box.
52 Generated(me : in out; oldShape, newShape : Shape from TopoDS);
53 ---Purpose: Records the shape newShape which was
54 -- generated from the shape oldShape during a topological construction.
55 -- As an example, consider the case of a face
56 -- generated from an edge in construction of a prism.
59 ---Category: Load Modifications.
61 Delete(me : in out; oldShape : Shape from TopoDS);
62 ---Purpose: Records the shape oldShape which was deleted from the current label.
63 -- As an example, consider the case of a face removed by a Boolean operation.
65 Modify(me : in out; oldShape, newShape : Shape from TopoDS);
66 ---Purpose: Records the shape newShape which is a
67 -- modification of the shape oldShape.
68 -- As an example, consider the case of a face split
69 -- or merged in a Boolean operation.
72 ---Category: Load Selection.
73 Select (me : in out; aShape, inShape : Shape from TopoDS);
74 ---Purpose: Add a Shape to the current label , This Shape is
75 -- unmodified. Used for example to define a set
76 -- of shapes under a label.
81 NamedShape(me) returns NamedShape from TNaming;
82 ---Purpose: Returns the NamedShape which has been built or is under construction.
86 myShapes: UsedShapes from TNaming;
87 myAtt : NamedShape from TNaming;