diff options
author | Mike Krus <mike.krus@kdab.com> | 2016-03-02 22:06:42 +0000 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2016-03-05 18:56:19 +0000 |
commit | 422d10dfdc42ae4bf903ec778eba690021df764c (patch) | |
tree | 3ca658c3375ebae1ddaa0163ddf711718239e29f /src | |
parent | c00cadf3853942721cf8eb79b43cba78ceea658b (diff) |
Move QRay3D to Qt3DRender and make private
Change-Id: I30f328e1d71d1c27b6647b63cbf480ea0937dd68
Task-Id: QTBUG-51500
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/core.pri | 4 | ||||
-rw-r--r-- | src/core/services/nullservices_p.h | 1 | ||||
-rw-r--r-- | src/render/backend/triangleboundingvolume.cpp | 6 | ||||
-rw-r--r-- | src/render/backend/triangleboundingvolume_p.h | 4 | ||||
-rw-r--r-- | src/render/frontend/sphere.cpp | 6 | ||||
-rw-r--r-- | src/render/frontend/sphere_p.h | 2 | ||||
-rw-r--r-- | src/render/jobs/pickboundingvolumejob.cpp | 24 | ||||
-rw-r--r-- | src/render/jobs/pickboundingvolumejob_p.h | 16 | ||||
-rw-r--r-- | src/render/raycasting/qabstractcollisionqueryservice_p.h | 9 | ||||
-rw-r--r-- | src/render/raycasting/qboundingvolume_p.h | 8 | ||||
-rw-r--r-- | src/render/raycasting/qray3d.cpp (renamed from src/core/qray3d.cpp) | 40 | ||||
-rw-r--r-- | src/render/raycasting/qray3d_p.h (renamed from src/core/qray3d.h) | 39 | ||||
-rw-r--r-- | src/render/raycasting/qraycastingservice.cpp | 14 | ||||
-rw-r--r-- | src/render/raycasting/qraycastingservice_p.h | 12 | ||||
-rw-r--r-- | src/render/raycasting/raycasting.pri | 2 |
15 files changed, 95 insertions, 92 deletions
diff --git a/src/core/core.pri b/src/core/core.pri index d257a2519..09c98ff39 100644 --- a/src/core/core.pri +++ b/src/core/core.pri @@ -31,7 +31,6 @@ HEADERS += \ $$PWD/qlockableobserverinterface_p.h \ $$PWD/qchangearbiter_p.h \ $$PWD/qbackendnodefactory_p.h \ - $$PWD/qray3d.h \ $$PWD/qt3dcore_global_p.h \ $$PWD/qscene_p.h @@ -49,5 +48,4 @@ SOURCES += \ $$PWD/qpostman.cpp \ $$PWD/qscene.cpp \ $$PWD/qbackendscenepropertychange.cpp \ - $$PWD/qbackendnodefactory.cpp \ - $$PWD/qray3d.cpp + $$PWD/qbackendnodefactory.cpp diff --git a/src/core/services/nullservices_p.h b/src/core/services/nullservices_p.h index 9e845997d..ed7bd3a39 100644 --- a/src/core/services/nullservices_p.h +++ b/src/core/services/nullservices_p.h @@ -52,7 +52,6 @@ // #include <Qt3DCore/qt3dcore_global.h> -#include <Qt3DCore/qray3d.h> #include "qopenglinformationservice_p.h" #include "qsysteminformationservice_p.h" diff --git a/src/render/backend/triangleboundingvolume.cpp b/src/render/backend/triangleboundingvolume.cpp index 7e5aa6e31..dcb539550 100644 --- a/src/render/backend/triangleboundingvolume.cpp +++ b/src/render/backend/triangleboundingvolume.cpp @@ -38,7 +38,7 @@ ****************************************************************************/ #include "triangleboundingvolume_p.h" -#include <Qt3DCore/qray3d.h> +#include <Qt3DRender/private/qray3d_p.h> QT_BEGIN_NAMESPACE @@ -48,7 +48,7 @@ namespace Render { // Note: a, b, c in clockwise order // RealTime Collision Detection page 192 -bool intersectsSegmentTriangle(const Qt3DCore::QRay3D &ray, +bool intersectsSegmentTriangle(const QRay3D &ray, const QVector3D &a, const QVector3D &b, const QVector3D &c, @@ -112,7 +112,7 @@ Qt3DCore::QNodeId TriangleBoundingVolume::id() const return m_id; } -bool TriangleBoundingVolume::intersects(const Qt3DCore::QRay3D &ray, QVector3D *q) const +bool TriangleBoundingVolume::intersects(const QRay3D &ray, QVector3D *q) const { float t = 0.0f; QVector3D uvw; diff --git a/src/render/backend/triangleboundingvolume_p.h b/src/render/backend/triangleboundingvolume_p.h index 4a36caacb..5ce0f1574 100644 --- a/src/render/backend/triangleboundingvolume_p.h +++ b/src/render/backend/triangleboundingvolume_p.h @@ -61,7 +61,7 @@ namespace Qt3DRender { namespace Render { -Q_AUTOTEST_EXPORT bool intersectsSegmentTriangle(const Qt3DCore::QRay3D &ray, +Q_AUTOTEST_EXPORT bool intersectsSegmentTriangle(const QRay3D &ray, const QVector3D &a, const QVector3D &b, const QVector3D &c, @@ -78,7 +78,7 @@ public: const QVector3D &c); Qt3DCore::QNodeId id() const Q_DECL_FINAL; - bool intersects(const Qt3DCore::QRay3D &ray, QVector3D *q) const Q_DECL_FINAL; + bool intersects(const QRay3D &ray, QVector3D *q) const Q_DECL_FINAL; Type type() const Q_DECL_FINAL; QVector3D a() const; diff --git a/src/render/frontend/sphere.cpp b/src/render/frontend/sphere.cpp index 8f2d830cf..3769b7024 100644 --- a/src/render/frontend/sphere.cpp +++ b/src/render/frontend/sphere.cpp @@ -39,7 +39,7 @@ #include "sphere_p.h" -#include <Qt3DCore/qray3d.h> +#include <Qt3DRender/private/qray3d_p.h> #include <QPair> @@ -53,7 +53,7 @@ namespace { // Intersects ray r = p + td, |d| = 1, with sphere s and, if intersecting, // returns true and intersection point q; false otherwise -bool intersectRaySphere(const Qt3DCore::QRay3D &ray, const Qt3DRender::Render::Sphere &s, QVector3D *q = Q_NULLPTR) +bool intersectRaySphere(const Qt3DRender::QRay3D &ray, const Qt3DRender::Render::Sphere &s, QVector3D *q = Q_NULLPTR) { const QVector3D p = ray.origin(); const QVector3D d = ray.direction(); @@ -222,7 +222,7 @@ Qt3DCore::QNodeId Sphere::id() const return m_id; } -bool Sphere::intersects(const Qt3DCore::QRay3D &ray, QVector3D *q) const +bool Sphere::intersects(const QRay3D &ray, QVector3D *q) const { return intersectRaySphere(ray, *this, q); } diff --git a/src/render/frontend/sphere_p.h b/src/render/frontend/sphere_p.h index 72be54ca7..08d1e1696 100644 --- a/src/render/frontend/sphere_p.h +++ b/src/render/frontend/sphere_p.h @@ -106,7 +106,7 @@ public: } Qt3DCore::QNodeId id() const Q_DECL_FINAL; - bool intersects(const Qt3DCore::QRay3D &ray, QVector3D *q) const Q_DECL_FINAL; + bool intersects(const QRay3D &ray, QVector3D *q) const Q_DECL_FINAL; Type type() const Q_DECL_FINAL; static Sphere fromPoints(const QVector<QVector3D> &points); diff --git a/src/render/jobs/pickboundingvolumejob.cpp b/src/render/jobs/pickboundingvolumejob.cpp index 59dee252e..dcfd545aa 100644 --- a/src/render/jobs/pickboundingvolumejob.cpp +++ b/src/render/jobs/pickboundingvolumejob.cpp @@ -53,9 +53,9 @@ #include <Qt3DRender/private/trianglesvisitor_p.h> #include <Qt3DRender/private/triangleboundingvolume_p.h> #include <Qt3DRender/private/qraycastingservice_p.h> +#include <Qt3DRender/private/qray3d_p.h> #include <Qt3DRender/qgeometryrenderer.h> #include <Qt3DCore/private/qservicelocator_p.h> -#include <Qt3DCore/qray3d.h> #include <QSurface> #include <Qt3DRender/private/job_common_p.h> @@ -171,10 +171,10 @@ public: typedef QVector<QCollisionQueryResult::Hit> HitList; HitList hits; - CollisionVisitor(NodeManagers* manager, const Entity *root, const Qt3DCore::QRay3D& ray) : TrianglesVisitor(manager), m_root(root), m_ray(ray), m_triangleIndex(0) { } + CollisionVisitor(NodeManagers* manager, const Entity *root, const QRay3D& ray) : TrianglesVisitor(manager), m_root(root), m_ray(ray), m_triangleIndex(0) { } private: const Entity *m_root; - Qt3DCore::QRay3D m_ray; + QRay3D m_ray; Qt3DRender::QRayCastingService rayCasting; uint m_triangleIndex; @@ -202,7 +202,7 @@ struct CollisionGathererFunctor { CollisionGathererFunctor() : m_renderer(0) { } Renderer *m_renderer; - Qt3DCore::QRay3D m_ray; + QRay3D m_ray; typedef CollisionVisitor::HitList result_type; @@ -297,16 +297,16 @@ void PickBoundingVolumeJob::setRoot(Entity *root) m_node = root; } -Qt3DCore::QRay3D PickBoundingVolumeJob::intersectionRay(const QPoint &pos, const QMatrix4x4 &viewMatrix, const QMatrix4x4 &projectionMatrix, const QRect &viewport) +QRay3D PickBoundingVolumeJob::intersectionRay(const QPoint &pos, const QMatrix4x4 &viewMatrix, const QMatrix4x4 &projectionMatrix, const QRect &viewport) { QVector3D nearPos = QVector3D(pos.x(), pos.y(), 0.0f); nearPos = nearPos.unproject(viewMatrix, projectionMatrix, viewport); QVector3D farPos = QVector3D(pos.x(), pos.y(), 1.0f); farPos = farPos.unproject(viewMatrix, projectionMatrix, viewport); - return Qt3DCore::QRay3D(nearPos, - (farPos - nearPos).normalized(), - (farPos - nearPos).length()); + return QRay3D(nearPos, + (farPos - nearPos).normalized(), + (farPos - nearPos).length()); } void PickBoundingVolumeJob::run() @@ -477,9 +477,9 @@ QRect PickBoundingVolumeJob::windowViewport(const QRectF &relativeViewport) cons return QRect(); } -Qt3DCore::QRay3D PickBoundingVolumeJob::rayForViewportAndCamera(const QPoint &pos, - const QRectF &relativeViewport, - Qt3DCore::QNodeId cameraId) const +QRay3D PickBoundingVolumeJob::rayForViewportAndCamera(const QPoint &pos, + const QRectF &relativeViewport, + Qt3DCore::QNodeId cameraId) const { QMatrix4x4 viewMatrix; QMatrix4x4 projectionMatrix; @@ -491,7 +491,7 @@ Qt3DCore::QRay3D PickBoundingVolumeJob::rayForViewportAndCamera(const QPoint &po // // In GL the y is inverted compared to Qt // const QPoint glCorrectPos = s.isValid() ? QPoint(pos.x(), s.height() - pos.y()) : pos; const QPoint glCorrectPos = pos; - const Qt3DCore::QRay3D ray = intersectionRay(glCorrectPos, viewMatrix, projectionMatrix, viewport); + const QRay3D ray = intersectionRay(glCorrectPos, viewMatrix, projectionMatrix, viewport); return ray; } diff --git a/src/render/jobs/pickboundingvolumejob_p.h b/src/render/jobs/pickboundingvolumejob_p.h index 695e8e010..4dd0590d1 100644 --- a/src/render/jobs/pickboundingvolumejob_p.h +++ b/src/render/jobs/pickboundingvolumejob_p.h @@ -52,7 +52,7 @@ // #include <Qt3DCore/qaspectjob.h> -#include <Qt3DCore/qray3d.h> +#include <Qt3DRender/private/qray3d_p.h> #include <Qt3DRender/private/handle_types_p.h> #include <Qt3DRender/private/qboundingvolumeprovider_p.h> #include <Qt3DRender/private/qcollisionqueryresult_p.h> @@ -82,10 +82,10 @@ public: void setRoot(Entity *root); - static Qt3DCore::QRay3D intersectionRay(const QPoint &pos, - const QMatrix4x4 &viewMatrix, - const QMatrix4x4 &projectionMatrix, - const QRect &viewport); + static QRay3D intersectionRay(const QPoint &pos, + const QMatrix4x4 &viewMatrix, + const QMatrix4x4 &projectionMatrix, + const QRect &viewport); protected: void run() Q_DECL_FINAL; @@ -99,9 +99,9 @@ private: QMatrix4x4 &viewMatrix, QMatrix4x4 &projectionMatrix) const; QRect windowViewport(const QRectF &relativeViewport) const; - Qt3DCore::QRay3D rayForViewportAndCamera(const QPoint &pos, - const QRectF &relativeViewport, - Qt3DCore::QNodeId cameraId) const; + QRay3D rayForViewportAndCamera(const QPoint &pos, + const QRectF &relativeViewport, + Qt3DCore::QNodeId cameraId) const; void clearPreviouslyHoveredPickers(); HObjectPicker m_currentPicker; QVector<HObjectPicker> m_hoveredPickers; diff --git a/src/render/raycasting/qabstractcollisionqueryservice_p.h b/src/render/raycasting/qabstractcollisionqueryservice_p.h index 9121ab019..a2bb7873b 100644 --- a/src/render/raycasting/qabstractcollisionqueryservice_p.h +++ b/src/render/raycasting/qabstractcollisionqueryservice_p.h @@ -61,13 +61,10 @@ QT_BEGIN_NAMESPACE -namespace Qt3DCore { -class QRay3D; -} - class QAbstractCollisionQueryServicePrivate; namespace Qt3DRender { +class QRay3D; class QBoundingVolume; class QBoundingVolumeProvider; @@ -87,8 +84,8 @@ public: AllHits }; - virtual QQueryHandle query(const Qt3DCore::QRay3D &ray, QueryMode mode, QBoundingVolumeProvider *provider) = 0; - virtual QCollisionQueryResult::Hit query(const Qt3DCore::QRay3D &ray, const QBoundingVolume* volume) = 0; + virtual QQueryHandle query(const QRay3D &ray, QueryMode mode, QBoundingVolumeProvider *provider) = 0; + virtual QCollisionQueryResult::Hit query(const QRay3D &ray, const QBoundingVolume* volume) = 0; virtual QCollisionQueryResult fetchResult(const QQueryHandle &handle) = 0; virtual QVector<QCollisionQueryResult> fetchAllResults() const = 0; diff --git a/src/render/raycasting/qboundingvolume_p.h b/src/render/raycasting/qboundingvolume_p.h index 92fe2215d..a8f37addb 100644 --- a/src/render/raycasting/qboundingvolume_p.h +++ b/src/render/raycasting/qboundingvolume_p.h @@ -55,12 +55,8 @@ #include <Qt3DCore/qnodeid.h> QT_BEGIN_NAMESPACE - -namespace Qt3DCore { -class QRay3D; -} - namespace Qt3DRender { +class QRay3D; class QT3DRENDERSHARED_EXPORT QBoundingVolume { @@ -74,7 +70,7 @@ public: }; virtual Qt3DCore::QNodeId id() const = 0; - virtual bool intersects(const Qt3DCore::QRay3D &ray, QVector3D *q = Q_NULLPTR) const = 0; + virtual bool intersects(const QRay3D &ray, QVector3D *q = Q_NULLPTR) const = 0; virtual Type type() const = 0; }; diff --git a/src/core/qray3d.cpp b/src/render/raycasting/qray3d.cpp index 2d8cf855c..f48ce903d 100644 --- a/src/core/qray3d.cpp +++ b/src/render/raycasting/qray3d.cpp @@ -38,16 +38,16 @@ ** ****************************************************************************/ -#include "qray3d.h" +#include <Qt3DRender/private/qray3d_p.h> #include <QtCore/qdebug.h> QT_BEGIN_NAMESPACE -namespace Qt3DCore { +namespace Qt3DRender { /*! - \class Qt3DCore::QRay3D - \inmodule Qt3DCore + \class Qt3DRender::QRay3D + \inmodule Qt3DRender \brief The QRay3D class defines a directional line in 3D space extending through an origin point. \since 5.5 \ingroup qt3d @@ -69,7 +69,7 @@ namespace Qt3DCore { */ /*! - \fn Qt3DCore::QRay3D::QRay3D() + \fn Qt3DRender::QRay3D::QRay3D() Construct a default ray with an origin() of (0, 0, 0), a direction() of (0, 0, 1) and a distance of 1. @@ -81,7 +81,7 @@ QRay3D::QRay3D() } /*! - \fn Qt3DCore::QRay3D::QRay3D(const QVector3D &origin, const QVector3D &direction, float distance) + \fn Qt3DRender::QRay3D::QRay3D(const QVector3D &origin, const QVector3D &direction, float distance) Construct a ray given its defining \a origin, \a direction and \a distance. The \a direction does not need to be normalized. @@ -103,7 +103,7 @@ QRay3D::~QRay3D() } /*! - \fn QVector3D Qt3DCore::QRay3D::origin() const + \fn QVector3D Qt3DRender::QRay3D::origin() const Returns the origin of this ray. The default value is (0, 0, 0). @@ -115,7 +115,7 @@ QVector3D QRay3D::origin() const } /*! - \fn void Qt3DCore::QRay3D::setOrigin(const QVector3D &value) + \fn void Qt3DRender::QRay3D::setOrigin(const QVector3D &value) Sets the origin point of this ray to \a value. @@ -127,7 +127,7 @@ void QRay3D::setOrigin(const QVector3D &value) } /*! - \fn QVector3D Qt3DCore::QRay3D::direction() const + \fn QVector3D Qt3DRender::QRay3D::direction() const Returns the direction vector of this ray. The default value is (0, 0, 1). @@ -139,7 +139,7 @@ QVector3D QRay3D::direction() const } /*! - \fn void Qt3DCore::QRay3D::setDirection(const QVector3D &direction) + \fn void Qt3DRender::QRay3D::setDirection(const QVector3D &direction) Sets the direction vector of this ray to \a direction. @@ -219,7 +219,7 @@ bool QRay3D::contains(const QRay3D &ray) const } /*! - \fn QVector3D Qt3DCore::QRay3D::point(float t) const + \fn QVector3D Qt3DRender::QRay3D::point(float t) const Returns the point on the ray defined by moving \a t units along the ray in the direction of the direction() vector. @@ -283,7 +283,7 @@ float QRay3D::distance(const QVector3D &point) const } /*! - \fn QRay3D &Qt3DCore::QRay3D::transform(const QMatrix4x4 &matrix) + \fn QRay3D &Qt3DRender::QRay3D::transform(const QMatrix4x4 &matrix) Transforms this ray using \a matrix, replacing origin() and direction() with the transformed versions. @@ -292,7 +292,7 @@ float QRay3D::distance(const QVector3D &point) const */ /*! - \fn QRay3D Qt3DCore::QRay3D::transformed(const QMatrix4x4 &matrix) const + \fn QRay3D Qt3DRender::QRay3D::transformed(const QMatrix4x4 &matrix) const Returns a new ray that is formed by transforming origin() and direction() using \a matrix. @@ -301,7 +301,7 @@ float QRay3D::distance(const QVector3D &point) const */ /*! - \fn bool Qt3DCore::QRay3D::operator==(const QRay3D &other) const + \fn bool Qt3DRender::QRay3D::operator==(const QRay3D &other) const Returns \c true if this ray is the same as \a other; \c false otherwise. @@ -309,7 +309,7 @@ float QRay3D::distance(const QVector3D &point) const */ /*! - \fn bool Qt3DCore::QRay3D::operator!=(const QRay3D &other) const + \fn bool Qt3DRender::QRay3D::operator!=(const QRay3D &other) const Returns \c true if this ray is not the same as \a other; \c false otherwise. @@ -317,8 +317,8 @@ float QRay3D::distance(const QVector3D &point) const */ /*! - \fn bool qFuzzyCompare(const Qt3DCore::QRay3D &ray1, const Qt3DCore::QRay3D &ray2) - \relates Qt3DCore::QRay3D + \fn bool qFuzzyCompare(const Qt3DRender::QRay3D &ray1, const Qt3DRender::QRay3D &ray2) + \relates Qt3DRender::QRay3D Returns \c true if \a ray1 and \a ray2 are almost equal; \c false otherwise. @@ -342,7 +342,7 @@ QDebug operator<<(QDebug dbg, const QRay3D &ray) #ifndef QT_NO_DATASTREAM /*! - \relates Qt3DCore::QRay3D + \relates Qt3DRender::QRay3D Writes the given \a ray to the given \a stream and returns a reference to the stream. @@ -355,7 +355,7 @@ QDataStream &operator<<(QDataStream &stream, const QRay3D &ray) } /*! - \relates Qt3DCore::QRay3D + \relates Qt3DRender::QRay3D Reads a 3D ray from the given \a stream into the given \a ray and returns a reference to the stream. @@ -371,6 +371,6 @@ QDataStream &operator>>(QDataStream &stream, QRay3D &ray) #endif // QT_NO_DATASTREAM -} // namespace Qt3DCore +} // namespace Qt3DRender QT_END_NAMESPACE diff --git a/src/core/qray3d.h b/src/render/raycasting/qray3d_p.h index 6da6b13ae..8ef1e8158 100644 --- a/src/core/qray3d.h +++ b/src/render/raycasting/qray3d_p.h @@ -38,18 +38,29 @@ ** ****************************************************************************/ -#ifndef QT3DCORE_QRAY3D_H -#define QT3DCORE_QRAY3D_H - -#include <Qt3DCore/qt3dcore_global.h> +#ifndef QT3DRENDER_QRAY3D_H +#define QT3DRENDER_QRAY3D_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of other Qt classes. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include <Qt3DRender/qt3drender_global.h> #include <QtGui/qvector3d.h> #include <QtGui/qmatrix4x4.h> QT_BEGIN_NAMESPACE -namespace Qt3DCore { +namespace Qt3DRender { -class QT3DCORESHARED_EXPORT QRay3D +class QT3DRENDERSHARED_EXPORT QRay3D { public: QRay3D(); @@ -88,26 +99,26 @@ private: }; #ifndef QT_NO_DEBUG_STREAM -QT3DCORESHARED_EXPORT QDebug operator<<(QDebug dbg, const Qt3DCore::QRay3D &ray); +QT3DRENDERSHARED_EXPORT QDebug operator<<(QDebug dbg, const QRay3D &ray); #endif #ifndef QT_NO_DATASTREAM -QT3DCORESHARED_EXPORT QDataStream &operator<<(QDataStream &stream, const Qt3DCore::QRay3D &ray); -QT3DCORESHARED_EXPORT QDataStream &operator>>(QDataStream &stream, Qt3DCore::QRay3D &ray); +QT3DRENDERSHARED_EXPORT QDataStream &operator<<(QDataStream &stream, const QRay3D &ray); +QT3DRENDERSHARED_EXPORT QDataStream &operator>>(QDataStream &stream, QRay3D &ray); #endif -} // namespace Qt3DCore +} // namespace Qt3DRender -Q_DECLARE_TYPEINFO(Qt3DCore::QRay3D, Q_MOVABLE_TYPE); +Q_DECLARE_TYPEINFO(Qt3DRender::QRay3D, Q_MOVABLE_TYPE); QT_END_NAMESPACE -inline bool qFuzzyCompare(const Qt3DCore::QRay3D &ray1, const Qt3DCore::QRay3D &ray2) +inline bool qFuzzyCompare(const Qt3DRender::QRay3D &ray1, const Qt3DRender::QRay3D &ray2) { return qFuzzyCompare(ray1.origin(), ray2.origin()) && qFuzzyCompare(ray1.direction(), ray2.direction()); } -Q_DECLARE_METATYPE(Qt3DCore::QRay3D) +Q_DECLARE_METATYPE(Qt3DRender::QRay3D) -#endif // QT3DCORE_QRAY3D_H +#endif // QT3DRENDER_QRAY3D_H diff --git a/src/render/raycasting/qraycastingservice.cpp b/src/render/raycasting/qraycastingservice.cpp index 52937bd8d..3b505b548 100644 --- a/src/render/raycasting/qraycastingservice.cpp +++ b/src/render/raycasting/qraycastingservice.cpp @@ -39,7 +39,7 @@ #include "qraycastingservice_p.h" -#include <Qt3DCore/qray3d.h> +#include <Qt3DRender/private/qray3d_p.h> #include <Qt3DRender/private/sphere_p.h> #include <Qt3DRender/private/qboundingvolumeprovider_p.h> @@ -74,7 +74,7 @@ bool compareHitsDistance(const Hit &a, const Hit &b) return a.distance < b.distance; } -Hit volumeRayIntersection(const QBoundingVolume *volume, const Qt3DCore::QRay3D &ray) +Hit volumeRayIntersection(const QBoundingVolume *volume, const QRay3D &ray) { Hit hit; if ((hit.intersects = volume->intersects(ray, &hit.intersection))) { @@ -105,7 +105,7 @@ QVector<Hit> reduceToAllHits(QVector<Hit> &results, const Hit &intermediate) struct CollisionGathererFunctor { - Qt3DCore::QRay3D ray; + QRay3D ray; typedef Hit result_type; @@ -118,7 +118,7 @@ struct CollisionGathererFunctor } // anonymous -QCollisionQueryResult QRayCastingServicePrivate::collides(const Qt3DCore::QRay3D &ray, QBoundingVolumeProvider *provider, +QCollisionQueryResult QRayCastingServicePrivate::collides(const QRay3D &ray, QBoundingVolumeProvider *provider, QAbstractCollisionQueryService::QueryMode mode, const QQueryHandle &handle) { Q_Q(QRayCastingService); @@ -144,7 +144,7 @@ QCollisionQueryResult QRayCastingServicePrivate::collides(const Qt3DCore::QRay3D return result; } -QCollisionQueryResult::Hit QRayCastingServicePrivate::collides(const Qt3DCore::QRay3D &ray, const Qt3DRender::QBoundingVolume *volume) +QCollisionQueryResult::Hit QRayCastingServicePrivate::collides(const QRay3D &ray, const Qt3DRender::QBoundingVolume *volume) { QCollisionQueryResult::Hit result; Hit hit = volumeRayIntersection(volume, ray); @@ -168,7 +168,7 @@ QRayCastingService::QRayCastingService() { } -QQueryHandle QRayCastingService::query(const Qt3DCore::QRay3D &ray, +QQueryHandle QRayCastingService::query(const QRay3D &ray, QAbstractCollisionQueryService::QueryMode mode, QBoundingVolumeProvider *provider) { @@ -186,7 +186,7 @@ QQueryHandle QRayCastingService::query(const Qt3DCore::QRay3D &ray, return handle; } -QCollisionQueryResult::Hit QRayCastingService::query(const Qt3DCore::QRay3D &ray, const QBoundingVolume *volume) +QCollisionQueryResult::Hit QRayCastingService::query(const QRay3D &ray, const QBoundingVolume *volume) { Q_D(QRayCastingService); diff --git a/src/render/raycasting/qraycastingservice_p.h b/src/render/raycasting/qraycastingservice_p.h index 6c88423a7..c02104d7c 100644 --- a/src/render/raycasting/qraycastingservice_p.h +++ b/src/render/raycasting/qraycastingservice_p.h @@ -53,7 +53,7 @@ #include <Qt3DCore/qt3dcore_global.h> #include <Qt3DRender/private/qabstractcollisionqueryservice_p.h> -#include <Qt3DCore/qray3d.h> +#include <Qt3DRender/private/qray3d_p.h> #include <QHash> #include <QtConcurrent> @@ -73,8 +73,8 @@ class QT3DRENDERSHARED_EXPORT QRayCastingService : public QAbstractCollisionQuer public: QRayCastingService(); - QQueryHandle query(const Qt3DCore::QRay3D &ray, QueryMode mode, QBoundingVolumeProvider *provider) Q_DECL_OVERRIDE; - QCollisionQueryResult::Hit query(const Qt3DCore::QRay3D &ray, const QBoundingVolume *volume) Q_DECL_OVERRIDE; + QQueryHandle query(const QRay3D &ray, QueryMode mode, QBoundingVolumeProvider *provider) Q_DECL_OVERRIDE; + QCollisionQueryResult::Hit query(const QRay3D &ray, const QBoundingVolume *volume) Q_DECL_OVERRIDE; QCollisionQueryResult fetchResult(const QQueryHandle &handle) Q_DECL_OVERRIDE; QVector<QCollisionQueryResult> fetchAllResults() const Q_DECL_OVERRIDE; @@ -92,11 +92,11 @@ class QRayCastingServicePrivate : public QAbstractCollisionQueryServicePrivate public: QRayCastingServicePrivate(const QString &description); - QCollisionQueryResult collides(const Qt3DCore::QRay3D &ray, + QCollisionQueryResult collides(const QRay3D &ray, QBoundingVolumeProvider *provider, QAbstractCollisionQueryService::QueryMode mode, const QQueryHandle &handle); - QCollisionQueryResult::Hit collides(const Qt3DCore::QRay3D &ray, + QCollisionQueryResult::Hit collides(const QRay3D &ray, const QBoundingVolume *volume); Q_DECLARE_PUBLIC(QRayCastingService) @@ -104,7 +104,7 @@ public: struct Query { QQueryHandle handle; - Qt3DCore::QRay3D ray; + QRay3D ray; QRayCastingService::QueryMode mode; }; diff --git a/src/render/raycasting/raycasting.pri b/src/render/raycasting/raycasting.pri index fdd4be17f..2aeb2a461 100644 --- a/src/render/raycasting/raycasting.pri +++ b/src/render/raycasting/raycasting.pri @@ -6,6 +6,7 @@ HEADERS += \ $$PWD/qboundingvolume_p.h \ $$PWD/qboundingvolumeprovider_p.h \ $$PWD/qcollisionqueryresult_p.h \ + $$PWD/qray3d_p.h \ $$PWD/qraycastingservice_p.h SOURCES += \ @@ -14,4 +15,5 @@ SOURCES += \ $$PWD/qboundingvolume.cpp \ $$PWD/qboundingvolumeprovider.cpp \ $$PWD/qcollisionqueryresult.cpp \ + $$PWD/qray3d.cpp \ $$PWD/qraycastingservice.cpp |