Krita Source Code Documentation
Loading...
Searching...
No Matches
KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo Struct Reference

#include <kis_convolution_worker_fft.h>

Public Member Functions

 FFTInfo (qreal _fftScale, const QList< KoChannelInfo * > &_convChannelList, const KisConvolutionKernelSP kernel, const KoColorSpace *)
 
int numChannels () const
 

Public Attributes

QVector< qreal > absoluteOffset
 
int alphaCachePos {-1}
 
int alphaRealPos {-1}
 
QList< KoChannelInfo * > convChannelList
 
qreal fftScale {0.0}
 
QVector< PtrFromDoubleCheckNullfromDoubleCheckNullFuncPtr
 
QVector< PtrFromDoublefromDoubleFuncPtr
 
QVector< qreal > maxClamp
 
QVector< qreal > minClamp
 
QVector< PtrToDoubletoDoubleFuncPtr
 

Detailed Description

template<class _IteratorFactory_>
struct KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo

Definition at line 162 of file kis_convolution_worker_fft.h.

Constructor & Destructor Documentation

◆ FFTInfo()

template<class _IteratorFactory_ >
KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::FFTInfo ( qreal _fftScale,
const QList< KoChannelInfo * > & _convChannelList,
const KisConvolutionKernelSP kernel,
const KoColorSpace *  )
inline

Definition at line 163 of file kis_convolution_worker_fft.h.

167 : fftScale(_fftScale),
168 convChannelList(_convChannelList)
169 {
170 KisMathToolbox mathToolbox;
171
172 for (int i = 0; i < convChannelList.count(); ++i) {
173 minClamp.append(mathToolbox.minChannelValue(convChannelList[i]));
174 maxClamp.append(mathToolbox.maxChannelValue(convChannelList[i]));
175 absoluteOffset.append((maxClamp[i] - minClamp[i]) * kernel->offset());
176
177 if (convChannelList[i]->channelType() == KoChannelInfo::ALPHA) {
178 alphaCachePos = i;
179 alphaRealPos = convChannelList[i]->pos();
180 }
181 }
182
183 toDoubleFuncPtr.resize(convChannelList.count());
184 fromDoubleFuncPtr.resize(convChannelList.count());
186
187 bool result = mathToolbox.getToDoubleChannelPtr(convChannelList, toDoubleFuncPtr);
190
191 KIS_ASSERT(result);
192 }
bool getToDoubleChannelPtr(QList< KoChannelInfo * > cis, QVector< PtrToDouble > &f)
bool getFromDoubleChannelPtr(QList< KoChannelInfo * > cis, QVector< PtrFromDouble > &f)
double minChannelValue(KoChannelInfo *)
double maxChannelValue(KoChannelInfo *)
bool getFromDoubleCheckNullChannelPtr(QList< KoChannelInfo * > cis, QVector< PtrFromDoubleCheckNull > &f)
@ ALPHA
The channel represents the opacity of a pixel.
#define KIS_ASSERT(cond)
Definition kis_assert.h:33
QVector< PtrFromDoubleCheckNull > fromDoubleCheckNullFuncPtr

References KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::absoluteOffset, KoChannelInfo::ALPHA, KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::alphaCachePos, KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::alphaRealPos, KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::convChannelList, KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::fromDoubleCheckNullFuncPtr, KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::fromDoubleFuncPtr, KisMathToolbox::getFromDoubleChannelPtr(), KisMathToolbox::getFromDoubleCheckNullChannelPtr(), KisMathToolbox::getToDoubleChannelPtr(), KIS_ASSERT, KisMathToolbox::maxChannelValue(), KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::maxClamp, KisMathToolbox::minChannelValue(), KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::minClamp, KisConvolutionKernel::offset, and KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::toDoubleFuncPtr.

Member Function Documentation

◆ numChannels()

template<class _IteratorFactory_ >
int KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::numChannels ( ) const
inline

Member Data Documentation

◆ absoluteOffset

template<class _IteratorFactory_ >
QVector<qreal> KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::absoluteOffset

Definition at line 201 of file kis_convolution_worker_fft.h.

◆ alphaCachePos

template<class _IteratorFactory_ >
int KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::alphaCachePos {-1}

Definition at line 210 of file kis_convolution_worker_fft.h.

210{-1};

◆ alphaRealPos

template<class _IteratorFactory_ >
int KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::alphaRealPos {-1}

Definition at line 211 of file kis_convolution_worker_fft.h.

211{-1};

◆ convChannelList

template<class _IteratorFactory_ >
QList<KoChannelInfo*> KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::convChannelList

Definition at line 204 of file kis_convolution_worker_fft.h.

◆ fftScale

template<class _IteratorFactory_ >
qreal KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::fftScale {0.0}

Definition at line 203 of file kis_convolution_worker_fft.h.

203{0.0};

◆ fromDoubleCheckNullFuncPtr

template<class _IteratorFactory_ >
QVector<PtrFromDoubleCheckNull> KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::fromDoubleCheckNullFuncPtr

Definition at line 208 of file kis_convolution_worker_fft.h.

◆ fromDoubleFuncPtr

template<class _IteratorFactory_ >
QVector<PtrFromDouble> KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::fromDoubleFuncPtr

Definition at line 207 of file kis_convolution_worker_fft.h.

◆ maxClamp

template<class _IteratorFactory_ >
QVector<qreal> KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::maxClamp

Definition at line 200 of file kis_convolution_worker_fft.h.

◆ minClamp

template<class _IteratorFactory_ >
QVector<qreal> KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::minClamp

Definition at line 199 of file kis_convolution_worker_fft.h.

◆ toDoubleFuncPtr

template<class _IteratorFactory_ >
QVector<PtrToDouble> KisConvolutionWorkerFFT< _IteratorFactory_ >::FFTInfo::toDoubleFuncPtr

Definition at line 206 of file kis_convolution_worker_fft.h.


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