Open CASCADE Technology 7.8.0
Public Member Functions | Protected Attributes
IFGraph_SubPartsIterator Class Reference

defines general form for graph classes of which result is not a single iteration on Entities, but a nested one : External iteration works on sub-parts, identified by each class (according to its algorithm) Internal Iteration concerns Entities of a sub-part Sub-Parts are assumed to be disjoined; if they are not, the first one has priority More...

#include <IFGraph_SubPartsIterator.hxx>

Inheritance diagram for IFGraph_SubPartsIterator:
Inheritance graph
[legend]

Public Member Functions

 IFGraph_SubPartsIterator (const Interface_Graph &agraph, const Standard_Boolean whole)
 Creates with a Graph, whole or parts of it whole True : works on the entire Model whole False : empty, ready to be filled SubPartIterator is set to load entities.
 
 IFGraph_SubPartsIterator (IFGraph_SubPartsIterator &other)
 Creates a SubPartIterator from another one and gets its Data Note that only non-empty sub-parts are taken into account PartNum is set to the last one.
 
void GetParts (IFGraph_SubPartsIterator &other)
 Gets Parts from another SubPartsIterator (in addition to the ones already recorded) Error if both SubPartsIterators are not based on the same Model.
 
Handle< Interface_InterfaceModelModel () const
 Returns the Model with which this Iterator was created.
 
void AddPart ()
 Adds an empty part and sets it to receive entities.
 
Standard_Integer NbParts () const
 Returns count of registered parts.
 
Standard_Integer PartNum () const
 Returns numero of part which currently receives entities (0 at load time)
 
void SetLoad ()
 Sets SubPartIterator to get Entities (by GetFromEntity & GetFromIter) into load status, to be analysed later.
 
void SetPartNum (const Standard_Integer num)
 Sets numero of receiving part to a new value Error if not in range (1-NbParts)
 
void GetFromEntity (const Handle< Standard_Transient > &ent, const Standard_Boolean shared)
 Adds an Entity : into load status if in Load mode, to the current part if there is one. If shared is True, adds also its shared ones (shared at all levels)
 
void GetFromIter (const Interface_EntityIterator &iter)
 Adds a list of Entities (into Load mode or to a Part), given as an Iterator.
 
void Reset ()
 Erases data (parts, entities) : "me" becomes empty and in load status.
 
virtual void Evaluate ()
 Called by Clear, this method allows evaluation just before iteration; its default is doing nothing, it is designed to be redefined.
 
Interface_GraphContent Loaded () const
 Returns entities which where loaded (not set into a sub-part)
 
Interface_Graph LoadedGraph () const
 Same as above, but under the form of a Graph.
 
Standard_Boolean IsLoaded (const Handle< Standard_Transient > &ent) const
 Returns True if an Entity is loaded (either set into a sub-part or not)
 
Standard_Boolean IsInPart (const Handle< Standard_Transient > &ent) const
 Returns True if an Entity is Present in a sub-part.
 
Standard_Integer EntityPartNum (const Handle< Standard_Transient > &ent) const
 Returns number of the sub-part in which an Entity has been set if it is not in a sub-part (or not loaded at all), Returns 0.
 
void Start ()
 Sets iteration to its beginning; calls Evaluate.
 
Standard_Boolean More ()
 Returns True if there are more sub-parts to iterate on Note : an empty sub-part is not taken in account by Iteration.
 
void Next ()
 Sets iteration to the next sub-part if there is not, IsSingle-Entities will raises an exception.
 
Standard_Boolean IsSingle () const
 Returns True if current sub-part is single (has only one Entity) Error if there is no sub-part to iterate now.
 
Handle< Standard_TransientFirstEntity () const
 Returns the first entity of current sub-part, that is for a Single one, the only one it contains Error : same as above (end of iteration)
 
Interface_EntityIterator Entities () const
 Returns current sub-part, not as a "Value", but as an Iterator on Entities it contains Error : same as above (end of iteration)
 
virtual ~IFGraph_SubPartsIterator ()
 

Protected Attributes

Interface_Graph thegraph
 

Detailed Description

defines general form for graph classes of which result is not a single iteration on Entities, but a nested one : External iteration works on sub-parts, identified by each class (according to its algorithm) Internal Iteration concerns Entities of a sub-part Sub-Parts are assumed to be disjoined; if they are not, the first one has priority

A SubPartsIterator can work in two steps : first, load entities which have to be processed then, analyse to set those entities into sub-parts

Constructor & Destructor Documentation

◆ IFGraph_SubPartsIterator() [1/2]

IFGraph_SubPartsIterator::IFGraph_SubPartsIterator ( const Interface_Graph agraph,
const Standard_Boolean  whole 
)

Creates with a Graph, whole or parts of it whole True : works on the entire Model whole False : empty, ready to be filled SubPartIterator is set to load entities.

◆ IFGraph_SubPartsIterator() [2/2]

IFGraph_SubPartsIterator::IFGraph_SubPartsIterator ( IFGraph_SubPartsIterator other)

Creates a SubPartIterator from another one and gets its Data Note that only non-empty sub-parts are taken into account PartNum is set to the last one.

◆ ~IFGraph_SubPartsIterator()

virtual IFGraph_SubPartsIterator::~IFGraph_SubPartsIterator ( )
virtual

Member Function Documentation

◆ AddPart()

void IFGraph_SubPartsIterator::AddPart ( )

Adds an empty part and sets it to receive entities.

◆ Entities()

Interface_EntityIterator IFGraph_SubPartsIterator::Entities ( ) const

Returns current sub-part, not as a "Value", but as an Iterator on Entities it contains Error : same as above (end of iteration)

◆ EntityPartNum()

Standard_Integer IFGraph_SubPartsIterator::EntityPartNum ( const Handle< Standard_Transient > &  ent) const

Returns number of the sub-part in which an Entity has been set if it is not in a sub-part (or not loaded at all), Returns 0.

◆ Evaluate()

virtual void IFGraph_SubPartsIterator::Evaluate ( )
virtual

Called by Clear, this method allows evaluation just before iteration; its default is doing nothing, it is designed to be redefined.

Reimplemented in IFGraph_ConnectedComponants, IFGraph_Cycles, IFGraph_SCRoots, and IFGraph_StrongComponants.

◆ FirstEntity()

Handle< Standard_Transient > IFGraph_SubPartsIterator::FirstEntity ( ) const

Returns the first entity of current sub-part, that is for a Single one, the only one it contains Error : same as above (end of iteration)

◆ GetFromEntity()

void IFGraph_SubPartsIterator::GetFromEntity ( const Handle< Standard_Transient > &  ent,
const Standard_Boolean  shared 
)

Adds an Entity : into load status if in Load mode, to the current part if there is one. If shared is True, adds also its shared ones (shared at all levels)

◆ GetFromIter()

void IFGraph_SubPartsIterator::GetFromIter ( const Interface_EntityIterator iter)

Adds a list of Entities (into Load mode or to a Part), given as an Iterator.

◆ GetParts()

void IFGraph_SubPartsIterator::GetParts ( IFGraph_SubPartsIterator other)

Gets Parts from another SubPartsIterator (in addition to the ones already recorded) Error if both SubPartsIterators are not based on the same Model.

◆ IsInPart()

Standard_Boolean IFGraph_SubPartsIterator::IsInPart ( const Handle< Standard_Transient > &  ent) const

Returns True if an Entity is Present in a sub-part.

◆ IsLoaded()

Standard_Boolean IFGraph_SubPartsIterator::IsLoaded ( const Handle< Standard_Transient > &  ent) const

Returns True if an Entity is loaded (either set into a sub-part or not)

◆ IsSingle()

Standard_Boolean IFGraph_SubPartsIterator::IsSingle ( ) const

Returns True if current sub-part is single (has only one Entity) Error if there is no sub-part to iterate now.

◆ Loaded()

Interface_GraphContent IFGraph_SubPartsIterator::Loaded ( ) const

Returns entities which where loaded (not set into a sub-part)

◆ LoadedGraph()

Interface_Graph IFGraph_SubPartsIterator::LoadedGraph ( ) const

Same as above, but under the form of a Graph.

◆ Model()

Handle< Interface_InterfaceModel > IFGraph_SubPartsIterator::Model ( ) const

Returns the Model with which this Iterator was created.

◆ More()

Standard_Boolean IFGraph_SubPartsIterator::More ( )

Returns True if there are more sub-parts to iterate on Note : an empty sub-part is not taken in account by Iteration.

◆ NbParts()

Standard_Integer IFGraph_SubPartsIterator::NbParts ( ) const

Returns count of registered parts.

◆ Next()

void IFGraph_SubPartsIterator::Next ( )

Sets iteration to the next sub-part if there is not, IsSingle-Entities will raises an exception.

◆ PartNum()

Standard_Integer IFGraph_SubPartsIterator::PartNum ( ) const

Returns numero of part which currently receives entities (0 at load time)

◆ Reset()

void IFGraph_SubPartsIterator::Reset ( )

Erases data (parts, entities) : "me" becomes empty and in load status.

◆ SetLoad()

void IFGraph_SubPartsIterator::SetLoad ( )

Sets SubPartIterator to get Entities (by GetFromEntity & GetFromIter) into load status, to be analysed later.

◆ SetPartNum()

void IFGraph_SubPartsIterator::SetPartNum ( const Standard_Integer  num)

Sets numero of receiving part to a new value Error if not in range (1-NbParts)

◆ Start()

void IFGraph_SubPartsIterator::Start ( )

Sets iteration to its beginning; calls Evaluate.

Field Documentation

◆ thegraph

Interface_Graph IFGraph_SubPartsIterator::thegraph
protected

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