8#include <QtCore/qdir.h>
9#include <QtQml/qqmlfile.h>
10#include <QtQuick3D/private/qquick3dobject_p.h>
11#include <QtQuick3D/private/qquick3dmodel_p.h>
12#include <QtQuick3DRuntimeRender/private/qssgrenderbuffermanager_p.h>
120 return randomPositionCube(particleIndex);
122 return randomPositionSphere(particleIndex);
124 return randomPositionCylinder(particleIndex);
129QVector3D QQuick3DParticleShape::randomPositionCube(
int particleIndex)
const
157QVector3D QQuick3DParticleShape::randomPositionSphere(
int particleIndex)
const
163 float phi = acos((2.0f *
v) - 1.0f);
164 float r = m_fill ? pow(rand->get(particleIndex,
QPRand::Shape3), 1.0f / 3.0f) : 1.0f;
175QVector3D QQuick3DParticleShape::randomPositionCylinder(
int particleIndex)
const
The QMatrix4x4 class represents a 4x4 transformation matrix in 3D space.
void rotate(float angle, const QVector3D &vector)
Multiples this matrix by another that rotates coordinates through angle degrees about vector.
QVector3D mapVector(const QVector3D &vector) const
Maps vector by multiplying the top 3x3 portion of this matrix by vector.
QQuick3DNode * parentNode()
QQuick3DParticleSystem * m_system
QQuick3DNode * m_parentNode
QVector3D getPosition(int particleIndex) override
QQuick3DParticleShape(QObject *parent=nullptr)
\qmltype ParticleShape3D \inherits ParticleAbtractShape3D \inqmlmodule QtQuick3D.Particles3D
void setExtents(QVector3D extends)
void setType(QQuick3DParticleShape::ShapeType type)
The QVector3D class represents a vector or vertex in 3D space.
friend constexpr decltype(auto) get(V &&vec) noexcept
constexpr float y() const noexcept
Returns the y coordinate of this point.
constexpr float x() const noexcept
Returns the x coordinate of this point.
Combined button and popup list for selecting options.
GLsizei const GLfloat * v
[13]
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat z
GLint GLint GLint GLint GLint x
[0]
GLenum GLenum GLenum GLenum GLenum scale
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent