OCC Main Page | DataExchange | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

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:

Inheritance graph
[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_GraphGraph () 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:
Generated on Mon Aug 25 14:39:40 2008 for OpenCASCADE by  doxygen 1.4.1