blob: 55346ca7f11359365413d031746c28c80fc207b9 (
plain)
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
|
-- File: XCAFDoc_GraphNode.cdl
-- Created: Wed Sep 27 16:00:50 2000
-- Author: Pavel TELKOV.
-- <det@nordox.nnov.matra-dtv.fr>
---Copyright: Matra Datavision 2000
class GraphNode from XCAFDoc inherits Attribute from TDF
---Purpose: This attribute allow user multirelation tree of labels.
-- This GraphNode is experimental Graph that not control looping and redundance.
uses
GUID from Standard,
OStream from Standard,
Attribute from TDF,
RelocationTable from TDF,
DataSet from TDF,
Label from TDF,
GraphNodeSequence from XCAFDoc
is
---Purpose: class methods working on the node
-- ===================================
Find (myclass; L : Label from TDF;
G : out GraphNode from XCAFDoc)
---Purpose: Shortcut to search a Graph node attribute with default
-- GraphID. Returns true if found.
returns Boolean from Standard;
Set (myclass; L : Label from TDF)
---Purpose: Finds or Creates a GraphNode attribute on the label <L>
-- with the default Graph ID, returned by the method
-- <GetDefaultGraphID>. Returns the created/found GraphNode
-- attribute.
returns GraphNode from XCAFDoc;
Set (myclass; L : Label from TDF; ExplicitGraphID : GUID from Standard)
---Purpose: Finds or Creates a GraphNode attribute on the label
-- <L>, with an explicit tree ID. <ExplicitGraphID> is
-- the ID returned by <TDF_Attribute::ID> method.
-- Returns the found/created GraphNode attribute.
returns GraphNode from XCAFDoc;
GetDefaultGraphID (myclass)
---Purpose: returns a default Graph ID. this ID is used by the
-- <Set> method without explicit tree ID.
---C++: return const &
returns GUID from Standard;
---Purpose: Instance methods:
-- ================
Create returns mutable GraphNode from XCAFDoc;
SetGraphID (me : mutable; explicitID : GUID from Standard);
SetFather (me : mutable;F : GraphNode from XCAFDoc)
---Purpose: Set GraphNode <F> as father of me and returns index of <F>
-- in Sequence that containing Fathers GraphNodes.
-- return index of <F> from GraphNodeSequnece
returns Integer from Standard;
SetChild (me : mutable;Ch : GraphNode from XCAFDoc)
---Purpose: Set GraphNode <Ch> as child of me and returns index of <Ch>
-- in Sequence that containing Children GraphNodes.
-- return index of <Ch> from GraphNodeSequnece
returns Integer from Standard;
UnSetFather (me : mutable;F : GraphNode from XCAFDoc);
---Purpose: Remove <F> from Fathers GraphNodeSequence.
-- and remove link between father and child.
UnSetFather (me : mutable; Findex : Integer from Standard);
---Purpose: Remove Father GraphNode by index from Fathers GraphNodeSequence.
-- and remove link between father and child.
UnSetFatherlink (me : mutable; F: GraphNode from XCAFDoc) is private;
---Purpose: remove link between father and child.
UnSetChild (me : mutable; Ch : GraphNode from XCAFDoc);
---Purpose: Remove <Ch> from GraphNodeSequence.
-- and remove link between father and child.
UnSetChild (me : mutable; Chindex : Integer from Standard);
---Purpose: Remove Child GraphNode by index from Children GraphNodeSequence.
-- and remove link between father and child.
UnSetChildlink (me : mutable; C : GraphNode from XCAFDoc) is private;
---Purpose: remove link between father and child.
GetFather (me ; Findex : Integer from Standard)
---Purpose: Return GraphNode by index from GraphNodeSequence.
returns GraphNode from XCAFDoc;
GetChild (me ; Chindex : Integer from Standard)
---Purpose: Return GraphNode by index from GraphNodeSequence.
returns GraphNode from XCAFDoc;
FatherIndex (me ; F : GraphNode from XCAFDoc)
---Purpose: Return index of <F>, or zero if there is no such Graphnode.
returns Integer from Standard;
ChildIndex (me ; Ch : GraphNode from XCAFDoc)
---Purpose: Return index of <Ch>, or zero if there is no such Graphnode.
returns Integer from Standard;
IsFather (me ; Ch : GraphNode from XCAFDoc)
---Purpose: returns TRUE if <me> is father of <Ch>.
returns Boolean from Standard;
IsChild (me ; F : GraphNode from XCAFDoc)
---Purpose: returns TRUE if <me> is child of <F>.
returns Boolean from Standard;
NbFathers (me) returns Integer from Standard;
---Purpose: return Number of Fathers GraphNodes.
NbChildren (me) returns Integer from Standard;
---Purpose: return Number of Childrens GraphNodes.
---Purpose: Implementation of Attribute methods:
-- ===================================
ID (me)
---Purpose: Returns the Graph ID (default or explicit one depending
-- onthe Set method used).
---C++: return const &
returns GUID from Standard;
Restore (me: mutable; with : Attribute from TDF)
is virtual;
Paste (me; into : mutable Attribute from TDF;
RT : mutable RelocationTable from TDF)
is virtual;
NewEmpty(me)
returns mutable Attribute from TDF
is redefined;
References(me;
aDataSet : DataSet from TDF)
is redefined;
Dump(me; anOS : in out OStream from Standard)
returns OStream from Standard
---C++: return &
is redefined;
BeforeForget(me: mutable)
is redefined;
fields
myFathers : GraphNodeSequence from XCAFDoc;
myChildren : GraphNodeSequence from XCAFDoc;
myGraphID : GUID from Standard;
end GraphNode;
|