summaryrefslogtreecommitdiffstats
path: root/src/core/transforms
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2014-10-15 13:38:32 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-10-16 10:18:14 +0200
commitcd1d21fdad54315c4a8ade860ce6b31aa5a6f4b9 (patch)
treec1c042dfdb6c7fd8644c2e45a1cdad18b0703e57 /src/core/transforms
parent0f1d0ff5b3adb16afcda091e4ff4657f53581f79 (diff)
Have copy() only on QNode
It was previously both on QNode and QNodePrivate. The one on QNodePrivate didn't give us much as it didn't eliminate the virtual of QNode. Change-Id: Ia1ea9dd831674109c84bd7005abe7fde3b1223fa Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/core/transforms')
-rw-r--r--src/core/transforms/qlookattransform.cpp16
-rw-r--r--src/core/transforms/qlookattransform.h5
-rw-r--r--src/core/transforms/qlookattransform_p.h2
-rw-r--r--src/core/transforms/qmatrixtransform.cpp8
-rw-r--r--src/core/transforms/qmatrixtransform.h5
-rw-r--r--src/core/transforms/qmatrixtransform_p.h2
-rw-r--r--src/core/transforms/qrotatetransform.cpp10
-rw-r--r--src/core/transforms/qrotatetransform.h1
-rw-r--r--src/core/transforms/qrotatetransform_p.h2
-rw-r--r--src/core/transforms/qscaletransform.cpp8
-rw-r--r--src/core/transforms/qscaletransform.h1
-rw-r--r--src/core/transforms/qscaletransform_p.h2
-rw-r--r--src/core/transforms/qtransform.cpp12
-rw-r--r--src/core/transforms/qtransform.h2
-rw-r--r--src/core/transforms/qtransform_p.h2
-rw-r--r--src/core/transforms/qtranslatetransform.cpp8
-rw-r--r--src/core/transforms/qtranslatetransform.h1
-rw-r--r--src/core/transforms/qtranslatetransform_p.h2
18 files changed, 44 insertions, 45 deletions
diff --git a/src/core/transforms/qlookattransform.cpp b/src/core/transforms/qlookattransform.cpp
index ff99d129d..e9f3cfc23 100644
--- a/src/core/transforms/qlookattransform.cpp
+++ b/src/core/transforms/qlookattransform.cpp
@@ -57,15 +57,15 @@ QLookAtTransform::QLookAtTransform(QNode *parent)
{
}
-void QLookAtTransformPrivate::copy(const QNodePrivate *ref)
+void QLookAtTransform::copy(const QNode *ref)
{
- QAbstractTransformPrivate::copy(ref);
- const QLookAtTransformPrivate *transform = static_cast<const QLookAtTransformPrivate *>(ref);
- m_matrix = transform->m_matrix;
- m_position = transform->m_position;
- m_upVector = transform->m_upVector;
- m_viewCenter = transform->m_viewCenter;
- m_viewVector = transform->m_viewVector;
+ QAbstractTransform::copy(ref);
+ const QLookAtTransform *transform = static_cast<const QLookAtTransform*>(ref);
+ d_func()->m_matrix = transform->d_func()->m_matrix;
+ d_func()->m_position = transform->d_func()->m_position;
+ d_func()->m_upVector = transform->d_func()->m_upVector;
+ d_func()->m_viewCenter = transform->d_func()->m_viewCenter;
+ d_func()->m_viewVector = transform->d_func()->m_viewVector;
}
QLookAtTransform::QLookAtTransform(QLookAtTransformPrivate &dd, QNode *parent)
diff --git a/src/core/transforms/qlookattransform.h b/src/core/transforms/qlookattransform.h
index 6246bd764..d0fb785d4 100644
--- a/src/core/transforms/qlookattransform.h
+++ b/src/core/transforms/qlookattransform.h
@@ -85,9 +85,12 @@ Q_SIGNALS:
void viewVectorChanged();
protected:
- Q_DECLARE_PRIVATE(QLookAtTransform)
QLookAtTransform(QLookAtTransformPrivate &dd, QNode *parent = 0);
+ void copy(const QNode *ref) Q_DECL_OVERRIDE;
+
+private:
QT3D_CLONEABLE(QLookAtTransform)
+ Q_DECLARE_PRIVATE(QLookAtTransform)
};
} // namespace Qt3D
diff --git a/src/core/transforms/qlookattransform_p.h b/src/core/transforms/qlookattransform_p.h
index f377afabc..2a6e71d51 100644
--- a/src/core/transforms/qlookattransform_p.h
+++ b/src/core/transforms/qlookattransform_p.h
@@ -55,8 +55,6 @@ public :
Q_DECLARE_PUBLIC(QLookAtTransform)
- void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE;
-
mutable QMatrix4x4 m_matrix;
QVector3D m_position;
QVector3D m_upVector;
diff --git a/src/core/transforms/qmatrixtransform.cpp b/src/core/transforms/qmatrixtransform.cpp
index c7240ff32..8e1aa648d 100644
--- a/src/core/transforms/qmatrixtransform.cpp
+++ b/src/core/transforms/qmatrixtransform.cpp
@@ -56,11 +56,11 @@ QMatrixTransform::QMatrixTransform(QMatrixTransformPrivate &dd, QNode *parent)
{
}
-void QMatrixTransformPrivate::copy(const QNodePrivate *ref)
+void QMatrixTransform::copy(const QNode *ref)
{
- QAbstractTransformPrivate::copy(ref);
- const QMatrixTransformPrivate *matrix = static_cast<const QMatrixTransformPrivate *>(ref);
- m_matrix = matrix->m_matrix;
+ QAbstractTransform::copy(ref);
+ const QMatrixTransform *matrix = static_cast<const QMatrixTransform*>(ref);
+ d_func()->m_matrix = matrix->d_func()->m_matrix;
}
QMatrixTransform::QMatrixTransform(QNode *parent)
diff --git a/src/core/transforms/qmatrixtransform.h b/src/core/transforms/qmatrixtransform.h
index d1320d995..f278dddcd 100644
--- a/src/core/transforms/qmatrixtransform.h
+++ b/src/core/transforms/qmatrixtransform.h
@@ -70,9 +70,12 @@ Q_SIGNALS:
void matrixChanged();
protected:
- Q_DECLARE_PRIVATE(QMatrixTransform)
QMatrixTransform(QMatrixTransformPrivate &dd, QNode *parent = 0);
+ void copy(const QNode *ref) Q_DECL_OVERRIDE;
+
+private:
QT3D_CLONEABLE(QMatrixTransform)
+ Q_DECLARE_PRIVATE(QMatrixTransform)
};
} // namespace Qt3D
diff --git a/src/core/transforms/qmatrixtransform_p.h b/src/core/transforms/qmatrixtransform_p.h
index fc0ad3a96..7be1e972a 100644
--- a/src/core/transforms/qmatrixtransform_p.h
+++ b/src/core/transforms/qmatrixtransform_p.h
@@ -55,8 +55,6 @@ class QMatrixTransformPrivate : public QAbstractTransformPrivate
public:
QMatrixTransformPrivate(QMatrixTransform *qq);
- void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE;
-
Q_DECLARE_PUBLIC(QMatrixTransform)
QMatrix4x4 m_matrix;
};
diff --git a/src/core/transforms/qrotatetransform.cpp b/src/core/transforms/qrotatetransform.cpp
index 701153902..31927545b 100644
--- a/src/core/transforms/qrotatetransform.cpp
+++ b/src/core/transforms/qrotatetransform.cpp
@@ -60,12 +60,12 @@ QRotateTransformPrivate::QRotateTransformPrivate(QRotateTransform *qq)
{
}
-void QRotateTransformPrivate::copy(const QNodePrivate *ref)
+void QRotateTransform::copy(const QNode *ref)
{
- QAbstractTransformPrivate::copy(ref);
- const QRotateTransformPrivate *transform = static_cast<const QRotateTransformPrivate *>(ref);
- m_axis = transform->m_axis;
- m_angleDeg = transform->m_angleDeg;
+ QAbstractTransform::copy(ref);
+ const QRotateTransform *transform = static_cast<const QRotateTransform*>(ref);
+ d_func()->m_axis = transform->d_func()->m_axis;
+ d_func()->m_angleDeg = transform->d_func()->m_angleDeg;
}
QRotateTransform::QRotateTransform(QNode *parent)
diff --git a/src/core/transforms/qrotatetransform.h b/src/core/transforms/qrotatetransform.h
index 9a5e7e7bb..3c1240529 100644
--- a/src/core/transforms/qrotatetransform.h
+++ b/src/core/transforms/qrotatetransform.h
@@ -79,6 +79,7 @@ Q_SIGNALS:
protected:
QRotateTransform(QRotateTransformPrivate &dd, QNode *parent = 0);
+ void copy(const QNode *ref) Q_DECL_OVERRIDE;
private:
Q_DECLARE_PRIVATE(QRotateTransform)
diff --git a/src/core/transforms/qrotatetransform_p.h b/src/core/transforms/qrotatetransform_p.h
index 765fb5ba0..e4e2cf9df 100644
--- a/src/core/transforms/qrotatetransform_p.h
+++ b/src/core/transforms/qrotatetransform_p.h
@@ -57,8 +57,6 @@ public:
Q_DECLARE_PUBLIC(QRotateTransform)
- void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE;
-
float m_angleDeg;
QVector3D m_axis;
};
diff --git a/src/core/transforms/qscaletransform.cpp b/src/core/transforms/qscaletransform.cpp
index 94a7298bf..626179d7a 100644
--- a/src/core/transforms/qscaletransform.cpp
+++ b/src/core/transforms/qscaletransform.cpp
@@ -53,11 +53,11 @@ QScaleTransformPrivate::QScaleTransformPrivate(QScaleTransform *qq)
{
}
-void QScaleTransformPrivate::copy(const QNodePrivate *ref)
+void QScaleTransform::copy(const QNode *ref)
{
- QAbstractTransformPrivate::copy(ref);
- const QScaleTransformPrivate *transform = static_cast<const QScaleTransformPrivate *>(ref);
- m_scale3D = transform->m_scale3D;
+ QAbstractTransform::copy(ref);
+ const QScaleTransform *transform = static_cast<const QScaleTransform*>(ref);
+ d_func()->m_scale3D = transform->d_func()->m_scale3D;
}
QScaleTransform::QScaleTransform(QNode *parent) :
diff --git a/src/core/transforms/qscaletransform.h b/src/core/transforms/qscaletransform.h
index fde2fc6e2..d82cacac9 100644
--- a/src/core/transforms/qscaletransform.h
+++ b/src/core/transforms/qscaletransform.h
@@ -73,6 +73,7 @@ Q_SIGNALS:
protected:
QScaleTransform(QScaleTransformPrivate &dd, QNode *parent = 0);
+ void copy(const QNode *ref) Q_DECL_OVERRIDE;
private:
Q_DECLARE_PRIVATE(QScaleTransform)
diff --git a/src/core/transforms/qscaletransform_p.h b/src/core/transforms/qscaletransform_p.h
index 63f6afa62..c631b6b54 100644
--- a/src/core/transforms/qscaletransform_p.h
+++ b/src/core/transforms/qscaletransform_p.h
@@ -54,8 +54,6 @@ class QScaleTransformPrivate : public QAbstractTransformPrivate
public:
QScaleTransformPrivate(QScaleTransform *qq);
- void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE;
-
Q_DECLARE_PUBLIC(QScaleTransform)
QVector3D m_scale3D;
};
diff --git a/src/core/transforms/qtransform.cpp b/src/core/transforms/qtransform.cpp
index 17fea861a..96226c08e 100644
--- a/src/core/transforms/qtransform.cpp
+++ b/src/core/transforms/qtransform.cpp
@@ -58,13 +58,13 @@ QTransformPrivate::QTransformPrivate(QTransform *qq)
{
}
-void QTransformPrivate::copy(const QNodePrivate *ref)
+void QTransform::copy(const QNode *ref)
{
- QComponentPrivate::copy(ref);
- const QTransformPrivate *transform = static_cast<const QTransformPrivate *>(ref);
- m_matrix = transform->m_matrix;
- Q_FOREACH (QAbstractTransform *t, transform->m_transforms)
- q_func()->appendTransform(qobject_cast<QAbstractTransform *>(QNodePrivate::get(t)->clone()));
+ QComponent::copy(ref);
+ const QTransform *transform = static_cast<const QTransform*>(ref);
+ d_func()->m_matrix = transform->d_func()->m_matrix;
+ Q_FOREACH (QAbstractTransform *t, transform->d_func()->m_transforms)
+ appendTransform(qobject_cast<QAbstractTransform *>(QNodePrivate::get(t)->clone()));
}
QTransform::QTransform(QNode *parent)
diff --git a/src/core/transforms/qtransform.h b/src/core/transforms/qtransform.h
index e9342e955..0c330c522 100644
--- a/src/core/transforms/qtransform.h
+++ b/src/core/transforms/qtransform.h
@@ -94,7 +94,9 @@ Q_SIGNALS:
protected:
QMatrix4x4 applyTransforms() const;
QList<QAbstractTransform *> transformList() const;
+
QTransform(QTransformPrivate &dd, QNode *parent = 0);
+ void copy(const QNode *ref) Q_DECL_OVERRIDE;
private:
Q_DECLARE_PRIVATE(QTransform)
diff --git a/src/core/transforms/qtransform_p.h b/src/core/transforms/qtransform_p.h
index f8b03dfb1..ebd490fe0 100644
--- a/src/core/transforms/qtransform_p.h
+++ b/src/core/transforms/qtransform_p.h
@@ -56,8 +56,6 @@ class QTransformPrivate : public QComponentPrivate
public:
QTransformPrivate(QTransform *qq);
- void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE;
-
Q_DECLARE_PUBLIC(QTransform)
mutable QAtomicInt m_transformsDirty;
diff --git a/src/core/transforms/qtranslatetransform.cpp b/src/core/transforms/qtranslatetransform.cpp
index e809efa57..c7b271e4c 100644
--- a/src/core/transforms/qtranslatetransform.cpp
+++ b/src/core/transforms/qtranslatetransform.cpp
@@ -57,11 +57,11 @@ QTranslateTransform::QTranslateTransform(QNode *parent)
{
}
-void QTranslateTransformPrivate::copy(const QNodePrivate *ref)
+void QTranslateTransform::copy(const QNode *ref)
{
- QAbstractTransformPrivate::copy(ref);
- const QTranslateTransformPrivate *transform = static_cast<const QTranslateTransformPrivate *>(ref);
- m_translation = transform->m_translation;
+ QAbstractTransform::copy(ref);
+ const QTranslateTransform *transform = static_cast<const QTranslateTransform*>(ref);
+ d_func()->m_translation = transform->d_func()->m_translation;
}
diff --git a/src/core/transforms/qtranslatetransform.h b/src/core/transforms/qtranslatetransform.h
index ad3ab397a..01e55e926 100644
--- a/src/core/transforms/qtranslatetransform.h
+++ b/src/core/transforms/qtranslatetransform.h
@@ -85,6 +85,7 @@ Q_SIGNALS:
protected:
QTranslateTransform(QTranslateTransformPrivate &dd, QNode *parent = 0);
+ void copy(const QNode *ref) Q_DECL_OVERRIDE;
private:
Q_DECLARE_PRIVATE(QTranslateTransform)
diff --git a/src/core/transforms/qtranslatetransform_p.h b/src/core/transforms/qtranslatetransform_p.h
index 18a8d3d7e..4c942c644 100644
--- a/src/core/transforms/qtranslatetransform_p.h
+++ b/src/core/transforms/qtranslatetransform_p.h
@@ -55,8 +55,6 @@ public:
QTranslateTransformPrivate(QTranslateTransform *qq);
Q_DECLARE_PUBLIC(QTranslateTransform)
- void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE;
-
QVector3D m_translation;
};