Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
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. :
More...

#include <IFSelect_SignCounter.hxx>

Inheritance diagram for IFSelect_SignCounter:
Inheritance graph
[legend]

Public Member Functions

 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).
More...
 
 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.
More...
 
Handle_IFSelect_Signature Signature () const
 Returns the Signature used to count entities. It can be null.
More...
 
void SetMap (const Standard_Boolean withmap)
 Changes the control status. The map is not cleared, simply
its use changes
More...
 
virtual 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)
More...
 
virtual void AddSign (const Handle< Standard_Transient > &ent, const Handle< Interface_InterfaceModel > &model)
 
 Adds an entity (already filtered by Map) with its signature. <br>
      This signature can be computed with the containing model. <br>
      Its value is provided by the object Signature given at start, <br>
      if no Signature is defined, it does nothing. <br>


Can be redefined (in this case, see also Sign)
More...

 
void AddList (const Handle< TColStd_HSequenceOfTransient > &list, const Handle< Interface_InterfaceModel > &model)
 Adds a list of entities by adding each of the items
More...
 
virtual 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
More...
 
void AddModel (const Handle< Interface_InterfaceModel > &model)
 Adds all the entities contained in a Model
More...
 
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
More...
 
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)
More...
 
Handle_IFSelect_Selection Selection () const
 Returns the selection, or a null Handle
More...
 
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
More...
 
Standard_Integer SelMode () const
 Returns the mode of working with the selection
More...
 
Standard_Boolean ComputeSelected (const Interface_Graph &G, const Standard_Boolean forced=Standard_False)
 
 Computes from the selection result, if selection is active <br>
      (mode 2). If selection is not defined (mode 0) or is inhibited <br>
      (mode 1) does nothing. <br>
      Returns True if computation is done (or optimised), False else <br>
      This method is called by ComputeCounter from WorkSession <br>


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
More...

 
virtual
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 <br>
      entity as an HAsciiString. This method works exactly as <br>
      AddSign, which is optimized <br>


Can be redefined, accorded with AddSign
More...

 
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
More...
 
- Public Member Functions inherited from IFSelect_SignatureList
 IFSelect_SignatureList (const Standard_Boolean withlist=Standard_False)
 Creates a SignatureList. If <withlist> is True, entities will
be not only counted per signature, but also listed.
More...
 
void SetList (const Standard_Boolean withlist)
 Changes the record-list status. The list is not cleared but
its use changes
More...
 
Standard_BooleanModeSignOnly ()
 Returns modifiable the SignOnly Mode
If False (D), the counter normally counts
If True, the counting work is turned off, Add only fills the
LastValue, which can be used as signature, when a counter
works from data which are not available from a Signature
More...
 
virtual void Clear ()
 
void Add (const Handle< Standard_Transient > &ent, const Standard_CString sign)
 Adds an entity with its signature, i.e. :
More...
 
Standard_CString LastValue () const
 Returns the last value recorded by Add (only if SignMode set)
Cleared by Clear or Init
More...
 
void Init (const Standard_CString name, const Handle< Dico_DictionaryOfInteger > &count, const Handle< Dico_DictionaryOfTransient > &list, const Standard_Integer nbnuls)
 Aknowledges the list in once. Name identifies the Signature
More...
 
Handle_TColStd_HSequenceOfHAsciiString List (const Standard_CString root="") const
 Returns the list of signatures, as a sequence of strings
(but without their respective counts). It is ordered.
By default, for all the signatures.
If <root> is given non empty, for the signatures which
begin by <root>
More...
 
Standard_Boolean HasEntities () const
 Returns True if the list of Entities is aknowledged, else
the method Entities will always return a Null Handle
More...
 
Standard_Integer NbNulls () const
 Returns the count of null entities
More...
 
Standard_Integer NbTimes (const Standard_CString sign) const
 Returns the number of times a signature was counted,
0 if it has not been recorded at all
More...
 
Handle_TColStd_HSequenceOfTransient Entities (const Standard_CString sign) const
 Returns the list of entities attached to a signature
It is empty if <sign> has not been recorded
It is a Null Handle if the list of entities is not known
More...
 
void SetName (const Standard_CString name)
 Defines a name for a SignatureList (used to print it)
More...
 
virtual Standard_CString Name () const
 Returns the recorded Name.
Remark : default is "..." (no SetName called)
More...
 
virtual void PrintCount (const Handle< Message_Messenger > &S) const
 Prints the counts of items (not the list)
More...
 
virtual void PrintList (const Handle< Message_Messenger > &S, const Handle< Interface_InterfaceModel > &model, const IFSelect_PrintCount mod=IFSelect_ListByItem) const
 Prints the lists of items, if they are present (else, prints
a message "no list available")
Uses <model> to determine for each entity to be listed, its
number, and its specific identifier (by PrintLabel)
<mod> gives a mode for printing :
More...
 
virtual void PrintSum (const Handle< Message_Messenger > &S) const
 Prints a summary
Item which has the greatest count of entities
For items which are numeric values : their count, maximum,
minimum values, cumul, average
More...
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const Handle_Standard_Type &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

Detailed Description

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 <br>
      - for each one, count and list of entities <br>
      Results are returned as a SignatureList, which can be queried <br>
      on the count (list of strings, count per signature, or list of <br>
      entities per signature) <br>


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

Constructor & Destructor Documentation

IFSelect_SignCounter::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).

IFSelect_SignCounter::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.

Member Function Documentation

virtual Standard_Boolean IFSelect_SignCounter::AddEntity ( const Handle< Standard_Transient > &  ent,
const Handle< Interface_InterfaceModel > &  model 
)
virtual

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)

void IFSelect_SignCounter::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

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

Adds a list of entities by adding each of the items

void IFSelect_SignCounter::AddModel ( const Handle< Interface_InterfaceModel > &  model)

Adds all the entities contained in a Model

virtual void IFSelect_SignCounter::AddSign ( const Handle< Standard_Transient > &  ent,
const Handle< Interface_InterfaceModel > &  model 
)
virtual

 Adds an entity (already filtered by Map) with its signature. <br>
      This signature can be computed with the containing model. <br>
      Its value is provided by the object Signature given at start, <br>
      if no Signature is defined, it does nothing. <br>


Can be redefined (in this case, see also Sign)

Reimplemented in IGESSelect_CounterOfLevelNumber.

virtual void IFSelect_SignCounter::AddWithGraph ( const Handle< TColStd_HSequenceOfTransient > &  list,
const Interface_Graph graph 
)
virtual

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

Reimplemented in IFSelect_GraphCounter.

Standard_CString IFSelect_SignCounter::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_Boolean IFSelect_SignCounter::ComputeSelected ( const Interface_Graph G,
const Standard_Boolean  forced = Standard_False 
)

 Computes from the selection result, if selection is active <br>
      (mode 2). If selection is not defined (mode 0) or is inhibited <br>
      (mode 1) does nothing. <br>
      Returns True if computation is done (or optimised), False else <br>
      This method is called by ComputeCounter from WorkSession <br>


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

Handle_IFSelect_Selection IFSelect_SignCounter::Selection ( ) const

Returns the selection, or a null Handle

Standard_Integer IFSelect_SignCounter::SelMode ( ) const

Returns the mode of working with the selection

void IFSelect_SignCounter::SetMap ( const Standard_Boolean  withmap)

Changes the control status. The map is not cleared, simply
its use changes

void IFSelect_SignCounter::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)

void IFSelect_SignCounter::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

virtual Handle_TCollection_HAsciiString IFSelect_SignCounter::Sign ( const Handle< Standard_Transient > &  ent,
const Handle< Interface_InterfaceModel > &  model 
) const
virtual

 Determines and returns the value of the signature for an <br>
      entity as an HAsciiString. This method works exactly as <br>
      AddSign, which is optimized <br>


Can be redefined, accorded with AddSign

Reimplemented in IGESSelect_CounterOfLevelNumber.

Handle_IFSelect_Signature IFSelect_SignCounter::Signature ( ) const

Returns the Signature used to count entities. It can be null.


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