IFilter.hpp
33 delayedResults = attributes << 1, ///< support filters that provide delayed results; use IFilter::submit(.) / IFilter::fetch() instead of IFilter::validate(.)
40 static IFilter* New( const char *stringRepresentation, WriteAccess::Type writeAccess = WriteAccess::none );
51 // Indicate that no more data will be submitted. The rest of the already submitted geometries will be returned by subsequent calls to fetch()
59 // The filtered object (changed from original submitted object, if modifiesObjects()==true); if NULL, then there is no result yet, or no result left
61 // If provideOrigObjects(true), then this is the original, unchanged object as submitted; otherwise orig==filtered
68 // Performance note: call fetch() alternately with submit(), to keep the (eventual) internal cache size small
70 // Thus, call submit once, and call fetch repeatedly until it returns an empty pointer in Result::filtered
73 // return false if data inside box having statistics of addInfoStats will surely not pass through (-> e.g. skip this ODM tile)
78 // return false_ if surely none of the data within box having addInfoStats would pass through the filter.
80 virtual TriBool::Type validateRange( const IBox &box, const IAddInfoStatistics &addInfoStats ) const = 0;
82 // Provide the original, unchanged geometries and attributes in Result::orig and FilterStats::accumulate
98 DM_API IFilter::WriteAccess::Type operator| ( const IFilter::WriteAccess::Type &left, const IFilter::WriteAccess::Type &right );
