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

DataExchange
TKXSBase
Interface


Interface_EntityCluster Class Reference

Auxiliary class for EntityList. An EntityList designates an
EntityCluster, which brings itself an fixed maximum count of
Entities. If it is full, it gives access to another cluster
("Next"). This class is intended to give a good compromise
between access time (faster than a Sequence, good for little
count) and memory use (better than a Sequence in any case,
overall for little count, better than an Array for a very
little count. It is designed for a light management.
Remark that a new Item may not be Null, because this is the
criterium used for "End of List"
.

#include <Interface_EntityCluster.hxx>


Public Member Functions

Standard_EXPORT Interface_EntityCluster ()
 Creates an empty, non-chained, EntityCluster
.
Standard_EXPORT Interface_EntityCluster (const Handle(Standard_Transient)&ent)
 Creates a non-chained EntityCluster, filled with one Entity
.
Standard_EXPORT Interface_EntityCluster (const Handle(Interface_EntityCluster)&ec)
 Creates an empty EntityCluster, chained with another one
(that is, put BEFORE this other one in the list)
.
Standard_EXPORT Interface_EntityCluster (const Handle(Standard_Transient)&ant, const Handle(Interface_EntityCluster)&ec)
 Creates an EntityCluster, filled with a first Entity, and
chained to another EntityCluster (BEFORE it, as above)
.
Standard_EXPORT void Append (const Handle(Standard_Transient)&ent)
 Appends an Entity to the Cluster. If it is not full, adds the
entity directly inside itself. Else, transmits to its Next
and Creates it if it does not yet exist
.
Standard_EXPORT Standard_Boolean Remove (const Handle(Standard_Transient)&ent)
 Removes an Entity from the Cluster. If it is not found, calls
its Next one to do so.
Returns True if it becomes itself empty, False else
(thus, a Cluster which becomes empty is deleted from the list)
.
Standard_EXPORT Standard_Boolean Remove (const Standard_Integer num)
 Removes an Entity from the Cluster, given its rank. If <num>
is greater than NbLocal, calls its Next with (num - NbLocal),
Returns True if it becomes itself empty, False else
.
Standard_EXPORT Standard_Integer NbEntities () const
 Returns total count of Entities (including Next)
.
Standard_EXPORT const Handle_Standard_Transient & Value (const Standard_Integer num) const
 Returns the Entity identified by its rank in the list
(including Next)
.
Standard_EXPORT void SetValue (const Standard_Integer num, const Handle(Standard_Transient)&ent)
 Changes an Entity given its rank.
.
Standard_EXPORT void FillIterator (Interface_EntityIterator &iter) const
 Fills an Iterator with designated Entities (includes Next)
.
Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Private Member Functions

Standard_EXPORT Standard_Boolean IsLocalFull () const
 Returns True if all the set of entities local to a Cluster is
full. Used by EntityList.
.
Standard_EXPORT Standard_Integer NbLocal () const
 Returns count of entities in the local set (without Next)
Entities can then be read normally by method Value
.
Standard_EXPORT Standard_Boolean HasNext () const
 Returns True if a Cluster has a Next
.
Standard_EXPORT Handle_Interface_EntityCluster Next () const
 Returns Next Cluster in the chain
.

Private Attributes

Handle_Standard_Transient theents [4]
Handle_Interface_EntityCluster thenext


Constructor & Destructor Documentation

Standard_EXPORT Interface_EntityCluster::Interface_EntityCluster  ) 
 

Standard_EXPORT Interface_EntityCluster::Interface_EntityCluster const Handle(Standard_Transient)&  ent  ) 
 

Standard_EXPORT Interface_EntityCluster::Interface_EntityCluster const Handle(Interface_EntityCluster)&  ec  ) 
 

Standard_EXPORT Interface_EntityCluster::Interface_EntityCluster const Handle(Standard_Transient)&  ant,
const Handle(Interface_EntityCluster)&  ec
 


Member Function Documentation

Standard_EXPORT void Interface_EntityCluster::Append const Handle(Standard_Transient)&  ent  ) 
 

Standard_EXPORT void Interface_EntityCluster::FillIterator Interface_EntityIterator iter  )  const
 

Standard_EXPORT const Interface_EntityCluster::Handle Standard_Type   )  const
 

Standard_EXPORT Standard_Boolean Interface_EntityCluster::HasNext  )  const [private]
 

Standard_EXPORT Standard_Boolean Interface_EntityCluster::IsLocalFull  )  const [private]
 

Standard_EXPORT Standard_Integer Interface_EntityCluster::NbEntities  )  const
 

Standard_EXPORT Standard_Integer Interface_EntityCluster::NbLocal  )  const [private]
 

Standard_EXPORT Handle_Interface_EntityCluster Interface_EntityCluster::Next  )  const [private]
 

Standard_EXPORT Standard_Boolean Interface_EntityCluster::Remove const Standard_Integer  num  ) 
 

Standard_EXPORT Standard_Boolean Interface_EntityCluster::Remove const Handle(Standard_Transient)&  ent  ) 
 

Standard_EXPORT void Interface_EntityCluster::SetValue const Standard_Integer  num,
const Handle(Standard_Transient)&  ent
 

Standard_EXPORT const Handle_Standard_Transient& Interface_EntityCluster::Value const Standard_Integer  num  )  const
 


Field Documentation

Handle_Standard_Transient Interface_EntityCluster::theents[4] [private]
 

Handle_Interface_EntityCluster Interface_EntityCluster::thenext [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 14:41:33 2008 for OpenCASCADE by  doxygen 1.4.1