# DataExchange
TKXSBase
IFGraph

# 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
A SubPartsIterator can work in two steps : first, load
entities which have to be processed
then, analyse to set those entities into sub-parts

`#include <IFGraph_SubPartsIterator.hxx>`

Inheritance diagram for IFGraph_SubPartsIterator:

[legend]

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
Standard_EXPORT | 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 .
Standard_EXPORT | 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 .
Standard_EXPORT 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 .
Standard_EXPORT Handle_Interface_InterfaceModel | Model () const
| Returns the Model with which this Iterator was created .
Standard_EXPORT void | AddPart ()
| Adds an empty part and sets it to receive entities .
Standard_EXPORT Standard_Integer | NbParts () const
| Returns count of registered parts .
Standard_EXPORT Standard_Integer | PartNum () const
| Returns numero of part which currently receives entities (0 at load time) .
Standard_EXPORT void | SetLoad ()
| Sets SubPartIterator to get Entities (by GetFromEntity & GetFromIter) into load status, to be analysed later .
Standard_EXPORT void | SetPartNum (const Standard_Integer num)
| Sets numero of receiving part to a new value Error if not in range (1-NbParts) .
Standard_EXPORT 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) .
Standard_EXPORT void | GetFromIter (const Interface_EntityIterator &iter)
| Adds a list of Entities (into Load mode or to a Part), given as an Iterator .
Standard_EXPORT void | Reset ()
| Erases data (parts, entities) : "me" becomes empty and in load status .
virtual Standard_EXPORT void | Evaluate ()
| Called by Clear, this method allows evaluation just before iteration; its default is doing nothing, it is designed to be redefined .
Standard_EXPORT Interface_GraphContent | Loaded () const
| Returns entities which where loaded (not set into a sub-part) .
Standard_EXPORT Interface_Graph | LoadedGraph () const
| Same as above, but under the form of a Graph .
Standard_EXPORT 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_EXPORT Standard_Boolean | IsInPart (const Handle(Standard_Transient)&ent) const
| Returns True if an Entity is Present in a sub-part .
Standard_EXPORT 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 .
Standard_EXPORT void | Start ()
| Sets iteration to its beginning; calls Evaluate .
Standard_EXPORT 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 .
Standard_EXPORT void | Next ()
| Sets iteration to the next sub-part if there is not, IsSingle-Entities will raises an exception .
Standard_EXPORT 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 .
Standard_EXPORT Handle_Standard_Transient | 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) .
Standard_EXPORT 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 Standard_EXPORT void | Delete ()
virtual Standard_EXPORT | ~IFGraph_SubPartsIterator ()

## Protected Attributes

Interface_Graph | thegraph

## Private Member Functions

Standard_EXPORT const Interface_Graph & | Graph () const
| Returns the Graph used by <me>. Used to create another SubPartsIterator from <me> .

## Private Attributes

Handle_TColStd_HSequenceOfInteger | theparts
Handle_TColStd_HSequenceOfInteger | thefirsts
Standard_Integer | thepart
Standard_Integer | thecurr

## Constructor & Destructor Documentation

Standard_EXPORT IFGraph_SubPartsIterator::IFGraph_SubPartsIterator | ( | const Interface_Graph & | agraph,
|  | const Standard_Boolean | whole
| ) |

Standard_EXPORT IFGraph_SubPartsIterator::IFGraph_SubPartsIterator | ( | IFGraph_SubPartsIterator & | other | ) |

virtual Standard_EXPORT IFGraph_SubPartsIterator::~IFGraph_SubPartsIterator | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

Standard_EXPORT void IFGraph_SubPartsIterator::AddPart | ( |  | ) |

virtual Standard_EXPORT void IFGraph_SubPartsIterator::Delete | ( |  | ) | `[virtual]`

Standard_EXPORT Interface_EntityIterator IFGraph_SubPartsIterator::Entities | ( |  | ) | const

Standard_EXPORT Standard_Integer IFGraph_SubPartsIterator::EntityPartNum | ( | const Handle(Standard_Transient)& | ent | ) | const

virtual Standard_EXPORT void IFGraph_SubPartsIterator::Evaluate | ( |  | ) | `[virtual]`

| Reimplemented in IFGraph_ConnectedComponants, IFGraph_Cycles, IFGraph_SCRoots, and IFGraph_StrongComponants.

Standard_EXPORT Handle_Standard_Transient IFGraph_SubPartsIterator::FirstEntity | ( |  | ) | const

Standard_EXPORT void IFGraph_SubPartsIterator::GetFromEntity | ( | const Handle(Standard_Transient)& | ent,
|  | const Standard_Boolean | shared
| ) |

Standard_EXPORT void IFGraph_SubPartsIterator::GetFromIter | ( | const Interface_EntityIterator & | iter | ) |

Standard_EXPORT void IFGraph_SubPartsIterator::GetParts | ( | IFGraph_SubPartsIterator & | other | ) |

Standard_EXPORT const Interface_Graph& IFGraph_SubPartsIterator::Graph | ( |  | ) | const`[private]`

Standard_EXPORT Standard_Boolean IFGraph_SubPartsIterator::IsInPart | ( | const Handle(Standard_Transient)& | ent | ) | const

Standard_EXPORT Standard_Boolean IFGraph_SubPartsIterator::IsLoaded | ( | const Handle(Standard_Transient)& | ent | ) | const

Standard_EXPORT Standard_Boolean IFGraph_SubPartsIterator::IsSingle | ( |  | ) | const

Standard_EXPORT Interface_GraphContent IFGraph_SubPartsIterator::Loaded | ( |  | ) | const

Standard_EXPORT Interface_Graph IFGraph_SubPartsIterator::LoadedGraph | ( |  | ) | const

Standard_EXPORT Handle_Interface_InterfaceModel IFGraph_SubPartsIterator::Model | ( |  | ) | const

Standard_EXPORT Standard_Boolean IFGraph_SubPartsIterator::More | ( |  | ) |

Standard_EXPORT Standard_Integer IFGraph_SubPartsIterator::NbParts | ( |  | ) | const

Standard_EXPORT void IFGraph_SubPartsIterator::Next | ( |  | ) |

void IFGraph_SubPartsIterator::operator delete | ( | void * | anAddress | ) | `[inline]`

| Reimplemented in IFGraph_ConnectedComponants, IFGraph_Cycles, IFGraph_SCRoots, and IFGraph_StrongComponants.

void* IFGraph_SubPartsIterator::operator new | ( | size_t | size | ) | `[inline]`

| Reimplemented in IFGraph_ConnectedComponants, IFGraph_Cycles, IFGraph_SCRoots, and IFGraph_StrongComponants.

void* IFGraph_SubPartsIterator::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

| Reimplemented in IFGraph_ConnectedComponants, IFGraph_Cycles, IFGraph_SCRoots, and IFGraph_StrongComponants.

Standard_EXPORT Standard_Integer IFGraph_SubPartsIterator::PartNum | ( |  | ) | const

Standard_EXPORT void IFGraph_SubPartsIterator::Reset | ( |  | ) |

Standard_EXPORT void IFGraph_SubPartsIterator::SetLoad | ( |  | ) |

Standard_EXPORT void IFGraph_SubPartsIterator::SetPartNum | ( | const Standard_Integer | num | ) |

Standard_EXPORT void IFGraph_SubPartsIterator::Start | ( |  | ) |

## Field Documentation

Standard_Integer IFGraph_SubPartsIterator::thecurr`[private]`

Handle_TColStd_HSequenceOfInteger IFGraph_SubPartsIterator::thefirsts`[private]`

Interface_Graph IFGraph_SubPartsIterator::thegraph`[protected]`

Standard_Integer IFGraph_SubPartsIterator::thepart`[private]`

Handle_TColStd_HSequenceOfInteger IFGraph_SubPartsIterator::theparts`[private]`

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

- IFGraph_SubPartsIterator.hxx