Open CASCADE Technology
7.6.0

This class manages Statistics to be queried asynchronously. More...
#include <MoniTool_Stat.hxx>
Public Member Functions  
MoniTool_Stat (const Standard_CString title="")  
Creates a Stat form. At start, one default phase is defined, with one default step. Then, it suffises to start with a count of items (and cycles if several) then record items, to have a queryable report. More...  
MoniTool_Stat (const MoniTool_Stat &other)  
used when starting More...  
Standard_Integer  Open (const Standard_Integer nb=100) 
Opens a new counter with a starting count of items. More...  
void  OpenMore (const Standard_Integer id, const Standard_Integer nb) 
Adds more items to be counted by Add... on current level. More...  
void  Add (const Standard_Integer nb=1) 
Directly adds items. More...  
void  AddSub (const Standard_Integer nb=1) 
Declares a count of items to be added later. If a subcounter is opened, its percentage multiplies this subcount to compute the percent of current level. More...  
void  AddEnd () 
Ends the AddSub and cumulates the subcount to current level. More...  
void  Close (const Standard_Integer id) 
Standard_Integer  Level () const 
Standard_Real  Percent (const Standard_Integer fromlev=0) const 
Static Public Member Functions  
static MoniTool_Stat &  Current () 
This class manages Statistics to be queried asynchronously.
It is organized as a stack of counters, identified by their levels, from one to ... . Each one has a total account of items to be counted, a count of already passed items, plus a count of "current items". The counters of higher level play on these current items. For instance, if a counter has been opened for 100 items, 40 already passed, 20 current, its own percent is 40, but there is the contribution of higher level counters, rated for 20 % of this counter.
Hence, a counter is opened, items are added. Also items can be add for subcounter (of higher level), they will be added definitively when the subcounter will be closed. When the count has ended, this counter is closed, the counter of lower level cumulates it and goes on. As follows :
Way of use : Open(nbitems); Add(..) : direct adding Add(..) AddSub (nsub) : for subcounter Open (nbsubs) : nbsubs for this subcounter Add (..) Close : the subcounter AddEnd() etc... Close : the starting counter
This means that a counter can be opened in a Stat, regardless to the already opened ones :: this will be cumulated
A Current Stat is available, but it is possible to have others
MoniTool_Stat::MoniTool_Stat  (  const Standard_CString  title = ""  ) 
Creates a Stat form. At start, one default phase is defined, with one default step. Then, it suffises to start with a count of items (and cycles if several) then record items, to have a queryable report.
MoniTool_Stat::MoniTool_Stat  (  const MoniTool_Stat &  other  ) 
used when starting
void MoniTool_Stat::Add  (  const Standard_Integer  nb = 1  ) 
Directly adds items.
void MoniTool_Stat::AddEnd  (  ) 
Ends the AddSub and cumulates the subcount to current level.
void MoniTool_Stat::AddSub  (  const Standard_Integer  nb = 1  ) 
Declares a count of items to be added later. If a subcounter is opened, its percentage multiplies this subcount to compute the percent of current level.
void MoniTool_Stat::Close  (  const Standard_Integer  id  ) 

static 
Standard_Integer MoniTool_Stat::Level  (  )  const 
Standard_Integer MoniTool_Stat::Open  (  const Standard_Integer  nb = 100  ) 
Opens a new counter with a starting count of items.
void MoniTool_Stat::OpenMore  (  const Standard_Integer  id, 
const Standard_Integer  nb  
) 
Adds more items to be counted by Add... on current level.
Standard_Real MoniTool_Stat::Percent  (  const Standard_Integer  fromlev = 0  )  const 