Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __PolyVox_LowPassFilter_H__
00025 #define __PolyVox_LowPassFilter_H__
00026
00027 #include "PolyVoxCore/IteratorController.h"
00028 #include "PolyVoxCore/RawVolume.h"
00029 #include "PolyVoxCore/Region.h"
00030
00031 namespace PolyVox
00032 {
00033 template< template<typename> class SrcVolumeType, template<typename> class DestVolumeType, typename VoxelType>
00034 class LowPassFilter
00035 {
00036 public:
00037 LowPassFilter(SrcVolumeType<VoxelType>* pVolSrc, Region regSrc, DestVolumeType<VoxelType>* pVolDst, Region regDst, uint32_t uKernelSize);
00038
00039 void execute();
00040 void executeSAT();
00041
00042 private:
00043
00044 SrcVolumeType<VoxelType>* m_pVolSrc;
00045 Region m_regSrc;
00046
00047
00048 DestVolumeType<VoxelType>* m_pVolDst;
00049 Region m_regDst;
00050
00051
00052 uint32_t m_uKernelSize;
00053 };
00054
00055 }
00056
00057 #include "PolyVoxCore/LowPassFilter.inl"
00058
00059 #endif //__PolyVox_LowPassFilter_H__
00060