Main Page
Module List
Reference documentation
Namespaces
Classes
Examples
distroDM
c++_api
inc
DM
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
24
typedef
Handle< IFilterStats >
FilterStatsHandle
;
25
26
27
DM_NAMESPACE_END
28
29
#endif //DM_IFILTER_STATS_HPP_INCLUDED