changed: gcc8 base update
[opensg.git] / Source / System / Statistics / Statistics.dox
bloba28849c1c5ec659e845191cbe6856c9ec7b63fbd
1 #include "OSGConfig.h"
3 using namespace OSG;
5 /*! \page PageSystemStatistics Statistics 
6  */
23 #if 0
24 /*! \page PageSystemStatistics Statistics 
26 \latexonly Starter:NewChapter \endlatexonly
28 Statistics contains general facilities for recording and collecting 
29 statistical data like counts and times. It is mainly used for collecting 
30 rendering statistics like the amount of time need for a frame or the number of 
31 visible polygons, but it can be used for any kind of statistics.
33 The statistics data is collected in the form of single OSG::StatElem
34 structures  which are bundled in a OSG::StatCollector. Every StatElem element
35 can have one of a  number of different types, the predefined ones are Int
36 (OSG::StatIntElem), Real32 (OSG::StatRealElem), Time (OSG::StatTimeElem) and
37 String (OSG::StatStringElem). Every StatElement also has a description in the
38 form of a StatElemDesc  that describes the actual use of the element. The
39 StatCollector can hold an  arbitrary subset of all known elements. The
40 StatElemDesc obj holding the element type and ID must exist as long as any
41 collector holds a corresponding elem object. The StatElemDesc  constructor
42 creates a unique ID which can be used to create/access an correspondent Elem
43 (which holds the value) in any collector.
45 The contents of the StatCollector can be accessed either for every StatElem 
46 separately or can be output as a whole in the form of a string. For
47 displaying  the contents of a StatCollector on screen the
48 OSG::SimpleStatisticsForground and  OSG::GraphicStatisticsForeground can be
49 used.  The various StatElem objects provide methods to access or change the
50 value (e.g get/set increase/decrease) In addition, every StatElem holds a
51 on-flag to activate/deactivate the statistic element.
53 The main idea of the Statistics structure lies in high flexibility. Thus the
54 set of variables that are statistically relevant is not fixed, new ones can be
55 added by the application if necessary.
57 \image html stat-obj.png "Stat Elem/Desc/Collector relation"
58 \image latex stat-obj.eps "Stat Elem/Desc/Collector relation" width=8cm
60 \dev
61 To extend the Statistics you just need to create an instance of the 
62 OSG::StatElemDesc class. It is templated and parametrized by the OSG::StatElem
63 that the new variable should have. 
65 \enddev
68 #endif