Krita Source Code Documentation
Loading...
Searching...
No Matches
simplexnoisegenerator.h
Go to the documentation of this file.
1/*
2 * KDE. Krita Project.
3 *
4 * SPDX-FileCopyrightText: 2019 Eoin O 'Neill <eoinoneill1991@gmail.com>
5 * SPDX-FileCopyrightText: 2019 Emmet O 'Neill <emmetoneill.pdx@gmail.com>
6 *
7 * SPDX-License-Identifier: GPL-2.0-or-later
8 */
9
10#ifndef NOISEFILTER_H
11#define NOISEFILTER_H
12
13#include <QObject>
15
16class KisConfigWidget;
17
18class KisSimplexNoiseGeneratorHandle : public QObject
19{
20 Q_OBJECT
21public:
22 KisSimplexNoiseGeneratorHandle(QObject *parent, const QVariantList &);
24};
25
27{
28public:
30
32
33 virtual void generate(KisProcessingInformation dst,
34 const QSize& size,
35 const KisFilterConfigurationSP config,
36 KoUpdater* progressUpdater
37 ) const override;
38
39 static inline KoID id() {
40 return KoID("simplex_noise", i18n("Simplex Noise"));
41 }
42
44 KisConfigWidget * createConfigurationWidget(QWidget* parent, const KisPaintDeviceSP dev, bool useForMasks) const override;
45
46 uint seedFromString(const QString &string) const;
47 quint64 rotateLeft(const quint64 input, uint d) const;
48
49 static inline double map_range(double value, double curr_min, double curr_max, double new_min, double new_max ) {
50 return (value - curr_min) * (new_max - new_min) / (curr_max - curr_min) + new_min;
51 }
52};
53#endif
float value(const T *src, size_t ch)
unsigned int uint
virtual void generate(KisProcessingInformation dst, const QSize &size, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const =0
KisSimplexNoiseGeneratorHandle(QObject *parent, const QVariantList &)
KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override
KisConfigWidget * createConfigurationWidget(QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const override
quint64 rotateLeft(const quint64 input, uint d) const
static double map_range(double value, double curr_min, double curr_max, double new_min, double new_max)
virtual void generate(KisProcessingInformation dst, const QSize &size, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const override
uint seedFromString(const QString &string) const
Definition KoID.h:30