# DataExchange
TKXCAF
XCAFDoc

# XCAFDoc_GraphNode Class Reference

This attribute allow user multirelation tree of labels.
This GraphNode is experimental Graph that not control looping and redundance.
.

`#include <XCAFDoc_GraphNode.hxx>`

## Public Member Functions

Standard_EXPORT | XCAFDoc_GraphNode ()
Standard_EXPORT void | SetGraphID (const Standard_GUID &explicitID)
Standard_EXPORT Standard_Integer | SetFather (const Handle(XCAFDoc_GraphNode)&F)
| Set GraphNode <f> as father of me and returns index of <f> in Sequence that containing Fathers GraphNodes. return index of <f> from GraphNodeSequnece .
Standard_EXPORT Standard_Integer | SetChild (const Handle(XCAFDoc_GraphNode)&Ch)
| Set GraphNode <ch> as child of me and returns index of <ch> in Sequence that containing Children GraphNodes. return index of <ch> from GraphNodeSequnece .
Standard_EXPORT void | UnSetFather (const Handle(XCAFDoc_GraphNode)&F)
| Remove <f> from Fathers GraphNodeSequence. and remove link between father and child. .
Standard_EXPORT void | UnSetFather (const Standard_Integer Findex)
| Remove Father GraphNode by index from Fathers GraphNodeSequence. and remove link between father and child. .
Standard_EXPORT void | UnSetChild (const Handle(XCAFDoc_GraphNode)&Ch)
| Remove <ch> from GraphNodeSequence. and remove link between father and child. .
Standard_EXPORT void | UnSetChild (const Standard_Integer Chindex)
| Remove Child GraphNode by index from Children GraphNodeSequence. and remove link between father and child. .
Standard_EXPORT Handle_XCAFDoc_GraphNode | GetFather (const Standard_Integer Findex) const
| Return GraphNode by index from GraphNodeSequence. .
Standard_EXPORT Handle_XCAFDoc_GraphNode | GetChild (const Standard_Integer Chindex) const
| Return GraphNode by index from GraphNodeSequence. .
Standard_EXPORT Standard_Integer | FatherIndex (const Handle(XCAFDoc_GraphNode)&F) const
| Return index of <f>, or zero if there is no such Graphnode. .
Standard_EXPORT Standard_Integer | ChildIndex (const Handle(XCAFDoc_GraphNode)&Ch) const
| Return index of <ch>, or zero if there is no such Graphnode. .
Standard_EXPORT Standard_Boolean | IsFather (const Handle(XCAFDoc_GraphNode)&Ch) const
| returns TRUE if <me> is father of <ch>.
Standard_EXPORT Standard_Boolean | IsChild (const Handle(XCAFDoc_GraphNode)&F) const
| returns TRUE if <me> is child of <f>.
Standard_EXPORT Standard_Integer | NbFathers () const
| return Number of Fathers GraphNodes.
Standard_EXPORT Standard_Integer | NbChildren () const
| return Number of Childrens GraphNodes. //! Implementation of Attribute methods: ===================================
Standard_EXPORT const Standard_GUID & | ID () const
| Returns the Graph ID (default or explicit one depending onthe Set method used). .
virtual Standard_EXPORT void | Restore (const Handle(TDF_Attribute)&with)
virtual Standard_EXPORT void | Paste (const Handle(TDF_Attribute)&into, const Handle(TDF_RelocationTable)&RT) const
virtual Standard_EXPORT Handle_TDF_Attribute | NewEmpty () const
virtual Standard_EXPORT void | References (const Handle(TDF_DataSet)&aDataSet) const
virtual Standard_EXPORT Standard_OStream & | Dump (Standard_OStream &anOS) const
virtual Standard_EXPORT void | BeforeForget ()
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Static Public Member Functions

static Standard_EXPORT Standard_Boolean | Find (const TDF_Label &L, Handle(XCAFDoc_GraphNode)&G)
| class methods working on the node =================================== //! Shortcut to search a Graph node attribute with default GraphID. Returns true if found.
static Standard_EXPORT Handle_XCAFDoc_GraphNode | Set (const TDF_Label &L)
| 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. .
static Standard_EXPORT Handle_XCAFDoc_GraphNode | Set (const TDF_Label &L, const Standard_GUID &ExplicitGraphID)
| 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. .
static Standard_EXPORT const Standard_GUID & | GetDefaultGraphID ()
| returns a default Graph ID. this ID is used by the <set> method without explicit tree ID. //! Instance methods: ================

## Private Member Functions

Standard_EXPORT void | UnSetFatherlink (const Handle(XCAFDoc_GraphNode)&F)
| remove link between father and child.
Standard_EXPORT void | UnSetChildlink (const Handle(XCAFDoc_GraphNode)&C)
| remove link between father and child.

## Private Attributes

XCAFDoc_GraphNodeSequence | myFathers
XCAFDoc_GraphNodeSequence | myChildren
Standard_GUID | myGraphID

## Constructor & Destructor Documentation

Standard_EXPORT XCAFDoc_GraphNode::XCAFDoc_GraphNode | ( |  | ) |

## Member Function Documentation

virtual Standard_EXPORT void XCAFDoc_GraphNode::BeforeForget | ( |  | ) | `[virtual]`

Standard_EXPORT Standard_Integer XCAFDoc_GraphNode::ChildIndex | ( | const Handle(XCAFDoc_GraphNode)& | Ch | ) | const

virtual Standard_EXPORT Standard_OStream& XCAFDoc_GraphNode::Dump | ( | Standard_OStream & | anOS | ) | const`[virtual]`

Standard_EXPORT Standard_Integer XCAFDoc_GraphNode::FatherIndex | ( | const Handle(XCAFDoc_GraphNode)& | F | ) | const

static Standard_EXPORT Standard_Boolean XCAFDoc_GraphNode::Find | ( | const TDF_Label & | L,
|  | Handle(XCAFDoc_GraphNode)& | G
| ) | `[static]`

Standard_EXPORT Handle_XCAFDoc_GraphNode XCAFDoc_GraphNode::GetChild | ( | const Standard_Integer | Chindex | ) | const

static Standard_EXPORT const Standard_GUID& XCAFDoc_GraphNode::GetDefaultGraphID | ( |  | ) | `[static]`

Standard_EXPORT Handle_XCAFDoc_GraphNode XCAFDoc_GraphNode::GetFather | ( | const Standard_Integer | Findex | ) | const

Standard_EXPORT const XCAFDoc_GraphNode::Handle | ( | Standard_Type |  | ) | const

Standard_EXPORT const Standard_GUID& XCAFDoc_GraphNode::ID | ( |  | ) | const

Standard_EXPORT Standard_Boolean XCAFDoc_GraphNode::IsChild | ( | const Handle(XCAFDoc_GraphNode)& | F | ) | const

Standard_EXPORT Standard_Boolean XCAFDoc_GraphNode::IsFather | ( | const Handle(XCAFDoc_GraphNode)& | Ch | ) | const

Standard_EXPORT Standard_Integer XCAFDoc_GraphNode::NbChildren | ( |  | ) | const

Standard_EXPORT Standard_Integer XCAFDoc_GraphNode::NbFathers | ( |  | ) | const

virtual Standard_EXPORT Handle_TDF_Attribute XCAFDoc_GraphNode::NewEmpty | ( |  | ) | const`[virtual]`

virtual Standard_EXPORT void XCAFDoc_GraphNode::Paste | ( | const Handle(TDF_Attribute)& | into,
|  | const Handle(TDF_RelocationTable)& | RT
| ) | const`[virtual]`

virtual Standard_EXPORT void XCAFDoc_GraphNode::References | ( | const Handle(TDF_DataSet)& | aDataSet | ) | const`[virtual]`

virtual Standard_EXPORT void XCAFDoc_GraphNode::Restore | ( | const Handle(TDF_Attribute)& | with | ) | `[virtual]`

static Standard_EXPORT Handle_XCAFDoc_GraphNode XCAFDoc_GraphNode::Set | ( | const TDF_Label & | L,
|  | const Standard_GUID & | ExplicitGraphID
| ) | `[static]`

static Standard_EXPORT Handle_XCAFDoc_GraphNode XCAFDoc_GraphNode::Set | ( | const TDF_Label & | L | ) | `[static]`

Standard_EXPORT Standard_Integer XCAFDoc_GraphNode::SetChild | ( | const Handle(XCAFDoc_GraphNode)& | Ch | ) |

Standard_EXPORT Standard_Integer XCAFDoc_GraphNode::SetFather | ( | const Handle(XCAFDoc_GraphNode)& | F | ) |

Standard_EXPORT void XCAFDoc_GraphNode::SetGraphID | ( | const Standard_GUID & | explicitID | ) |

Standard_EXPORT void XCAFDoc_GraphNode::UnSetChild | ( | const Standard_Integer | Chindex | ) |

Standard_EXPORT void XCAFDoc_GraphNode::UnSetChild | ( | const Handle(XCAFDoc_GraphNode)& | Ch | ) |

Standard_EXPORT void XCAFDoc_GraphNode::UnSetChildlink | ( | const Handle(XCAFDoc_GraphNode)& | C | ) | `[private]`

Standard_EXPORT void XCAFDoc_GraphNode::UnSetFather | ( | const Standard_Integer | Findex | ) |

Standard_EXPORT void XCAFDoc_GraphNode::UnSetFather | ( | const Handle(XCAFDoc_GraphNode)& | F | ) |

Standard_EXPORT void XCAFDoc_GraphNode::UnSetFatherlink | ( | const Handle(XCAFDoc_GraphNode)& | F | ) | `[private]`

## Field Documentation

XCAFDoc_GraphNodeSequence XCAFDoc_GraphNode::myChildren `[private]`

XCAFDoc_GraphNodeSequence XCAFDoc_GraphNode::myFathers `[private]`

Standard_GUID XCAFDoc_GraphNode::myGraphID `[private]`

The documentation for this class was generated from the following file:

- XCAFDoc_GraphNode.hxx