Open CASCADE Technology 7.8.0
|
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 |