diff options
Diffstat (limited to 'src/particles/qquickturbulence.cpp')
-rw-r--r-- | src/particles/qquickturbulence.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/particles/qquickturbulence.cpp b/src/particles/qquickturbulence.cpp index 11bae1107b..8d5846710a 100644 --- a/src/particles/qquickturbulence.cpp +++ b/src/particles/qquickturbulence.cpp @@ -36,6 +36,7 @@ #include <cmath> #include <cstdlib> #include <QDebug> +#include <QQmlFile> QT_BEGIN_NAMESPACE /*! @@ -108,7 +109,6 @@ void QQuickTurbulenceAffector::initializeGrid() for (int i=0; i<m_gridSize; i++) free(m_field[i]); free(m_field); - m_system = 0; } if (m_vectorField) { for (int i=0; i<m_gridSize; i++) @@ -127,17 +127,17 @@ void QQuickTurbulenceAffector::initializeGrid() QImage image; if (!m_noiseSource.isEmpty()) - image = QImage(m_noiseSource.toLocalFile()).scaled(QSize(m_gridSize, m_gridSize)); + image = QImage(QQmlFile::urlToLocalFileOrQrc(m_noiseSource)).scaled(QSize(m_gridSize, m_gridSize)); if (image.isNull()) image = QImage(QStringLiteral(":particleresources/noise.png")).scaled(QSize(m_gridSize, m_gridSize)); for (int i=0; i<m_gridSize; i++) for (int j=0; j<m_gridSize; j++) - m_field[i][j] = qRed(image.pixel(QPoint(i,j)));//Red as proxy for Value + m_field[i][j] = qGray(image.pixel(QPoint(i,j))); for (int i=0; i<m_gridSize; i++){ for (int j=0; j<m_gridSize; j++){ - m_vectorField[i][j].setX(boundsRespectingField(i,j) - boundsRespectingField(i,j-1)); - m_vectorField[i][j].setY(boundsRespectingField(i-1,j) - boundsRespectingField(i,j)); + m_vectorField[i][j].setX(boundsRespectingField(i-1,j) - boundsRespectingField(i,j)); + m_vectorField[i][j].setY(boundsRespectingField(i,j) - boundsRespectingField(i,j-1)); } } } |