IAddInfoStatistics.hpp
1 #pragma once
2 
3 #include "DM/config.hpp"
4 #include "DM/IAddInfo.hpp"
5 
6 DM_NAMESPACE_BEGIN
7 
8 /// \brief stores a statistics about a set of addinfo objects.
9 /**
10  The statistic objects provides information about the minimum and maximum value, as well as,
11  the nummber of values that have been aggregated for each addinfo column. the minimum and maximum
12  values can be accesed through two addinfo objects. It is secured that the minimum and maximum objects
13  and the internal count vector are aligned (same AddInfoLayout)
14 */
15 class DM_API IAddInfoStatistics : public ObjectBase
16 {
17 protected:
18  virtual ~IAddInfoStatistics() {}
19 
20 public:
21  //IAddInfoStatistics Interface ==================================================
22  virtual bool empty() const = 0;
23 
24  /// number of columns that are stored in the object
25  virtual unsigned columns() const = 0;
26 
27  /// access the layout of the attributs
28  virtual const IAddInfoLayout& layout() const = 0;
29 
30  /// addinfo object containing all minimum values
31  virtual const IAddInfo& (min)() const = 0;
32  /// addinfo object containing all maximum values
33  virtual const IAddInfo& (max)() const = 0;
34 
35  /// get the count of values the were collected for the corresponding column
36  virtual int64_t count(unsigned col) const = 0;
37 
38  /// get the mean of values the were collected for the corresponding column
39  virtual double mean(unsigned col) const = 0;
40  /// get the sigma of values the were collected for the corresponding column
41  virtual double sigma(unsigned col) const = 0;
42 
43  virtual void merge( const IAddInfoStatistics &other ) = 0;
44 };
45 
47 
48 DM_NAMESPACE_END
AddInfo layouts describe a set of attributes that can be attached to geometry objects.
Definition: IAddInfoLayout.hpp:18
AddInfo objects store a set of attributes.
Definition: M/c++_api/inc/DM/IAddInfo.hpp:14
@ count
always last element
stores a statistics about a set of addinfo objects.
Definition: IAddInfoStatistics.hpp:15
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition: Handle.hpp:75
Definition: M/c++_api/inc/DM/ObjectBase.hpp:8