4#ifndef QQUICK3DPARTICLELINEPARTICLE_H
5#define QQUICK3DPARTICLELINEPARTICLE_H
18#include <QtQuick3DParticles/private/qquick3dparticlespriteparticle_p.h>
26 Q_PROPERTY(
float alphaFade READ alphaFade WRITE setAlphaFade NOTIFY alphaFadeChanged)
27 Q_PROPERTY(
float scaleMultiplier READ scaleMultiplier WRITE setScaleMultiplier NOTIFY scaleMultiplierChanged)
28 Q_PROPERTY(
float texcoordMultiplier READ texcoordMultiplier WRITE setTexcoordMultiplier NOTIFY texcoordMultiplierChanged)
30 Q_PROPERTY(
float lengthVariation READ lengthVariation WRITE setLengthVariation NOTIFY lengthVariationChanged)
31 Q_PROPERTY(
float lengthDeltaMin READ lengthDeltaMin WRITE setLengthDeltaMin NOTIFY lengthDeltaMinChanged)
32 Q_PROPERTY(
int eolFadeOutDuration READ eolFadeOutDuration WRITE setEolFadeOutDuration NOTIFY eolFadeOutDurationChanged)
51 float alphaFade()
const;
52 float scaleMultiplier()
const;
53 float texcoordMultiplier()
const;
55 float lengthVariation()
const;
56 float lengthDeltaMin()
const;
57 int eolFadeOutDuration()
const;
58 TexcoordMode texcoordMode()
const;
61 void setSegmentCount(
int count);
62 void setAlphaFade(
float fade);
63 void setScaleMultiplier(
float multiplier);
64 void setTexcoordMultiplier(
float multiplier);
65 void setLength(
float length);
66 void setLengthVariation(
float length);
67 void setLengthDeltaMin(
float min);
68 void setEolFadeOutDuration(
int duration);
86 int emitterIndex = -1;
101 struct FadeOutLineData
104 SpriteParticleData endPoint;
126 void handleSegmentCountChanged();
127 void updateLineSegment(
int particleIndex);
128 void clearSegment(
int particleIndex);
131 void reset()
override;
134 void saveLineSegment(
int particleIndex,
float time);
139 float size,
float age,
140 float animationFrame)
override;
147 float m_alphaFade = 0.0f;
148 float m_scaleMultiplier = 1.0f;
149 float m_texcoordMultiplier = 1.0f;
150 float m_lengthDeltaMin = 10.0f;
151 float m_length = -1.0f;
152 float m_lengthVariation = 0.0f;
153 int m_segmentCount = 1;
154 int m_eolFadeOutDuration = 0;
155 TexcoordMode m_texcoordMode = TexcoordMode::Absolute;
void lengthDeltaMinChanged()
void texcoordModeChanged()
void segmentCountChanged()
void texcoordMultiplierChanged()
void eolFadeOutDurationChanged()
void scaleMultiplierChanged()
void lengthVariationChanged()
virtual void setParticleData(int particleIndex, const QVector3D &position, const QVector3D &rotation, const QVector4D &color, float size, float age, float animationFrame)
virtual void commitParticles(float)
virtual void handleSystemChanged(QQuick3DParticleSystem *system)
int nextCurrentIndex(const QQuick3DParticleEmitter *emitter) override
virtual void resetParticleData(int particleIndex)
virtual void handleMaxAmountChanged(int amount)
The QVector3D class represents a vector or vertex in 3D space.
The QVector4D class represents a vector or vertex in 4D space.
Combined button and popup list for selecting options.
static QString header(const QString &name)
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLuint GLenum GLsizei length
GLenum GLenum GLsizei count
#define QML_NAMED_ELEMENT(NAME)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
static int segmentCount(const QPainterPath &path, qreal pathLength)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent