Krita Source Code Documentation
Loading...
Searching...
No Matches
KisLanczos3FilterStrategy Class Reference

#include <kis_filter_strategy.h>

+ Inheritance diagram for KisLanczos3FilterStrategy:

Public Member Functions

QString description () override
 
 KisLanczos3FilterStrategy ()
 
qreal valueAt (qreal t, qreal weightsPositionScale) const override
 
 ~KisLanczos3FilterStrategy () override
 
- Public Member Functions inherited from KisFilterStrategy
QString id ()
 
virtual qint32 intSupport (qreal weightsPositionScale)
 
virtual qint32 intValueAt (qint32 t, qreal weightsPositionScale) const
 
 KisFilterStrategy (KoID id)
 
QString name ()
 
virtual qreal support (qreal weightsPositionScale)
 
virtual ~KisFilterStrategy ()
 

Private Member Functions

qreal sinc (qreal x) const
 

Additional Inherited Members

- Protected Attributes inherited from KisFilterStrategy
qint32 intSupportVal {0}
 
KoID m_id
 
qreal supportVal {0.0}
 

Detailed Description

Definition at line 143 of file kis_filter_strategy.h.

Constructor & Destructor Documentation

◆ KisLanczos3FilterStrategy()

KisLanczos3FilterStrategy::KisLanczos3FilterStrategy ( )
inline

Definition at line 146 of file kis_filter_strategy.h.

146 : KisFilterStrategy(KoID("Lanczos3", i18n("Lanczos3"))) {
147 supportVal = 3.0; intSupportVal = 768;
148 }
Definition KoID.h:30

◆ ~KisLanczos3FilterStrategy()

KisLanczos3FilterStrategy::~KisLanczos3FilterStrategy ( )
inlineoverride

Definition at line 149 of file kis_filter_strategy.h.

149{}

Member Function Documentation

◆ description()

QString KisLanczos3FilterStrategy::description ( )
inlineoverridevirtual

Reimplemented from KisFilterStrategy.

Definition at line 151 of file kis_filter_strategy.h.

151 {
152 return i18n("Offers similar results than Bicubic, but maybe a little bit sharper. Can produce light and dark halos along strong edges.");
153 }

◆ sinc()

qreal KisLanczos3FilterStrategy::sinc ( qreal x) const
private

Definition at line 164 of file kis_filter_strategy.cc.

165{
166 const qreal pi = 3.1415926535897932385;
167 x *= pi;
168 if (x != 0) return(sin(x) / x);
169 return(1.0);
170}

◆ valueAt()

qreal KisLanczos3FilterStrategy::valueAt ( qreal t,
qreal weightsPositionScale ) const
overridevirtual

Reimplemented from KisFilterStrategy.

Definition at line 156 of file kis_filter_strategy.cc.

157{
158 Q_UNUSED(weightsPositionScale);
159 if (t < 0) t = -t;
160 if (t < 3.0) return(sinc(t) * sinc(t / 3.0));
161 return(0.0);
162}

References sinc().


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