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

DataExchange
TKXSBase
IFSelect


IFSelect_SignCounter Class Reference

SignCounter gives the frame to count signatures associated
with entities, deducted from them. Ex.: their Dynamic Type.

It can sort a set of Entities according a signature, i.e. :
- list of different values found for this Signature
- for each one, count and list of entities
Results are returned as a SignatureList, which can be queried
on the count (list of strings, count per signature, or list of
entities per signature)

A SignCounter can be filled, either directly from lists, or
from the result of a Selection : hence, its content can be
automatically recomputed as desired

SignCounter works by using a Signature in its method AddSign

Methods can be redefined to, either
- directly compute the value without a Signature
- compute the value in the context of a Graph
.

#include <IFSelect_SignCounter.hxx>

Inheritance diagram for IFSelect_SignCounter:

Inheritance graph
[legend]

Public Member Functions

Standard_EXPORT IFSelect_SignCounter (const Standard_Boolean withmap=Standard_True, const Standard_Boolean withlist=Standard_False)
 Creates a SignCounter, without proper Signature
If <withmap> is True (default), added entities are counted
only if they are not yet recorded in the map
Map control can be set off if the input garantees uniqueness
of data
<withlist> is transmitted to SignatureList (option to list
entities, not only to count them).
.
Standard_EXPORT IFSelect_SignCounter (const Handle(IFSelect_Signature)&matcher, const Standard_Boolean withmap=Standard_True, const Standard_Boolean withlist=Standard_False)
 Creates a SignCounter, with a predefined Signature
Other arguments as for Create without Signature.
.
Standard_EXPORT Handle_IFSelect_Signature Signature () const
 Returns the Signature used to count entities. It can be null.
.
Standard_EXPORT void SetMap (const Standard_Boolean withmap)
 Changes the control status. The map is not cleared, simply
its use changes
.
virtual Standard_EXPORT Standard_Boolean AddEntity (const Handle(Standard_Transient)&ent, const Handle(Interface_InterfaceModel)&model)
 Adds an entity by considering its signature, which is given by
call to method AddSign
Returns True if added, False if already in the map (and
map control status set)
.
virtual Standard_EXPORT void AddSign (const Handle(Standard_Transient)&ent, const Handle(Interface_InterfaceModel)&model)
 Adds an entity (already filtered by Map) with its signature.
This signature can be computed with the containing model.
Its value is provided by the object Signature given at start,
if no Signature is defined, it does nothing.

Can be redefined (in this case, see also Sign)
.
Standard_EXPORT void AddList (const Handle(TColStd_HSequenceOfTransient)&list, const Handle(Interface_InterfaceModel)&model)
 Adds a list of entities by adding each of the items
.
virtual Standard_EXPORT void AddWithGraph (const Handle(TColStd_HSequenceOfTransient)&list, const Interface_Graph &graph)
 Adds a list of entities in the context given by the graph
Default just call basic AddList
Can be redefined to get a signature computed with the graph
.
Standard_EXPORT void AddModel (const Handle(Interface_InterfaceModel)&model)
 Adds all the entities contained in a Model
.
Standard_EXPORT void AddFromSelection (const Handle(IFSelect_Selection)&sel, const Interface_Graph &G)
 Adds the result determined by a Selection from a Graph
Remark : does not impact at all data from SetSelection & Co
.
Standard_EXPORT void SetSelection (const Handle(IFSelect_Selection)&sel)
 Sets a Selection as input : this causes content to be cleared
then the Selection to be ready to compute (but not immediatly)
.
Standard_EXPORT Handle_IFSelect_Selection Selection () const
 Returns the selection, or a null Handle
.
Standard_EXPORT void SetSelMode (const Standard_Integer selmode)
 Changes the mode of working with the selection :
-1 just clears optimisation data and nothing else
0 clears it 1 inhibits it for computing (but no clearing)
2 sets it active for computing
Default at creation is 0, after SetSelection (not null) is 2
.
Standard_EXPORT Standard_Integer SelMode () const
 Returns the mode of working with the selection
.
Standard_EXPORT Standard_Boolean ComputeSelected (const Interface_Graph &G, const Standard_Boolean forced=Standard_False)
 Computes from the selection result, if selection is active
(mode 2). If selection is not defined (mode 0) or is inhibited
(mode 1) does nothing.
Returns True if computation is done (or optimised), False else
This method is called by ComputeCounter from WorkSession

If <forced> is True, recomputes systematically
Else (D), if the counter was not cleared and if the former
computed result started from the same total size of Graph and
same count of selected entities : computation is not redone
unless <forced> is given as True
.
virtual Standard_EXPORT Handle_TCollection_HAsciiString Sign (const Handle(Standard_Transient)&ent, const Handle(Interface_InterfaceModel)&model) const
 Determines and returns the value of the signature for an
entity as an HAsciiString. This method works exactly as
AddSign, which is optimized

Can be redefined, accorded with AddSign
.
Standard_EXPORT Standard_CString ComputedSign (const Handle(Standard_Transient)&ent, const Interface_Graph &G)
 Applies AddWithGraph on one entity, and returns the Signature
Value which has been recorded
To do this, Add is called with SignOnly Mode True during the
call, the returned value is LastValue
.
Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Private Attributes

Standard_Boolean themapstat
TColStd_MapOfTransient themap
Handle_IFSelect_Signature thematcher
Handle_IFSelect_Selection theselect
Standard_Integer theselmode
Standard_Integer thenbcomp1
Standard_Integer thenbcomp2

Constructor & Destructor Documentation

Standard_EXPORT IFSelect_SignCounter::IFSelect_SignCounter const Standard_Boolean  withmap = Standard_True,
const Standard_Boolean  withlist = Standard_False
 

Standard_EXPORT IFSelect_SignCounter::IFSelect_SignCounter const Handle(IFSelect_Signature)&  matcher,
const Standard_Boolean  withmap = Standard_True,
const Standard_Boolean  withlist = Standard_False
 


Member Function Documentation

virtual Standard_EXPORT Standard_Boolean IFSelect_SignCounter::AddEntity const Handle(Standard_Transient)&  ent,
const Handle(Interface_InterfaceModel)&  model
[virtual]
 

Standard_EXPORT void IFSelect_SignCounter::AddFromSelection const Handle(IFSelect_Selection)&  sel,
const Interface_Graph G
 

Standard_EXPORT void IFSelect_SignCounter::AddList const Handle(TColStd_HSequenceOfTransient)&  list,
const Handle(Interface_InterfaceModel)&  model
 

Standard_EXPORT void IFSelect_SignCounter::AddModel const Handle(Interface_InterfaceModel)&  model  ) 
 

virtual Standard_EXPORT void IFSelect_SignCounter::AddSign const Handle(Standard_Transient)&  ent,
const Handle(Interface_InterfaceModel)&  model
[virtual]
 

Reimplemented in IGESSelect_CounterOfLevelNumber.

virtual Standard_EXPORT void IFSelect_SignCounter::AddWithGraph const Handle(TColStd_HSequenceOfTransient)&  list,
const Interface_Graph graph
[virtual]
 

Reimplemented in IFSelect_GraphCounter.

Standard_EXPORT Standard_CString IFSelect_SignCounter::ComputedSign const Handle(Standard_Transient)&  ent,
const Interface_Graph G
 

Standard_EXPORT Standard_Boolean IFSelect_SignCounter::ComputeSelected const Interface_Graph G,
const Standard_Boolean  forced = Standard_False
 

Standard_EXPORT const IFSelect_SignCounter::Handle Standard_Type   )  const
 

Reimplemented from IFSelect_SignatureList.

Reimplemented in IFSelect_GraphCounter, and IGESSelect_CounterOfLevelNumber.

Standard_EXPORT Handle_IFSelect_Selection IFSelect_SignCounter::Selection  )  const
 

Standard_EXPORT Standard_Integer IFSelect_SignCounter::SelMode  )  const
 

Standard_EXPORT void IFSelect_SignCounter::SetMap const Standard_Boolean  withmap  ) 
 

Standard_EXPORT void IFSelect_SignCounter::SetSelection const Handle(IFSelect_Selection)&  sel  ) 
 

Standard_EXPORT void IFSelect_SignCounter::SetSelMode const Standard_Integer  selmode  ) 
 

virtual Standard_EXPORT Handle_TCollection_HAsciiString IFSelect_SignCounter::Sign const Handle(Standard_Transient)&  ent,
const Handle(Interface_InterfaceModel)&  model
const [virtual]
 

Reimplemented in IGESSelect_CounterOfLevelNumber.

Standard_EXPORT Handle_IFSelect_Signature IFSelect_SignCounter::Signature  )  const
 


Field Documentation

TColStd_MapOfTransient IFSelect_SignCounter::themap [private]
 

Standard_Boolean IFSelect_SignCounter::themapstat [private]
 

Handle_IFSelect_Signature IFSelect_SignCounter::thematcher [private]
 

Standard_Integer IFSelect_SignCounter::thenbcomp1 [private]
 

Standard_Integer IFSelect_SignCounter::thenbcomp2 [private]
 

Handle_IFSelect_Selection IFSelect_SignCounter::theselect [private]
 

Standard_Integer IFSelect_SignCounter::theselmode [private]
 


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