HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TIL_PixelFilterT< SUBCLASS > Class Template Reference

#include <TIL_PixelFilter.h>

+ Inheritance diagram for TIL_PixelFilterT< SUBCLASS >:

Public Types

typedef SUBCLASS SubclassType
 

Public Member Functions

 ~TIL_PixelFilterT () override
 
void filterPlaneVirtual (const TIL_AdaptiveImage &src, TIL_Raster &dest, int planei, int plane_src_components) const override
 
- Public Member Functions inherited from TIL_PixelFilter
virtual ~TIL_PixelFilter ()
 
virtual void combineSample (int ncomponents, exint nexisting_samples, float *existing, exint nnew_samples, const float *new_sample) const
 
SYS_FORCE_INLINE bool needsSquares () const
 
SYS_FORCE_INLINE bool needsWeights () const
 
SYS_FORCE_INLINE bool vetsSamples () const
 
virtual bool ownedBySingleton () const
 

Protected Member Functions

 TIL_PixelFilterT (bool needs_squares=false, bool vets_samples=false, bool needs_weights=false)
 
- Protected Member Functions inherited from TIL_PixelFilter
 TIL_PixelFilter ()
 
 TIL_PixelFilter (bool needs_squares, bool vets_samples, bool needs_weights)
 

Detailed Description

template<typename SUBCLASS>
class TIL_PixelFilterT< SUBCLASS >

Pixel filters should inherit from this using the "curiously-recurring template pattern", so that this class can call the templated filterPlane function in the subclass, e.g.: class TIL_MyPixelFilter : public TIL_PixelFilterT<TIL_MyPixelFilter> { template<int NSRCCOMPONENTS,typename T,int NDSTCOMPONENTS,bool INTERLEAVED> void filterPlane( const TIL_AdaptiveImage &src, PXL_RasterWrapper<T,NDSTCOMPONENTS,INTERLEAVED> dest, int planei, int plane_start_src_component) const; }; The primary advantage of this middle class is to unpack how the raster is stored, so that it can be accessed more efficiently in the pixel filter. Of course, this means that filterPlane will get compiled 45 times, for the 5 data types and 9 packing formats, (including the two 2-to-3 formats).

Definition at line 130 of file TIL_PixelFilter.h.

Member Typedef Documentation

template<typename SUBCLASS>
typedef SUBCLASS TIL_PixelFilterT< SUBCLASS >::SubclassType

Definition at line 133 of file TIL_PixelFilter.h.

Constructor & Destructor Documentation

template<typename SUBCLASS>
TIL_PixelFilterT< SUBCLASS >::~TIL_PixelFilterT ( )
inlineoverride

Definition at line 135 of file TIL_PixelFilter.h.

template<typename SUBCLASS>
TIL_PixelFilterT< SUBCLASS >::TIL_PixelFilterT ( bool  needs_squares = false,
bool  vets_samples = false,
bool  needs_weights = false 
)
inlineprotected

Definition at line 144 of file TIL_PixelFilter.h.

Member Function Documentation

template<typename SUBCLASS>
void TIL_PixelFilterT< SUBCLASS >::filterPlaneVirtual ( const TIL_AdaptiveImage src,
TIL_Raster dest,
int  planei,
int  plane_src_components 
) const
overridevirtual

Implements TIL_PixelFilter.


The documentation for this class was generated from the following file: