| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
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>

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