// 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 #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_XCAFDoc_GraphNode_HeaderFile #include #endif #ifndef _XCAFDoc_GraphNodeSequence_HeaderFile #include #endif #ifndef _Standard_GUID_HeaderFile #include #endif #ifndef _TDF_Attribute_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Handle_TDF_Attribute_HeaderFile #include #endif #ifndef _Handle_TDF_RelocationTable_HeaderFile #include #endif #ifndef _Handle_TDF_DataSet_HeaderFile #include #endif #ifndef _Standard_OStream_HeaderFile #include #endif class TDF_Label; class Standard_GUID; class TDF_Attribute; class TDF_RelocationTable; class TDF_DataSet; //! This attribute allow user multirelation tree of labels.
//! This GraphNode is experimental Graph that not control looping and redundance.
class XCAFDoc_GraphNode : public TDF_Attribute { public: //! class methods working on the node
//! ===================================
//! Shortcut to search a Graph node attribute with default
//! GraphID. Returns true if found.
Standard_EXPORT static Standard_Boolean Find(const TDF_Label& L,Handle(XCAFDoc_GraphNode)& G) ; //! Finds or Creates a GraphNode attribute on the label
//! with the default Graph ID, returned by the method
//! . Returns the created/found GraphNode
//! attribute.
Standard_EXPORT static Handle_XCAFDoc_GraphNode Set(const TDF_Label& L) ; //! Finds or Creates a GraphNode attribute on the label
//! , with an explicit tree ID. is
//! the ID returned by method.
//! Returns the found/created GraphNode attribute.
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
//! method without explicit tree ID.
//! Instance methods:
//! ================
Standard_EXPORT static const Standard_GUID& GetDefaultGraphID() ; Standard_EXPORT XCAFDoc_GraphNode(); Standard_EXPORT void SetGraphID(const Standard_GUID& explicitID) ; //! Set GraphNode as father of me and returns index of
//! in Sequence that containing Fathers GraphNodes.
//! return index of from GraphNodeSequnece
Standard_EXPORT Standard_Integer SetFather(const Handle(XCAFDoc_GraphNode)& F) ; //! Set GraphNode as child of me and returns index of
//! in Sequence that containing Children GraphNodes.
//! return index of from GraphNodeSequnece
Standard_EXPORT Standard_Integer SetChild(const Handle(XCAFDoc_GraphNode)& Ch) ; //! Remove from Fathers GraphNodeSequence.
//! and remove link between father and child.
Standard_EXPORT void UnSetFather(const Handle(XCAFDoc_GraphNode)& F) ; //! Remove Father GraphNode by index from Fathers GraphNodeSequence.
//! and remove link between father and child.
Standard_EXPORT void UnSetFather(const Standard_Integer Findex) ; //! Remove from GraphNodeSequence.
//! and remove link between father and child.
Standard_EXPORT void UnSetChild(const Handle(XCAFDoc_GraphNode)& Ch) ; //! Remove Child GraphNode by index from Children GraphNodeSequence.
//! and remove link between father and child.
Standard_EXPORT void UnSetChild(const Standard_Integer Chindex) ; //! Return GraphNode by index from GraphNodeSequence.
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 index of , or zero if there is no such Graphnode.
Standard_EXPORT Standard_Integer FatherIndex(const Handle(XCAFDoc_GraphNode)& F) const; //! Return index of , or zero if there is no such Graphnode.
Standard_EXPORT Standard_Integer ChildIndex(const Handle(XCAFDoc_GraphNode)& Ch) const; //! returns TRUE if is father of .
Standard_EXPORT Standard_Boolean IsFather(const Handle(XCAFDoc_GraphNode)& Ch) const; //! returns TRUE if is child of .
Standard_EXPORT Standard_Boolean IsChild(const Handle(XCAFDoc_GraphNode)& F) const; //! return Number of Fathers GraphNodes.
Standard_EXPORT Standard_Integer NbFathers() const; //! return Number of Childrens GraphNodes.
//! Implementation of Attribute methods:
//! ===================================
Standard_EXPORT Standard_Integer NbChildren() const; //! Returns the Graph ID (default or explicit one depending
//! onthe Set method used).
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.
Standard_EXPORT void UnSetFatherlink(const Handle(XCAFDoc_GraphNode)& F) ; //! remove link between father and child.
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