Open CASCADE Technology 7.8.2.dev
|
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. | |
MoniTool_Stat (const MoniTool_Stat &other) | |
used when starting | |
Standard_Integer | Open (const Standard_Integer nb=100) |
Opens a new counter with a starting count of items. | |
void | OpenMore (const Standard_Integer id, const Standard_Integer nb) |
Adds more items to be counted by Add... on current level. | |
void | Add (const Standard_Integer nb=1) |
Directly adds items. | |
void | AddSub (const Standard_Integer nb=1) |
Declares a count of items to be added later. If a sub-counter is opened, its percentage multiplies this sub-count to compute the percent of current level. | |
void | AddEnd () |
Ends the AddSub and cumulates the sub-count to current level. | |
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 sub-counter (of higher level), they will be added definitively when the sub-counter 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 sub-counter Open (nbsubs) : nbsubs for this sub-counter Add (..) Close : the sub-counter 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 sub-count to current level.
void MoniTool_Stat::AddSub | ( | const Standard_Integer | nb = 1 | ) |
Declares a count of items to be added later. If a sub-counter is opened, its percentage multiplies this sub-count 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 |