summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-10-20 16:16:16 +0200
committerSean Harmer <sean.harmer@kdab.com>2015-10-24 14:05:39 +0000
commit1f58bd56479dff5ccaad7446ae92a27e60ec0b73 (patch)
tree29e4add04b4d79af4630ee76f2039f1439a291dd /src
parentdbf2cb2e3f077ac8ca9d3300ed0fc146f8e65a00 (diff)
Sphere moved into Render namespace and made private
Change-Id: I940a8ea898a338f20bb9abbebcc1fcef9830a118 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/render/backend/entity.cpp2
-rw-r--r--src/render/backend/entity_p.h2
-rw-r--r--src/render/backend/renderview.cpp2
-rw-r--r--src/render/frontend/render-frontend.pri4
-rw-r--r--src/render/frontend/sphere.cpp14
-rw-r--r--src/render/frontend/sphere_p.h (renamed from src/render/frontend/sphere.h)18
-rw-r--r--src/render/jobs/calcboundingvolumejob.cpp2
-rw-r--r--src/render/jobs/framepreparationjob.cpp2
-rw-r--r--src/render/jobs/pickboundingvolumejob.cpp2
-rw-r--r--src/render/jobs/renderviewjobutils.cpp2
-rw-r--r--src/render/jobs/updateboundingvolumejob.cpp6
-rw-r--r--src/render/jobs/updateworldtransformjob.cpp2
-rw-r--r--src/render/services/qraycastingservice.cpp2
13 files changed, 34 insertions, 26 deletions
diff --git a/src/render/backend/entity.cpp b/src/render/backend/entity.cpp
index 71378bf20..7cbf7605f 100644
--- a/src/render/backend/entity.cpp
+++ b/src/render/backend/entity.cpp
@@ -42,7 +42,7 @@
#include <Qt3DRender/qmaterial.h>
#include <Qt3DRender/qmesh.h>
#include <Qt3DRender/private/renderlogging_p.h>
-#include <Qt3DRender/sphere.h>
+#include <Qt3DRender/private/sphere_p.h>
#include <Qt3DRender/qshaderdata.h>
#include <Qt3DRender/qgeometryrenderer.h>
#include <Qt3DRender/qobjectpicker.h>
diff --git a/src/render/backend/entity_p.h b/src/render/backend/entity_p.h
index c43c8a5c8..64e90db5c 100644
--- a/src/render/backend/entity_p.h
+++ b/src/render/backend/entity_p.h
@@ -69,10 +69,10 @@ class QComponent;
namespace Qt3DRender {
class QRenderAspect;
-class Sphere;
namespace Render {
+class Sphere;
class Renderer;
class Q_AUTOTEST_EXPORT Entity : public Qt3DCore::QBackendNode
diff --git a/src/render/backend/renderview.cpp b/src/render/backend/renderview.cpp
index f509f645c..d1ca14fc3 100644
--- a/src/render/backend/renderview.cpp
+++ b/src/render/backend/renderview.cpp
@@ -39,7 +39,7 @@
#include <Qt3DRender/qmaterial.h>
#include <Qt3DRender/qrenderaspect.h>
#include <Qt3DRender/qrendertarget.h>
-#include <Qt3DRender/sphere.h>
+#include <Qt3DRender/private/sphere_p.h>
#include <Qt3DRender/private/cameraselectornode_p.h>
#include <Qt3DRender/private/framegraphnode_p.h>
diff --git a/src/render/frontend/render-frontend.pri b/src/render/frontend/render-frontend.pri
index 6811bd819..1cca3dcac 100644
--- a/src/render/frontend/render-frontend.pri
+++ b/src/render/frontend/render-frontend.pri
@@ -4,7 +4,6 @@ HEADERS += \
$$PWD/qrenderaspect.h \
$$PWD/qrenderaspect_p.h \
$$PWD/qitemmodelbuffer.h \
- $$PWD/sphere.h \
$$PWD/qlayer.h \
$$PWD/qlayer_p.h \
$$PWD/qrenderattachment.h \
@@ -14,7 +13,8 @@ HEADERS += \
$$PWD/qwindow.h \
$$PWD/qwindow_p.h \
$$PWD/qobjectpicker.h \
- $$PWD/qpickevent.h
+ $$PWD/qpickevent.h \
+ $$PWD/sphere_p.h
SOURCES += \
$$PWD/qrenderaspect.cpp \
diff --git a/src/render/frontend/sphere.cpp b/src/render/frontend/sphere.cpp
index 59e4ca86a..262953993 100644
--- a/src/render/frontend/sphere.cpp
+++ b/src/render/frontend/sphere.cpp
@@ -34,7 +34,7 @@
**
****************************************************************************/
-#include "sphere.h"
+#include "sphere_p.h"
#include <Qt3DCore/qray3d.h>
@@ -50,7 +50,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::Sphere &s, QVector3D *q = Q_NULLPTR)
+bool intersectRaySphere(const Qt3DCore::QRay3D &ray, const Qt3DRender::Render::Sphere &s, QVector3D *q = Q_NULLPTR)
{
const QVector3D p = ray.origin();
const QVector3D d = ray.direction();
@@ -121,7 +121,7 @@ inline QPair<int, int> findExtremePoints(const QVector<QVector3D> &points)
return extremeIndices;
}
-inline void sphereFromExtremePoints(Qt3DRender::Sphere &s, const QVector<QVector3D> &points)
+inline void sphereFromExtremePoints(Qt3DRender::Render::Sphere &s, const QVector<QVector3D> &points)
{
// Find two most separated points on any of the basis vectors
QPair<int, int> extremeIndices = findExtremePoints(points);
@@ -134,7 +134,7 @@ inline void sphereFromExtremePoints(Qt3DRender::Sphere &s, const QVector<QVector
s.setRadius((q - c).length());
}
-inline void constructRitterSphere(Qt3DRender::Sphere &s, const QVector<QVector3D> &points)
+inline void constructRitterSphere(Qt3DRender::Render::Sphere &s, const QVector<QVector3D> &points)
{
// Calculate the sphere encompassing two axially extreme points
sphereFromExtremePoints(s, points);
@@ -147,6 +147,8 @@ inline void constructRitterSphere(Qt3DRender::Sphere &s, const QVector<QVector3D
namespace Qt3DRender {
+namespace Render {
+
const float Sphere::ms_epsilon = 1.0e-7f;
Sphere Sphere::fromPoints(const QVector<QVector3D> &points)
@@ -226,6 +228,8 @@ Qt3DCore::QBoundingVolume::Type Sphere::type() const
return QBoundingVolume::Sphere;
}
-}
+} // Render
+
+} // Qt3DRender
QT_END_NAMESPACE
diff --git a/src/render/frontend/sphere.h b/src/render/frontend/sphere_p.h
index 99aa252f7..84ba8baf6 100644
--- a/src/render/frontend/sphere.h
+++ b/src/render/frontend/sphere_p.h
@@ -34,10 +34,10 @@
**
****************************************************************************/
-#ifndef SPHERE_H
-#define SPHERE_H
+#ifndef QT3DRENDER_RENDER_SPHERE_H
+#define QT3DRENDER_RENDER_SPHERE_H
-#include <Qt3DRender/qt3drender_global.h>
+#include <Qt3DRender/private/qt3drender_global_p.h>
#include <Qt3DCore/qnodeid.h>
#include <Qt3DCore/qboundingsphere.h>
@@ -48,7 +48,9 @@ QT_BEGIN_NAMESPACE
namespace Qt3DRender {
-class QT3DRENDERSHARED_EXPORT Sphere : public Qt3DCore::QBoundingSphere
+namespace Render {
+
+class QT3DRENDERSHARED_PRIVATE_EXPORT Sphere : public Qt3DCore::QBoundingSphere
{
public:
inline Sphere(const Qt3DCore::QNodeId &i = Qt3DCore::QNodeId())
@@ -141,10 +143,12 @@ inline bool intersects(const Sphere &a, const Sphere &b)
return distSq <= sumRadii * sumRadii;
}
-}
+} // Render
+
+} // Qt3DRender
QT_END_NAMESPACE
-Q_DECLARE_METATYPE(Qt3DRender::Sphere)
+Q_DECLARE_METATYPE(Qt3DRender::Render::Sphere)
-#endif // SPHERE_H
+#endif // QT3DRENDER_RENDER_SPHERE_H
diff --git a/src/render/jobs/calcboundingvolumejob.cpp b/src/render/jobs/calcboundingvolumejob.cpp
index 32aa88ce6..7de9b3517 100644
--- a/src/render/jobs/calcboundingvolumejob.cpp
+++ b/src/render/jobs/calcboundingvolumejob.cpp
@@ -45,7 +45,7 @@
#include <Qt3DRender/private/buffermanager_p.h>
#include <Qt3DRender/private/attribute_p.h>
#include <Qt3DRender/private/buffer_p.h>
-#include <Qt3DRender/sphere.h>
+#include <Qt3DRender/private/sphere_p.h>
#include <Qt3DCore/qaxisalignedboundingbox.h>
#include <QtCore/qmath.h>
diff --git a/src/render/jobs/framepreparationjob.cpp b/src/render/jobs/framepreparationjob.cpp
index 57611799f..f01e7c1e9 100644
--- a/src/render/jobs/framepreparationjob.cpp
+++ b/src/render/jobs/framepreparationjob.cpp
@@ -38,7 +38,7 @@
#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/shaderdata_p.h>
-#include <Qt3DRender/sphere.h>
+#include <Qt3DRender/private/sphere_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/render/jobs/pickboundingvolumejob.cpp b/src/render/jobs/pickboundingvolumejob.cpp
index 34ad4a648..656c3f090 100644
--- a/src/render/jobs/pickboundingvolumejob.cpp
+++ b/src/render/jobs/pickboundingvolumejob.cpp
@@ -43,7 +43,7 @@
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/objectpicker_p.h>
#include <Qt3DRender/private/managers_p.h>
-#include <Qt3DRender/sphere.h>
+#include <Qt3DRender/private/sphere_p.h>
#include <Qt3DRender/qraycastingservice.h>
#include <Qt3DCore/qservicelocator.h>
#include <Qt3DCore/qray3d.h>
diff --git a/src/render/jobs/renderviewjobutils.cpp b/src/render/jobs/renderviewjobutils.cpp
index 7f1336581..8338161b1 100644
--- a/src/render/jobs/renderviewjobutils.cpp
+++ b/src/render/jobs/renderviewjobutils.cpp
@@ -38,7 +38,7 @@
#include "renderlogging_p.h"
#include <Qt3DRender/qopenglfilter.h>
-#include <Qt3DRender/sphere.h>
+#include <Qt3DRender/private/sphere_p.h>
#include <Qt3DRender/qshaderdata.h>
#include <Qt3DRender/private/cameraselectornode_p.h>
diff --git a/src/render/jobs/updateboundingvolumejob.cpp b/src/render/jobs/updateboundingvolumejob.cpp
index 55fa3f155..deaaab756 100644
--- a/src/render/jobs/updateboundingvolumejob.cpp
+++ b/src/render/jobs/updateboundingvolumejob.cpp
@@ -39,7 +39,7 @@
#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/entity_p.h>
#include <Qt3DRender/private/renderlogging_p.h>
-#include <sphere.h>
+#include <Qt3DRender/private/sphere_p.h>
#include <QElapsedTimer>
#include <QStack>
@@ -69,14 +69,14 @@ void expandWorldBoundingVolume(Qt3DRender::Render::Entity *node)
// Initialize parent bounding volume to be equal to that of the first child
Qt3DRender::Render::Entity *parentNode = currentNode->parent();
- Qt3DRender::Sphere *parentBoundingVolume = parentNode->worldBoundingVolumeWithChildren();
+ Qt3DRender::Render::Sphere *parentBoundingVolume = parentNode->worldBoundingVolumeWithChildren();
*(parentBoundingVolume) = *(currentNode->worldBoundingVolumeWithChildren());
// Expand the parent bounding volume by each of remaining the siblings
QVector<Entity *> siblings = parentNode->children();
const int siblingCount = siblings.count();
for (int i = 1; i < siblingCount; ++i) {
- Qt3DRender::Sphere *siblingBoundingVolume = siblings.at(i)->worldBoundingVolumeWithChildren();
+ Qt3DRender::Render::Sphere *siblingBoundingVolume = siblings.at(i)->worldBoundingVolumeWithChildren();
parentBoundingVolume->expandToContain(*siblingBoundingVolume);
}
diff --git a/src/render/jobs/updateworldtransformjob.cpp b/src/render/jobs/updateworldtransformjob.cpp
index ae4d36323..dc8552a75 100644
--- a/src/render/jobs/updateworldtransformjob.cpp
+++ b/src/render/jobs/updateworldtransformjob.cpp
@@ -38,7 +38,7 @@
#include <Qt3DRender/private/renderer_p.h>
#include <Qt3DRender/private/entity_p.h>
-#include <sphere.h>
+#include <Qt3DRender/private/sphere_p.h>
#include <Qt3DRender/private/transform_p.h>
#include <Qt3DRender/private/renderlogging_p.h>
#include <QThread>
diff --git a/src/render/services/qraycastingservice.cpp b/src/render/services/qraycastingservice.cpp
index 3045a065b..93dbc4e2e 100644
--- a/src/render/services/qraycastingservice.cpp
+++ b/src/render/services/qraycastingservice.cpp
@@ -38,7 +38,7 @@
#include "qraycastingservice_p.h"
#include <Qt3DCore/qray3d.h>
-#include <Qt3DRender/sphere.h>
+#include <Qt3DRender/private/sphere_p.h>
#include <Qt3DCore/qboundingvolumeprovider.h>
#include <QMap>