blob: 6814380bb4e4e4a1fb33cf06f8b22d5b0622d0f9 (
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
163
164
165
|
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _XCAFDoc_GraphNode_HeaderFile
#define _XCAFDoc_GraphNode_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_XCAFDoc_GraphNode_HeaderFile
#include <Handle_XCAFDoc_GraphNode.hxx>
#endif
#ifndef _XCAFDoc_GraphNodeSequence_HeaderFile
#include <XCAFDoc_GraphNodeSequence.hxx>
#endif
#ifndef _Standard_GUID_HeaderFile
#include <Standard_GUID.hxx>
#endif
#ifndef _TDF_Attribute_HeaderFile
#include <TDF_Attribute.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_TDF_Attribute_HeaderFile
#include <Handle_TDF_Attribute.hxx>
#endif
#ifndef _Handle_TDF_RelocationTable_HeaderFile
#include <Handle_TDF_RelocationTable.hxx>
#endif
#ifndef _Handle_TDF_DataSet_HeaderFile
#include <Handle_TDF_DataSet.hxx>
#endif
#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
class TDF_Label;
class Standard_GUID;
class TDF_Attribute;
class TDF_RelocationTable;
class TDF_DataSet;
//! This attribute allow user multirelation tree of labels. <br>
//! This GraphNode is experimental Graph that not control looping and redundance. <br>
class XCAFDoc_GraphNode : public TDF_Attribute {
public:
//! class methods working on the node <br>
//! =================================== <br>//! Shortcut to search a Graph node attribute with default <br>
//! GraphID. Returns true if found. <br>
Standard_EXPORT static Standard_Boolean Find(const TDF_Label& L,Handle(XCAFDoc_GraphNode)& G) ;
//! Finds or Creates a GraphNode attribute on the label <L> <br>
//! with the default Graph ID, returned by the method <br>
//! <GetDefaultGraphID>. Returns the created/found GraphNode <br>
//! attribute. <br>
Standard_EXPORT static Handle_XCAFDoc_GraphNode Set(const TDF_Label& L) ;
//! Finds or Creates a GraphNode attribute on the label <br>
//! <L>, with an explicit tree ID. <ExplicitGraphID> is <br>
//! the ID returned by <TDF_Attribute::ID> method. <br>
//! Returns the found/created GraphNode attribute. <br>
Standard_EXPORT static Handle_XCAFDoc_GraphNode Set(const TDF_Label& L,const Standard_GUID& ExplicitGraphID) ;
//! returns a default Graph ID. this ID is used by the <br>
//! <Set> method without explicit tree ID. <br>//! Instance methods: <br>
//! ================ <br>
Standard_EXPORT static const Standard_GUID& GetDefaultGraphID() ;
Standard_EXPORT XCAFDoc_GraphNode();
Standard_EXPORT void SetGraphID(const Standard_GUID& explicitID) ;
//! Set GraphNode <F> as father of me and returns index of <F> <br>
//! in Sequence that containing Fathers GraphNodes. <br>
//! return index of <F> from GraphNodeSequnece <br>
Standard_EXPORT Standard_Integer SetFather(const Handle(XCAFDoc_GraphNode)& F) ;
//! Set GraphNode <Ch> as child of me and returns index of <Ch> <br>
//! in Sequence that containing Children GraphNodes. <br>
//! return index of <Ch> from GraphNodeSequnece <br>
Standard_EXPORT Standard_Integer SetChild(const Handle(XCAFDoc_GraphNode)& Ch) ;
//! Remove <F> from Fathers GraphNodeSequence. <br>
//! and remove link between father and child. <br>
Standard_EXPORT void UnSetFather(const Handle(XCAFDoc_GraphNode)& F) ;
//! Remove Father GraphNode by index from Fathers GraphNodeSequence. <br>
//! and remove link between father and child. <br>
Standard_EXPORT void UnSetFather(const Standard_Integer Findex) ;
//! Remove <Ch> from GraphNodeSequence. <br>
//! and remove link between father and child. <br>
Standard_EXPORT void UnSetChild(const Handle(XCAFDoc_GraphNode)& Ch) ;
//! Remove Child GraphNode by index from Children GraphNodeSequence. <br>
//! and remove link between father and child. <br>
Standard_EXPORT void UnSetChild(const Standard_Integer Chindex) ;
//! Return GraphNode by index from GraphNodeSequence. <br>
Standard_EXPORT Handle_XCAFDoc_GraphNode GetFather(const Standard_Integer Findex) const;
//! Return GraphNode by index from GraphNodeSequence. <br>
Standard_EXPORT Handle_XCAFDoc_GraphNode GetChild(const Standard_Integer Chindex) const;
//! Return index of <F>, or zero if there is no such Graphnode. <br>
Standard_EXPORT Standard_Integer FatherIndex(const Handle(XCAFDoc_GraphNode)& F) const;
//! Return index of <Ch>, or zero if there is no such Graphnode. <br>
Standard_EXPORT Standard_Integer ChildIndex(const Handle(XCAFDoc_GraphNode)& Ch) const;
//! returns TRUE if <me> is father of <Ch>. <br>
Standard_EXPORT Standard_Boolean IsFather(const Handle(XCAFDoc_GraphNode)& Ch) const;
//! returns TRUE if <me> is child of <F>. <br>
Standard_EXPORT Standard_Boolean IsChild(const Handle(XCAFDoc_GraphNode)& F) const;
//! return Number of Fathers GraphNodes. <br>
Standard_EXPORT Standard_Integer NbFathers() const;
//! return Number of Childrens GraphNodes. <br>//! Implementation of Attribute methods: <br>
//! =================================== <br>
Standard_EXPORT Standard_Integer NbChildren() const;
//! Returns the Graph ID (default or explicit one depending <br>
//! onthe Set method used). <br>
Standard_EXPORT const Standard_GUID& ID() const;
Standard_EXPORT virtual void Restore(const Handle(TDF_Attribute)& with) ;
Standard_EXPORT virtual void Paste(const Handle(TDF_Attribute)& into,const Handle(TDF_RelocationTable)& RT) const;
Standard_EXPORT virtual Handle_TDF_Attribute NewEmpty() const;
Standard_EXPORT virtual void References(const Handle(TDF_DataSet)& aDataSet) const;
Standard_EXPORT virtual Standard_OStream& Dump(Standard_OStream& anOS) const;
Standard_EXPORT virtual void BeforeForget() ;
DEFINE_STANDARD_RTTI(XCAFDoc_GraphNode)
protected:
private:
//! remove link between father and child. <br>
Standard_EXPORT void UnSetFatherlink(const Handle(XCAFDoc_GraphNode)& F) ;
//! remove link between father and child. <br>
Standard_EXPORT void UnSetChildlink(const Handle(XCAFDoc_GraphNode)& C) ;
XCAFDoc_GraphNodeSequence myFathers;
XCAFDoc_GraphNodeSequence myChildren;
Standard_GUID myGraphID;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|