1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
|
-- File: TNaming_NamedShape.cdl
-- Created: Tue Feb 4 14:12:59 1997
-- Author: Yves FRICAUD
-- <yfr@claquox.paris1.matra-dtv.fr>
---Copyright: Matra Datavision 1997
class NamedShape from TNaming inherits Attribute from TDF
---Purpose: The basis to define an attribute for the storage of
-- topology and naming data.
-- This attribute contains two parts:
-- - The type of evolution, a term of the
-- enumeration TNaming_Evolution
-- - A list of pairs of shapes called the "old"
-- shape and the "new" shape. The meaning
-- depends on the type of evolution.
uses
GUID from Standard,
PtrNode from TNaming,
Evolution from TNaming,
DeltaOnModification from TDF,
DeltaOnRemoval from TDF,
RelocationTable from TDF,
AttributeIndexedMap from TDF,
Attribute from TDF,
AttributeDelta from TDF,
Delta from TDF,
DataSet from TDF,
Shape from TopoDS
is
---Purpose: class method
-- ============
GetID(myclass) returns GUID from Standard;
---Purpose: Returns the GUID for named shapes.
---C++: return const &
Create returns mutable NamedShape from TNaming;
IsEmpty (me)
returns Boolean from Standard;
Get (me)
---Purpose: Returns the shapes contained in <NS>. Returns a null
-- shape if IsEmpty.
returns Shape from TopoDS;
Evolution (me) returns Evolution from TNaming;
---Purpose: Returns the Evolution of the attribute.
---C++: inline
Version (me) returns Integer from Standard;
---Purpose: Returns the Version of the attribute.
---C++: inline
SetVersion (me : mutable; version : Integer from Standard);
---Purpose: Set the Version of the attribute.
---C++: inline
Clear (me : mutable);
ID(me) returns GUID from Standard
is redefined static;
---Purpose: Returns the ID of the attribute.
---C++: inline
---C++: return const &
BackupCopy(me) returns mutable Attribute from TDF
is redefined;
---Purpose: Copies the attribute contents into a new other
-- attribute. It is used by Backup().
Restore(me: mutable; anAttribute : Attribute from TDF)
is redefined;
---Purpose: Restores the contents from <anAttribute> into this
-- one. It is used when aborting a transaction.
--
-- Delta use methods
-- -----------------
DeltaOnModification(me; anOldAttribute : Attribute from TDF)
returns DeltaOnModification from TDF
---Purpose : Makes a DeltaOnModification between <me> and
-- <anOldAttribute.
is redefined virtual;
DeltaOnModification(me : mutable; aDelta : DeltaOnModification from TDF)
is redefined virtual;
---Purpose: Applies a DeltaOnModification to <me>.
DeltaOnRemoval(me)
returns DeltaOnRemoval from TDF
---Purpose : Makes a DeltaOnRemoval on <me> because <me> has
-- disappeared from the DS.
is redefined virtual;
-- Copy use methods
-- ----------------
NewEmpty(me)
returns mutable Attribute from TDF
is redefined;
---Purpose: Returns an new empty attribute from the good end
-- type. It is used by the copy algorithm.
Paste(me;
intoAttribute : mutable Attribute from TDF;
aRelocTationable : mutable RelocationTable from TDF)
is redefined;
---Purpose: This method is different from the "Copy" one,
-- because it is used when copying an attribute from
-- a source structure into a target structure. This
-- method pastes the current attribute to the label
-- corresponding to the insertor. The pasted
-- attribute may be a brand new one or a new version
-- of the previous one.
OldPaste(me;
intoAttribute : mutable Attribute from TDF;
aRelocTationable : mutable RelocationTable from TDF);
References(me; aDataSet : DataSet from TDF)
is redefined;
---Purpose: Adds the directly referenced attributes and labels
-- to <aDataSet>. "Directly" means we have only to
-- look at the first level of references.
BeforeRemoval(me: mutable) is redefined;
BeforeUndo(me: mutable;
anAttDelta : AttributeDelta from TDF;
forceIt : Boolean from Standard = Standard_False)
returns Boolean from Standard
is redefined;
---Purpose: Something to do before applying <anAttDelta>
AfterUndo(me: mutable;
anAttDelta : AttributeDelta from TDF;
forceIt : Boolean from Standard = Standard_False)
returns Boolean from Standard
is redefined;
---Purpose: Something to do after applying <anAttDelta>.
-- Methods to build contents of the TNaming attribute
-- This methods are private. the only one way to build
-- an Attribute is to use the TNaming_Builder.
-----------------------------------------------------
Add(me : mutable ; Evolution : in out PtrNode from TNaming)
---Purpose: Adds an evolution
is private;
Dump(me; anOS : in out OStream from Standard)
returns OStream from Standard
is redefined ;
---Purpose: Dumps the attribute on <aStream>.
---C++: return &
fields
myNode : PtrNode from TNaming;
myEvolution : Evolution from TNaming;
myVersion : Integer from Standard;
friends
class Builder from TNaming,
class Iterator from TNaming,
class NewShapeIterator from TNaming,
class OldShapeIterator from TNaming
end Attribute;
|