1 -- Created on: 1996-12-16
2 -- Created by: Remi Lequette
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
23 class Builder from TNaming
25 ---Purpose: A tool to create and maintain topological
27 -- Constructor creates an empty
28 -- TNaming_NamedShape attribute at the given
29 -- label. It allows adding "old shape" and "new
30 -- shape" pairs with the specified evolution to this
31 -- named shape. One evolution type per one
32 -- builder must be used.
38 NamedShape from TNaming,
40 PtrAttribute from TNaming,
41 PtrDataMapOfShapePtrRefShape from TNaming
44 ConstructionError from Standard
47 Create (aLabel : Label from TDF) returns Builder from TNaming;
48 ---Purpose: Create an Builder.
49 -- Warning: Before Addition copies the current Value, and clear
52 ---Category: To Load Shape Evolution
53 -- =======================
55 Generated(me : in out; newShape : Shape from TopoDS);
56 ---Purpose: Records the shape newShape which was
57 -- generated during a topological construction.
58 -- As an example, consider the case of a face
59 -- generated in construction of a box.
61 Generated(me : in out; oldShape, newShape : Shape from TopoDS);
62 ---Purpose: Records the shape newShape which was
63 -- generated from the shape oldShape during a topological construction.
64 -- As an example, consider the case of a face
65 -- generated from an edge in construction of a prism.
68 ---Category: Load Modifications.
70 Delete(me : in out; oldShape : Shape from TopoDS);
71 ---Purpose: Records the shape oldShape which was deleted from the current label.
72 -- As an example, consider the case of a face removed by a Boolean operation.
74 Modify(me : in out; oldShape, newShape : Shape from TopoDS);
75 ---Purpose: Records the shape newShape which is a
76 -- modification of the shape oldShape.
77 -- As an example, consider the case of a face split
78 -- or merged in a Boolean operation.
81 ---Category: Load Selection.
82 Select (me : in out; aShape, inShape : Shape from TopoDS);
83 ---Purpose: Add a Shape to the current label , This Shape is
84 -- unmodified. Used for example to define a set
85 -- of shapes under a label.
90 NamedShape(me) returns NamedShape from TNaming;
91 ---Purpose: Returns the NamedShape which has been build or is under construction.
95 myMap : PtrDataMapOfShapePtrRefShape from TNaming;
96 myAtt : PtrAttribute from TNaming;