Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions
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>

Inheritance diagram for XCAFDoc_GraphNode:
Inheritance graph
[legend]

Public Member Functions

 XCAFDoc_GraphNode ()
void SetGraphID (const Standard_GUID &explicitID)
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_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

void UnSetFather (const Handle< XCAFDoc_GraphNode > &F)
 Remove <F> from Fathers GraphNodeSequence.
and remove link between father and child.

void UnSetFather (const Standard_Integer Findex)
 Remove Father GraphNode by index from Fathers GraphNodeSequence.
and remove link between father and child.

void UnSetChild (const Handle< XCAFDoc_GraphNode > &Ch)
 Remove <Ch> from GraphNodeSequence.
and remove link between father and child.

void UnSetChild (const Standard_Integer Chindex)
 Remove Child GraphNode by index from Children GraphNodeSequence.
and remove link between father and child.

Handle_XCAFDoc_GraphNode GetFather (const Standard_Integer Findex) const
 Return GraphNode by index from GraphNodeSequence.

Handle_XCAFDoc_GraphNode GetChild (const Standard_Integer Chindex) const
 Return GraphNode by index from GraphNodeSequence.

Standard_Integer FatherIndex (const Handle< XCAFDoc_GraphNode > &F) const
 Return index of <F>, or zero if there is no such Graphnode.

Standard_Integer ChildIndex (const Handle< XCAFDoc_GraphNode > &Ch) const
 Return index of <Ch>, or zero if there is no such Graphnode.

Standard_Boolean IsFather (const Handle< XCAFDoc_GraphNode > &Ch) const
 returns TRUE if <me> is father of <Ch>.

Standard_Boolean IsChild (const Handle< XCAFDoc_GraphNode > &F) const
 returns TRUE if <me> is child of <F>.

Standard_Integer NbFathers () const
 return Number of Fathers GraphNodes.

Standard_Integer NbChildren () const
 return Number of Childrens GraphNodes.
//! Implementation of Attribute methods:
===================================

const Standard_GUIDID () const
 Returns the Graph ID (default or explicit one depending
onthe Set method used).

virtual void Restore (const Handle< TDF_Attribute > &with)
 Restores the backuped contents from <anAttribute>
into this one. It is used when aborting a
transaction.

virtual void Paste (const Handle< TDF_Attribute > &into, const Handle< TDF_RelocationTable > &RT) const
 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 may paste the contents of <me> into
<intoAttribute>.

The given pasted attribute can be full or empty of
its contents. But don't make a NEW! Just set the
contents!

It is possible to use <aRelocationTable> to
get/set the relocation value of a source
attribute.

virtual Handle_TDF_Attribute NewEmpty () const
 Returns an new empty attribute from the good end
type. It is used by the copy algorithm.

virtual void References (const Handle< TDF_DataSet > &aDataSet) const
 Adds the first level referenced attributes and labels
to <aDataSet>.

For this, use the AddLabel or AddAttribute of
DataSet.

If there is none, do not implement the method.

virtual Standard_OStreamDump (Standard_OStream &anOS) const
 Dumps the minimum information about <me> on
<aStream>.


virtual void BeforeForget ()
 Something to do before forgetting an Attribute to a
label.

Static Public Member Functions

static 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 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 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 const Standard_GUIDGetDefaultGraphID ()
 returns a default Graph ID. this ID is used by the
<Set> method without explicit tree ID.
//! Instance methods:
================


Constructor & Destructor Documentation


Member Function Documentation

virtual void XCAFDoc_GraphNode::BeforeForget ( ) [virtual]

Reimplemented from TDF_Attribute.

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

Reimplemented from TDF_Attribute.

Handle_XCAFDoc_GraphNode XCAFDoc_GraphNode::GetChild ( const Standard_Integer  Chindex) const
Handle_XCAFDoc_GraphNode XCAFDoc_GraphNode::GetFather ( const Standard_Integer  Findex) const

Implements TDF_Attribute.

virtual Handle_TDF_Attribute XCAFDoc_GraphNode::NewEmpty ( ) const [virtual]

Implements TDF_Attribute.

virtual void XCAFDoc_GraphNode::Paste ( const Handle< TDF_Attribute > &  intoAttribute,
const Handle< TDF_RelocationTable > &  aRelocationTable 
) const [virtual]

Implements TDF_Attribute.

virtual void XCAFDoc_GraphNode::References ( const Handle< TDF_DataSet > &  aDataSet) const [virtual]

Reimplemented from TDF_Attribute.

virtual void XCAFDoc_GraphNode::Restore ( const Handle< TDF_Attribute > &  anAttribute) [virtual]

Implements TDF_Attribute.

static Handle_XCAFDoc_GraphNode XCAFDoc_GraphNode::Set ( const TDF_Label L) [static]
static Handle_XCAFDoc_GraphNode XCAFDoc_GraphNode::Set ( const TDF_Label L,
const Standard_GUID ExplicitGraphID 
) [static]

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