Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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.
More...

#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
More...
 
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
More...
 
void UnSetFather (const Handle< XCAFDoc_GraphNode > &F)
 Remove <F> from Fathers GraphNodeSequence.
and remove link between father and child.
More...
 
void UnSetFather (const Standard_Integer Findex)
 Remove Father GraphNode by index from Fathers GraphNodeSequence.
and remove link between father and child.
More...
 
void UnSetChild (const Handle< XCAFDoc_GraphNode > &Ch)
 Remove <Ch> from GraphNodeSequence.
and remove link between father and child.
More...
 
void UnSetChild (const Standard_Integer Chindex)
 Remove Child GraphNode by index from Children GraphNodeSequence.
and remove link between father and child.
More...
 
Handle_XCAFDoc_GraphNode GetFather (const Standard_Integer Findex) const
 Return GraphNode by index from GraphNodeSequence.
More...
 
Handle_XCAFDoc_GraphNode GetChild (const Standard_Integer Chindex) const
 Return GraphNode by index from GraphNodeSequence.
More...
 
Standard_Integer FatherIndex (const Handle< XCAFDoc_GraphNode > &F) const
 Return index of <F>, or zero if there is no such Graphnode.
More...
 
Standard_Integer ChildIndex (const Handle< XCAFDoc_GraphNode > &Ch) const
 Return index of <Ch>, or zero if there is no such Graphnode.
More...
 
Standard_Boolean IsFather (const Handle< XCAFDoc_GraphNode > &Ch) const
 returns TRUE if <me> is father of <Ch>.
More...
 
Standard_Boolean IsChild (const Handle< XCAFDoc_GraphNode > &F) const
 returns TRUE if <me> is child of <F>.
More...
 
Standard_Integer NbFathers () const
 return Number of Fathers GraphNodes.
More...
 
Standard_Integer NbChildren () const
 return Number of Childrens GraphNodes.
//! Implementation of Attribute methods:
===================================
More...
 
const Standard_GUIDID () const
 Returns the Graph ID (default or explicit one depending
onthe Set method used).
More...
 
virtual void Restore (const Handle< TDF_Attribute > &with)
 Restores the backuped contents from <anAttribute>
into this one. It is used when aborting a
transaction.
More...
 
virtual void Paste (const Handle< TDF_Attribute > &into, const Handle< TDF_RelocationTable > &RT) const
 
 This method is different from the "Copy" one, <br>
     because it is used when copying an attribute from <br>
     a source structure into a target structure. This <br>
     method may paste the contents of <me> into <br>
     <intoAttribute>. <br>


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.
More...

 
virtual Handle_TDF_Attribute NewEmpty () const
 Returns an new empty attribute from the good end
type. It is used by the copy algorithm.
More...
 
virtual void References (const Handle< TDF_DataSet > &aDataSet) const
 
 Adds the first level referenced attributes and labels <br>
     to <aDataSet>. <br>


For this, use the AddLabel or AddAttribute of
DataSet.

If there is none, do not implement the method.
More...

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


More...

 
virtual void BeforeForget ()
 Something to do before forgetting an Attribute to a
label.
More...
 
- Public Member Functions inherited from TDF_Attribute
const TDF_Label Label () const
 
Returns   the   label to which  the   attribute is <br>
    attached. If the  label is not  included in a  DF, <br>
    the label is null. See Label. <br>

Warning
If the label is not included in a data
framework, it is null.
This function should not be redefined inline.
More...

 
Standard_Integer Transaction () const
 
 Returns the transaction index in which the <br>
     attribute has been created or modified. <br>


More...

 
Standard_Integer UntilTransaction () const
 Returns the upper transaction index until which
the attribute is/was valid. This number may
vary. A removed attribute validity range is
reduced to its transaction index.
More...
 
Standard_Boolean IsValid () const
 
 Returns true if the attribute is valid; i.e. not a <br>
     backuped or removed one. <br>


More...

 
Standard_Boolean IsNew () const
 
 Returns true if the attribute has no backup <br>


More...

 
Standard_Boolean IsForgotten () const
 
 Returns true if the attribute forgotten status is <br>
     set. <br>


//! ShortCut Methods concerning associated attributes
=================================================
More...

 
Standard_Boolean IsAttribute (const Standard_GUID &anID) const
 Returns true if it exists an associated attribute
of <me> with <anID> as ID.
More...
 
Standard_Boolean FindAttribute (const Standard_GUID &anID, Handle< TDF_Attribute > &anAttribute) const
 
 Finds an associated  attribute of  <me>, according <br>
     to <anID>.  the returned <anAttribute> is a  valid <br>
     one. The  method  returns  True if   found,  False <br>
     otherwise.   A removed attribute  cannot be found using <br>

this method.
More...

 
void AddAttribute (const Handle< TDF_Attribute > &other) const
 Adds an Attribute <other> to the label of
<me>.Raises if there is already one of the same
GUID fhan <other>.
More...
 
Standard_Boolean ForgetAttribute (const Standard_GUID &aguid) const
 Forgets the Attribute of GUID <aguid> associated
to the label of <me>. Be carefull that if <me> is
the attribute of <guid>, <me> will have a null label
after this call. If the attribute doesn't exist
returns False. Otherwise returns True.
More...
 
void ForgetAllAttributes (const Standard_Boolean clearChildren=Standard_True) const
 Forgets all the attributes attached to the label
of <me>. Does it on the sub-labels if
<clearChildren> is set to true. Of course, this
method is compatible with Transaction & Delta
mecanisms. Be carefull that if <me> will have a
null label after this call
More...
 
virtual void AfterAddition ()
 Something to do after adding an Attribute to a label.
More...
 
virtual void BeforeRemoval ()
 Something to do before removing an Attribute from
a label.
More...
 
virtual void AfterResume ()
 Something to do after resuming an Attribute from
a label.
More...
 
virtual Standard_Boolean AfterRetrieval (const Standard_Boolean forceIt=Standard_False)
 Something to do AFTER creation of an attribute by
persistent-transient translation. The returned
status says if AfterUndo has been performed (true)
or if this callback must be called once again
further (false). If <forceIt> is set to true, the
method MUST perform and return true. Does nothing
by default and returns true.
More...
 
virtual Standard_Boolean BeforeUndo (const Handle< TDF_AttributeDelta > &anAttDelta, const Standard_Boolean forceIt=Standard_False)
 Something to do before applying <anAttDelta>. The
returned status says if AfterUndo has been
performed (true) or if this callback must be
called once again further (false). If <forceIt> is
set to true, the method MUST perform and return
true. Does nothing by default and returns true.
More...
 
virtual Standard_Boolean AfterUndo (const Handle< TDF_AttributeDelta > &anAttDelta, const Standard_Boolean forceIt=Standard_False)
 Something to do after applying <anAttDelta>. The
returned status says if AfterUndo has been
performed (true) or if this callback must be
called once again further (false). If <forceIt> is
set to true, the method MUST perform and return
true. Does nothing by default and returns true.
More...
 
virtual void BeforeCommitTransaction ()
 A callback.
By default does nothing.
It is called by TDF_Data::CommitTransaction() method.
More...
 
void Backup ()
 
 Backups the attribute. The backuped attribute is <br>
     flagged "Backuped" and not "Valid". <br>


The method does nothing:

1) If the attribute transaction number is equal to
the current transaction number (the attribute has
already been backuped).

2) If the attribute is not attached to a label.
More...

 
Standard_Boolean IsBackuped () const
 
 Returns true if the attribute backup status is <br>
     set. This status is set/unset by the <br>
     Backup() method. <br>


More...

 
virtual Handle_TDF_Attribute BackupCopy () const
 Copies the attribute contents into a new other
attribute. It is used by Backup().
More...
 
virtual Handle_TDF_DeltaOnAddition DeltaOnAddition () const
 Makes an AttributeDelta because <me>
appeared. The only known use of a redefinition of
this method is to return a null handle (no delta).
More...
 
virtual Handle_TDF_DeltaOnForget DeltaOnForget () const
 Makes an AttributeDelta because <me> has been
forgotten.
More...
 
virtual Handle_TDF_DeltaOnResume DeltaOnResume () const
 Makes an AttributeDelta because <me> has been
resumed.
More...
 
virtual
Handle_TDF_DeltaOnModification 
DeltaOnModification (const Handle< TDF_Attribute > &anOldAttribute) const
 Makes a DeltaOnModification between <me> and
<anOldAttribute.
More...
 
virtual void DeltaOnModification (const Handle< TDF_DeltaOnModification > &aDelta)
 Applies a DeltaOnModification to <me>.
More...
 
virtual Handle_TDF_DeltaOnRemoval DeltaOnRemoval () const
 Makes a DeltaOnRemoval on <me> because <me> has
disappeared from the DS.
More...
 
Standard_OStreamoperator<< (Standard_OStream &anOS) const
 
virtual void ExtendedDump (Standard_OStream &anOS, const TDF_IDFilter &aFilter, TDF_AttributeIndexedMap &aMap) const
 Dumps the attribute content on <aStream>, using
<aMap> like this: if an attribute is not in the
map, first put add it to the map and then dump it.
Use the map rank instead of dumping each attribute
field.
More...
 
void Forget (const Standard_Integer aTransaction)
 
 Forgets the attribute. <aTransaction> is the <br>
     current transaction in which the forget is done. A <br>
     forgotten attribute is also flagged not "Valid". <br>


A forgotten attribute is invisible. Set also the
"Valid" status to False. Obvioulsy, DF cannot
empty an attribute (this has a semantic
signification), but can remove it from the
structure. So, a forgotten attribute is NOT an empty
one, but a soon DEAD one.

Should be private.
More...

 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const Handle_Standard_Type &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

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

Additional Inherited Members

- Protected Member Functions inherited from TDF_Attribute
 TDF_Attribute ()
 Initializes fields.
More...
 

Detailed Description

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

Constructor & Destructor Documentation

XCAFDoc_GraphNode::XCAFDoc_GraphNode ( )

Member Function Documentation

virtual void XCAFDoc_GraphNode::BeforeForget ( )
virtual

Something to do before forgetting an Attribute to a
label.

Reimplemented from TDF_Attribute.

Standard_Integer XCAFDoc_GraphNode::ChildIndex ( const Handle< XCAFDoc_GraphNode > &  Ch) const

Return index of <Ch>, or zero if there is no such Graphnode.

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

 Dumps the minimum information about <me> on <br>
     <aStream>. <br>


Reimplemented from TDF_Attribute.

Standard_Integer XCAFDoc_GraphNode::FatherIndex ( const Handle< XCAFDoc_GraphNode > &  F) const

Return index of <F>, or zero if there is no such Graphnode.

static Standard_Boolean XCAFDoc_GraphNode::Find ( const TDF_Label L,
Handle< XCAFDoc_GraphNode > &  G 
)
static

class methods working on the node
===================================
//! Shortcut to search a Graph node attribute with default
GraphID. Returns true if found.

Handle_XCAFDoc_GraphNode XCAFDoc_GraphNode::GetChild ( const Standard_Integer  Chindex) const

Return GraphNode by index from GraphNodeSequence.

static const Standard_GUID& XCAFDoc_GraphNode::GetDefaultGraphID ( )
static

returns a default Graph ID. this ID is used by the
<Set> method without explicit tree ID.
//! Instance methods:
================

Handle_XCAFDoc_GraphNode XCAFDoc_GraphNode::GetFather ( const Standard_Integer  Findex) const

Return GraphNode by index from GraphNodeSequence.

const Standard_GUID& XCAFDoc_GraphNode::ID ( ) const
virtual

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

Implements TDF_Attribute.

Standard_Boolean XCAFDoc_GraphNode::IsChild ( const Handle< XCAFDoc_GraphNode > &  F) const

returns TRUE if <me> is child of <F>.

Standard_Boolean XCAFDoc_GraphNode::IsFather ( const Handle< XCAFDoc_GraphNode > &  Ch) const

returns TRUE if <me> is father of <Ch>.

Standard_Integer XCAFDoc_GraphNode::NbChildren ( ) const

return Number of Childrens GraphNodes.
//! Implementation of Attribute methods:
===================================

Standard_Integer XCAFDoc_GraphNode::NbFathers ( ) const

return Number of Fathers GraphNodes.

virtual Handle_TDF_Attribute XCAFDoc_GraphNode::NewEmpty ( ) const
virtual

Returns an new empty attribute from the good end
type. It is used by the copy algorithm.

Implements TDF_Attribute.

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

 This method is different from the "Copy" one, <br>
     because it is used when copying an attribute from <br>
     a source structure into a target structure. This <br>
     method may paste the contents of <me> into <br>
     <intoAttribute>. <br>


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.

Implements TDF_Attribute.

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

 Adds the first level referenced attributes and labels <br>
     to <aDataSet>. <br>


For this, use the AddLabel or AddAttribute of
DataSet.

If there is none, do not implement the method.

Reimplemented from TDF_Attribute.

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

Restores the backuped contents from <anAttribute>
into this one. It is used when aborting a
transaction.

Implements TDF_Attribute.

static Handle_XCAFDoc_GraphNode XCAFDoc_GraphNode::Set ( const TDF_Label L)
static

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 XCAFDoc_GraphNode::Set ( const TDF_Label L,
const Standard_GUID ExplicitGraphID 
)
static

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.

Standard_Integer XCAFDoc_GraphNode::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_Integer XCAFDoc_GraphNode::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

void XCAFDoc_GraphNode::SetGraphID ( const Standard_GUID explicitID)
void XCAFDoc_GraphNode::UnSetChild ( const Handle< XCAFDoc_GraphNode > &  Ch)

Remove <Ch> from GraphNodeSequence.
and remove link between father and child.

void XCAFDoc_GraphNode::UnSetChild ( const Standard_Integer  Chindex)

Remove Child GraphNode by index from Children GraphNodeSequence.
and remove link between father and child.

void XCAFDoc_GraphNode::UnSetFather ( const Handle< XCAFDoc_GraphNode > &  F)

Remove <F> from Fathers GraphNodeSequence.
and remove link between father and child.

void XCAFDoc_GraphNode::UnSetFather ( const Standard_Integer  Findex)

Remove Father GraphNode by index from Fathers GraphNodeSequence.
and remove link between father and child.


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