Krita Source Code Documentation
Loading...
Searching...
No Matches
KisSprayOpOptionData Struct Reference

#include <KisSprayOpOptionData.h>

+ Inheritance diagram for KisSprayOpOptionData:

Public Types

enum  ParticleDistribution { ParticleDistribution_Uniform , ParticleDistribution_Gaussian , ParticleDistribution_ClusterBased , ParticleDistribution_CurveBased }
 

Public Member Functions

bool read (const KisPropertiesConfiguration *setting)
 
void write (KisPropertiesConfiguration *setting) const
 

Public Attributes

QString angularDistributionCurve {DEFAULT_CURVE_STRING}
 
int angularDistributionCurveRepeat {1}
 
ParticleDistribution angularDistributionType {ParticleDistribution_Uniform}
 
qreal aspect {1.0}
 
qreal brushRotation {0.0}
 
qreal coverage {0.003}
 
quint16 diameter {100}
 
qreal jitterAmount {1.0}
 
bool jitterMovement {false}
 
quint16 particleCount {12}
 
bool radialDistributionCenterBiased {false}
 
qreal radialDistributionClusteringAmount {0.0}
 
QString radialDistributionCurve {DEFAULT_CURVE_STRING}
 
int radialDistributionCurveRepeat {1}
 
qreal radialDistributionStdDeviation {0.5}
 
ParticleDistribution radialDistributionType {ParticleDistribution_Uniform}
 
qreal scale {1.0}
 
qreal spacing {0.5}
 
bool useDensity {false}
 

Friends

bool operator== (const KisSprayOpOptionData &lhs, const KisSprayOpOptionData &rhs)
 

Detailed Description

Definition at line 44 of file KisSprayOpOptionData.h.

Member Enumeration Documentation

◆ ParticleDistribution

Enumerator
ParticleDistribution_Uniform 
ParticleDistribution_Gaussian 
ParticleDistribution_ClusterBased 
ParticleDistribution_CurveBased 

Definition at line 46 of file KisSprayOpOptionData.h.

Member Function Documentation

◆ read()

bool KisSprayOpOptionData::read ( const KisPropertiesConfiguration * setting)

Definition at line 11 of file KisSprayOpOptionData.cpp.

12{
13 QVariant v;
14 diameter = settings->getInt(SPRAY_DIAMETER);
15 aspect = settings->getDouble(SPRAY_ASPECT);
16 brushRotation = settings->getDouble(SPRAY_ROTATION);
17 scale = settings->getDouble(SPRAY_SCALE);
18 spacing = settings->getDouble(SPRAY_SPACING);
19 jitterMovement = settings->getBool(SPRAY_JITTER_MOVEMENT);
20 jitterAmount = settings->getDouble(SPRAY_JITTER_MOVE_AMOUNT);
21 particleCount = settings->getDouble(SPRAY_PARTICLE_COUNT);
22 coverage = settings->getDouble(SPRAY_COVERAGE) / 100.0;
23 useDensity = settings->getBool(SPRAY_USE_DENSITY);
24 {
25 const QString angularDistributionTypeStr = settings->getString(SPRAY_ANGULAR_DISTRIBUTION_TYPE, "uniform");
26 if (angularDistributionTypeStr == "curveBased") {
28 } else {
30 }
33 }
34 {
35 const QString radialDistributionTypeStr = settings->getString(SPRAY_RADIAL_DISTRIBUTION_TYPE, "");
36 if (radialDistributionTypeStr == "uniform") {
38 } else if (radialDistributionTypeStr == "gaussian") {
40 } else if (radialDistributionTypeStr == "clusterBased") {
42 } else if (radialDistributionTypeStr == "curveBased") {
44 } else {
45 // Old brush
46 if (settings->getBool(SPRAY_GAUSS_DISTRIBUTION, false)) {
48 } else {
50 }
51 }
57 }
58 return true;
59}
qreal v
const QString SPRAY_ANGULAR_DISTRIBUTION_CURVE_REPEAT
const QString SPRAY_DIAMETER
const QString SPRAY_RADIAL_DISTRIBUTION_CURVE_REPEAT
const QString SPRAY_USE_DENSITY
const QString SPRAY_JITTER_MOVE_AMOUNT
const QString SPRAY_PARTICLE_COUNT
const QString SPRAY_RADIAL_DISTRIBUTION_CURVE
const QString SPRAY_COVERAGE
const QString SPRAY_ASPECT
const QString SPRAY_ANGULAR_DISTRIBUTION_CURVE
const QString SPRAY_SPACING
const QString SPRAY_RADIAL_DISTRIBUTION_STD_DEVIATION
const QString SPRAY_ROTATION
const QString SPRAY_ANGULAR_DISTRIBUTION_TYPE
const QString SPRAY_RADIAL_DISTRIBUTION_CLUSTERING_AMOUNT
const QString SPRAY_GAUSS_DISTRIBUTION
const QString SPRAY_SCALE
const QString SPRAY_JITTER_MOVEMENT
const QString SPRAY_RADIAL_DISTRIBUTION_TYPE
const QString SPRAY_RADIAL_DISTRIBUTION_CENTER_BIASED
const QString DEFAULT_CURVE_STRING
ParticleDistribution radialDistributionType
ParticleDistribution angularDistributionType

References angularDistributionCurve, angularDistributionCurveRepeat, angularDistributionType, aspect, brushRotation, coverage, DEFAULT_CURVE_STRING, diameter, KisPropertiesConfiguration::getBool(), KisPropertiesConfiguration::getDouble(), KisPropertiesConfiguration::getInt(), KisPropertiesConfiguration::getString(), jitterAmount, jitterMovement, particleCount, ParticleDistribution_ClusterBased, ParticleDistribution_CurveBased, ParticleDistribution_Gaussian, ParticleDistribution_Uniform, radialDistributionCenterBiased, radialDistributionClusteringAmount, radialDistributionCurve, radialDistributionCurveRepeat, radialDistributionStdDeviation, radialDistributionType, scale, spacing, SPRAY_ANGULAR_DISTRIBUTION_CURVE, SPRAY_ANGULAR_DISTRIBUTION_CURVE_REPEAT, SPRAY_ANGULAR_DISTRIBUTION_TYPE, SPRAY_ASPECT, SPRAY_COVERAGE, SPRAY_DIAMETER, SPRAY_GAUSS_DISTRIBUTION, SPRAY_JITTER_MOVE_AMOUNT, SPRAY_JITTER_MOVEMENT, SPRAY_PARTICLE_COUNT, SPRAY_RADIAL_DISTRIBUTION_CENTER_BIASED, SPRAY_RADIAL_DISTRIBUTION_CLUSTERING_AMOUNT, SPRAY_RADIAL_DISTRIBUTION_CURVE, SPRAY_RADIAL_DISTRIBUTION_CURVE_REPEAT, SPRAY_RADIAL_DISTRIBUTION_STD_DEVIATION, SPRAY_RADIAL_DISTRIBUTION_TYPE, SPRAY_ROTATION, SPRAY_SCALE, SPRAY_SPACING, SPRAY_USE_DENSITY, useDensity, and v.

◆ write()

void KisSprayOpOptionData::write ( KisPropertiesConfiguration * setting) const

Definition at line 61 of file KisSprayOpOptionData.cpp.

62{
66 setting->setProperty(SPRAY_SCALE, scale);
71 setting->setProperty(SPRAY_COVERAGE, coverage * 100.0);
74 setting->setProperty(SPRAY_ANGULAR_DISTRIBUTION_TYPE, "curveBased");
75 } else {
77 }
80 setting->setProperty(SPRAY_RADIAL_DISTRIBUTION_TYPE, "gaussian");
82 setting->setProperty(SPRAY_RADIAL_DISTRIBUTION_TYPE, "clusterBased");
84 setting->setProperty(SPRAY_RADIAL_DISTRIBUTION_TYPE, "curveBased");
85 } else {
87 }
88 QVariant c;
89 c.setValue(angularDistributionCurve);
94 c.setValue(radialDistributionCurve);
99}
virtual void setProperty(const QString &name, const QVariant &value)

References angularDistributionCurve, angularDistributionCurveRepeat, angularDistributionType, aspect, brushRotation, coverage, diameter, jitterAmount, jitterMovement, particleCount, ParticleDistribution_ClusterBased, ParticleDistribution_CurveBased, ParticleDistribution_Gaussian, radialDistributionCenterBiased, radialDistributionClusteringAmount, radialDistributionCurve, radialDistributionCurveRepeat, radialDistributionStdDeviation, radialDistributionType, scale, KisPropertiesConfiguration::setProperty(), spacing, SPRAY_ANGULAR_DISTRIBUTION_CURVE, SPRAY_ANGULAR_DISTRIBUTION_CURVE_REPEAT, SPRAY_ANGULAR_DISTRIBUTION_TYPE, SPRAY_ASPECT, SPRAY_COVERAGE, SPRAY_DIAMETER, SPRAY_GAUSS_DISTRIBUTION, SPRAY_JITTER_MOVE_AMOUNT, SPRAY_JITTER_MOVEMENT, SPRAY_PARTICLE_COUNT, SPRAY_RADIAL_DISTRIBUTION_CENTER_BIASED, SPRAY_RADIAL_DISTRIBUTION_CLUSTERING_AMOUNT, SPRAY_RADIAL_DISTRIBUTION_CURVE, SPRAY_RADIAL_DISTRIBUTION_CURVE_REPEAT, SPRAY_RADIAL_DISTRIBUTION_STD_DEVIATION, SPRAY_RADIAL_DISTRIBUTION_TYPE, SPRAY_ROTATION, SPRAY_SCALE, SPRAY_SPACING, SPRAY_USE_DENSITY, and useDensity.

Friends And Related Symbol Documentation

◆ operator==

bool operator== ( const KisSprayOpOptionData & lhs,
const KisSprayOpOptionData & rhs )
friend

Definition at line 54 of file KisSprayOpOptionData.h.

54 {
55 return lhs.diameter == rhs.diameter // 10 entries
56 && lhs.aspect == rhs.aspect
57 && lhs.brushRotation == rhs.brushRotation
58 && lhs.scale == rhs.scale
59 && lhs.spacing == rhs.spacing
60 && lhs.jitterMovement == rhs.jitterMovement
61 && lhs.jitterAmount == rhs.jitterAmount
62 && lhs.useDensity == rhs.useDensity
63 && lhs.particleCount == rhs.particleCount
64 && lhs.coverage == rhs.coverage
65 // 9 entries
75 // 7 entries - but there is no need to compare functors
76
77 }

Member Data Documentation

◆ angularDistributionCurve

QString KisSprayOpOptionData::angularDistributionCurve {DEFAULT_CURVE_STRING}

Definition at line 95 of file KisSprayOpOptionData.h.

◆ angularDistributionCurveRepeat

int KisSprayOpOptionData::angularDistributionCurveRepeat {1}

Definition at line 96 of file KisSprayOpOptionData.h.

96{1};

◆ angularDistributionType

ParticleDistribution KisSprayOpOptionData::angularDistributionType {ParticleDistribution_Uniform}

Definition at line 94 of file KisSprayOpOptionData.h.

◆ aspect

qreal KisSprayOpOptionData::aspect {1.0}

Definition at line 83 of file KisSprayOpOptionData.h.

83{1.0};

◆ brushRotation

qreal KisSprayOpOptionData::brushRotation {0.0}

Definition at line 84 of file KisSprayOpOptionData.h.

84{0.0};

◆ coverage

qreal KisSprayOpOptionData::coverage {0.003}

Definition at line 91 of file KisSprayOpOptionData.h.

91{0.003};

◆ diameter

quint16 KisSprayOpOptionData::diameter {100}

Definition at line 82 of file KisSprayOpOptionData.h.

82{100};

◆ jitterAmount

qreal KisSprayOpOptionData::jitterAmount {1.0}

Definition at line 88 of file KisSprayOpOptionData.h.

88{1.0};

◆ jitterMovement

bool KisSprayOpOptionData::jitterMovement {false}

Definition at line 87 of file KisSprayOpOptionData.h.

87{false};

◆ particleCount

quint16 KisSprayOpOptionData::particleCount {12}

Definition at line 90 of file KisSprayOpOptionData.h.

90{12};

◆ radialDistributionCenterBiased

bool KisSprayOpOptionData::radialDistributionCenterBiased {false}

Definition at line 102 of file KisSprayOpOptionData.h.

102{false};

◆ radialDistributionClusteringAmount

qreal KisSprayOpOptionData::radialDistributionClusteringAmount {0.0}

Definition at line 99 of file KisSprayOpOptionData.h.

99{0.0};

◆ radialDistributionCurve

QString KisSprayOpOptionData::radialDistributionCurve {DEFAULT_CURVE_STRING}

Definition at line 100 of file KisSprayOpOptionData.h.

◆ radialDistributionCurveRepeat

int KisSprayOpOptionData::radialDistributionCurveRepeat {1}

Definition at line 101 of file KisSprayOpOptionData.h.

101{1};

◆ radialDistributionStdDeviation

qreal KisSprayOpOptionData::radialDistributionStdDeviation {0.5}

Definition at line 98 of file KisSprayOpOptionData.h.

98{0.5};

◆ radialDistributionType

ParticleDistribution KisSprayOpOptionData::radialDistributionType {ParticleDistribution_Uniform}

Definition at line 97 of file KisSprayOpOptionData.h.

◆ scale

qreal KisSprayOpOptionData::scale {1.0}

Definition at line 85 of file KisSprayOpOptionData.h.

85{1.0};

◆ spacing

qreal KisSprayOpOptionData::spacing {0.5}

Definition at line 86 of file KisSprayOpOptionData.h.

86{0.5};

◆ useDensity

bool KisSprayOpOptionData::useDensity {false}

Definition at line 89 of file KisSprayOpOptionData.h.

89{false};

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