IFilterStats.hpp
1 #ifndef DM_IFILTER_STATS_HPP_INCLUDED
2 #define DM_IFILTER_STATS_HPP_INCLUDED
3 
4 #ifdef _MSC_VER
5  #pragma once
6 #endif
7 
8 #include "DM/IGeometry.hpp"
9 #include "DM/AutoLink.hpp" //enable autolink
10 
11 DM_NAMESPACE_BEGIN
12 
13 /// \brief accumulate statistical information about the results of filtering
14 /** May be attached to an IFilter, in which case accumulate(.) is called for every result, just before it is returned from the filter.
15  Mind that IFilter::clone() does not clone its IFilterStats.
16  Thus, if IFilterStats shall be called from multiple threads, then you may need to implement a mutex.
17 */
18 class DM_API IFilterStats : public ObjectBase
19 {
20 public:
21  virtual void accumulate( GeometryHandle filtered, GeometryHandle orig, bool filterResult ) = 0;
22 };
23 
25 
26 
27 DM_NAMESPACE_END
28 
29 #endif //DM_IFILTER_STATS_HPP_INCLUDED