Open CASCADE Technology 7.8.0
Public Member Functions
IFGraph_Cycles Class Reference

determines strong components in a graph which are Cycles More...

#include <IFGraph_Cycles.hxx>

Inheritance diagram for IFGraph_Cycles:
Inheritance graph
[legend]

Public Member Functions

 IFGraph_Cycles (const Interface_Graph &agraph, const Standard_Boolean whole)
 creates with a Graph, and will analyse : whole True : all the contents of the Model whole False : sub-parts which will be given later
 
 IFGraph_Cycles (IFGraph_StrongComponants &subparts)
 creates from a StrongComponants which was already computed
 
virtual void Evaluate () override
 does the computation. Cycles are StrongComponants which are not Single
 
- Public Member Functions inherited from 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 &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.
 
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 ()
 

Additional Inherited Members

- Protected Attributes inherited from IFGraph_SubPartsIterator
Interface_Graph thegraph
 

Detailed Description

determines strong components in a graph which are Cycles

Constructor & Destructor Documentation

◆ IFGraph_Cycles() [1/2]

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

creates with a Graph, and will analyse : whole True : all the contents of the Model whole False : sub-parts which will be given later

◆ IFGraph_Cycles() [2/2]

IFGraph_Cycles::IFGraph_Cycles ( IFGraph_StrongComponants subparts)

creates from a StrongComponants which was already computed

Member Function Documentation

◆ Evaluate()

virtual void IFGraph_Cycles::Evaluate ( )
overridevirtual

does the computation. Cycles are StrongComponants which are not Single

Reimplemented from IFGraph_SubPartsIterator.


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