diff options
Diffstat (limited to 'src/datavisualization/engine')
22 files changed, 207 insertions, 112 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 82d60865..9ec6f087 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -35,6 +35,16 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Abstract3DController + * \internal + */ + +/*! + * \class QtDataVisualization::Abstract3DChangeBitField + * \internal + */ + Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scene, QObject *parent) : QObject(parent), m_themeManager(new ThemeManager(this)), diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 9c7cfb39..9b4ae6ab 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -29,6 +29,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Abstract3DRenderer + * \internal + */ + Abstract3DRenderer::Abstract3DRenderer(Abstract3DController *controller) : QObject(0), m_hasNegativeValues(false), diff --git a/src/datavisualization/engine/axisrendercache.cpp b/src/datavisualization/engine/axisrendercache.cpp index 9fcd8b5d..5598563a 100644 --- a/src/datavisualization/engine/axisrendercache.cpp +++ b/src/datavisualization/engine/axisrendercache.cpp @@ -22,6 +22,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::AxisRenderCache + * \internal + */ + AxisRenderCache::AxisRenderCache() : m_type(QAbstract3DAxis::AxisTypeNone), m_min(0.0f), diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index 986b9a0e..b152909d 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -32,6 +32,16 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Bars3DController + * \internal + */ + +/*! + * \class QtDataVisualization::Bars3DChangeBitField + * \internal + */ + Bars3DController::Bars3DController(QRect boundRect, Q3DScene *scene) : Abstract3DController(boundRect, scene), m_selectedBar(invalidSelectionPosition()), diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 02b26821..97e21fc6 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -40,6 +40,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Bars3DRenderer + * \internal + */ + const GLfloat labelMargin = 0.05f; const GLfloat gridLineWidth = 0.005f; diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index ec36befd..a2905e32 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -40,6 +40,11 @@ StaticLibInitializer staticLibInitializer; namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Drawer + * \internal + */ + // Vertex array buffer for point const GLfloat point_data[] = {0.0f, 0.0f, 0.0f}; diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index 3b8d837d..9a6ff6d5 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -27,7 +27,7 @@ namespace QtDataVisualization { /*! - * \class Q3DBars + * \class QtDataVisualization::Q3DBars * \inmodule QtDataVisualization * \brief The Q3DBars class provides methods for rendering 3D bar graphs. * \since Qt Data Visualization 1.0 @@ -351,6 +351,10 @@ const Q3DBarsPrivate *Q3DBars::dptrc() const return static_cast<const Q3DBarsPrivate *>(d_ptr.data()); } +/*! + * \class QtDataVisualization::Q3DBarsPrivate + * \internal + */ Q3DBarsPrivate::Q3DBarsPrivate(Q3DBars *q) : QAbstract3DGraphPrivate(q) { diff --git a/src/datavisualization/engine/q3dbox.cpp b/src/datavisualization/engine/q3dbox.cpp index ce5f76b1..bbfa4ddc 100644 --- a/src/datavisualization/engine/q3dbox.cpp +++ b/src/datavisualization/engine/q3dbox.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - \class Q3DBox + \class QtDataVisualization::Q3DBox \inmodule QtDataVisualization \brief The Q3DBox class represents an axis-aligned box in 3D space. \since Qt Data Visualization 1.0 @@ -404,13 +404,17 @@ Q3DBox Q3DBox::transformed(const QMatrix4x4& matrix) const /*! \fn bool qFuzzyCompare(const Q3DBox& box1, const Q3DBox& box2) - \relates Q3DBox + \relates QtDataVisualization::Q3DBox Returns true if \a box1 and \a box2 are almost equal; false otherwise. */ #ifndef QT_NO_DEBUG_STREAM +/*! + \fn operator<<(QDebug dbg, const Q3DBox &box) + \internal + */ QDebug operator<<(QDebug dbg, const Q3DBox &box) { if (box.isFinite()) { diff --git a/src/datavisualization/engine/q3dbox.h b/src/datavisualization/engine/q3dbox.h index e89f1cca..fcf46bdf 100644 --- a/src/datavisualization/engine/q3dbox.h +++ b/src/datavisualization/engine/q3dbox.h @@ -29,25 +29,71 @@ class Q3DBox; // Needed to circumvent an issue with qdoc. If this line is remove class QT_DATAVISUALIZATION_EXPORT Q3DBox { public: - Q3DBox(); - Q3DBox(const QVector3D& corner1, const QVector3D& corner2); + inline Q3DBox() : boxtype(Null), mincorner(0, 0, 0), maxcorner(0, 0, 0) {} + inline Q3DBox(const QVector3D& corner1, const QVector3D& corner2): boxtype(Finite), + mincorner(qMin(corner1.x(), corner2.x()), + qMin(corner1.y(), corner2.y()), + qMin(corner1.z(), corner2.z())), + maxcorner(qMax(corner1.x(), corner2.x()), + qMax(corner1.y(), corner2.y()), + qMax(corner1.z(), corner2.z())) {} + + inline bool isNull() const { return (boxtype == Null); } + inline bool isFinite() const { return (boxtype == Finite); } + inline bool isInfinite() const { return (boxtype == Infinite); } + + inline QVector3D minimum() const { return mincorner; } + inline QVector3D maximum() const { return maxcorner; } + inline void setExtents(const QVector3D& corner1, const QVector3D& corner2) + { + boxtype = Finite; + mincorner = QVector3D(qMin(corner1.x(), corner2.x()), + qMin(corner1.y(), corner2.y()), + qMin(corner1.z(), corner2.z())); + maxcorner = QVector3D(qMax(corner1.x(), corner2.x()), + qMax(corner1.y(), corner2.y()), + qMax(corner1.z(), corner2.z())); + } - bool isNull() const; - bool isFinite() const; - bool isInfinite() const; + inline void setToNull() + { + boxtype = Null; + mincorner = QVector3D(0, 0, 0); + maxcorner = QVector3D(0, 0, 0); + } - QVector3D minimum() const; - QVector3D maximum() const; - void setExtents(const QVector3D& corner1, const QVector3D& corner2); + inline void setToInfinite() + { + boxtype = Infinite; + mincorner = QVector3D(0, 0, 0); + maxcorner = QVector3D(0, 0, 0); + } - void setToNull(); - void setToInfinite(); + inline QVector3D size() const { return maxcorner - mincorner; } + inline QVector3D center() const { return (mincorner + maxcorner) * 0.5f; } - QVector3D size() const; - QVector3D center() const; + inline bool contains(const QVector3D& point) const + { + if (boxtype == Finite) { + return (point.x() >= mincorner.x() && point.x() <= maxcorner.x() && + point.y() >= mincorner.y() && point.y() <= maxcorner.y() && + point.z() >= mincorner.z() && point.z() <= maxcorner.z()); + } else if (boxtype == Infinite) { + return true; + } else { + return false; + } + } - bool contains(const QVector3D& point) const; - bool contains(const Q3DBox& box) const; + inline bool contains(const Q3DBox& box) const + { + if (box.boxtype == Finite) + return contains(box.mincorner) && contains(box.maxcorner); + else if (box.boxtype == Infinite) + return (boxtype == Infinite); + else + return false; + } bool intersects(const Q3DBox& box) const; void intersect(const Q3DBox& box); @@ -62,8 +108,19 @@ public: void transform(const QMatrix4x4& matrix); Q3DBox transformed(const QMatrix4x4& matrix) const; - bool operator==(const Q3DBox& box) const; - bool operator!=(const Q3DBox& box) const; + inline bool operator==(const Q3DBox& box) const + { + return (boxtype == box.boxtype && + mincorner == box.mincorner && + maxcorner == box.maxcorner); + } + + inline bool operator!=(const Q3DBox& box) const + { + return (boxtype != box.boxtype || + mincorner != box.mincorner || + maxcorner != box.maxcorner); + } friend bool qFuzzyCompare(const Q3DBox& box1, const Q3DBox& box2); @@ -79,89 +136,6 @@ private: QVector3D mincorner, maxcorner; }; -inline Q3DBox::Q3DBox() : boxtype(Null), mincorner(0, 0, 0), maxcorner(0, 0, 0) {} - -inline Q3DBox::Q3DBox(const QVector3D& corner1, const QVector3D& corner2) - : boxtype(Finite), - mincorner(qMin(corner1.x(), corner2.x()), - qMin(corner1.y(), corner2.y()), - qMin(corner1.z(), corner2.z())), - maxcorner(qMax(corner1.x(), corner2.x()), - qMax(corner1.y(), corner2.y()), - qMax(corner1.z(), corner2.z())) {} - -inline bool Q3DBox::isNull() const { return (boxtype == Null); } -inline bool Q3DBox::isFinite() const { return (boxtype == Finite); } -inline bool Q3DBox::isInfinite() const { return (boxtype == Infinite); } - -inline QVector3D Q3DBox::minimum() const { return mincorner; } -inline QVector3D Q3DBox::maximum() const { return maxcorner; } - -inline void Q3DBox::setExtents(const QVector3D& corner1, const QVector3D& corner2) -{ - boxtype = Finite; - mincorner = QVector3D(qMin(corner1.x(), corner2.x()), - qMin(corner1.y(), corner2.y()), - qMin(corner1.z(), corner2.z())); - maxcorner = QVector3D(qMax(corner1.x(), corner2.x()), - qMax(corner1.y(), corner2.y()), - qMax(corner1.z(), corner2.z())); -} - -inline void Q3DBox::setToNull() -{ - boxtype = Null; - mincorner = QVector3D(0, 0, 0); - maxcorner = QVector3D(0, 0, 0); -} - -inline void Q3DBox::setToInfinite() -{ - boxtype = Infinite; - mincorner = QVector3D(0, 0, 0); - maxcorner = QVector3D(0, 0, 0); -} - -inline QVector3D Q3DBox::size() const { return maxcorner - mincorner; } -inline QVector3D Q3DBox::center() const { return (mincorner + maxcorner) * 0.5f; } - -inline bool Q3DBox::contains(const QVector3D& point) const -{ - if (boxtype == Finite) { - return (point.x() >= mincorner.x() && point.x() <= maxcorner.x() && - point.y() >= mincorner.y() && point.y() <= maxcorner.y() && - point.z() >= mincorner.z() && point.z() <= maxcorner.z()); - } else if (boxtype == Infinite) { - return true; - } else { - return false; - } -} - -inline bool Q3DBox::contains(const Q3DBox& box) const -{ - if (box.boxtype == Finite) - return contains(box.mincorner) && contains(box.maxcorner); - else if (box.boxtype == Infinite) - return (boxtype == Infinite); - else - return false; -} - -inline bool Q3DBox::operator==(const Q3DBox& box) const -{ - return (boxtype == box.boxtype && - mincorner == box.mincorner && - maxcorner == box.maxcorner); -} - -inline bool Q3DBox::operator!=(const Q3DBox& box) const -{ - return (boxtype != box.boxtype || - mincorner != box.mincorner || - maxcorner != box.maxcorner); -} - inline bool qFuzzyCompare(const Q3DBox& box1, const Q3DBox& box2) { return box1.boxtype == box2.boxtype && diff --git a/src/datavisualization/engine/q3dcamera.cpp b/src/datavisualization/engine/q3dcamera.cpp index c9460c44..a045d7bb 100644 --- a/src/datavisualization/engine/q3dcamera.cpp +++ b/src/datavisualization/engine/q3dcamera.cpp @@ -29,7 +29,7 @@ namespace QtDataVisualization { /*! - * \class Q3DCamera + * \class QtDataVisualization::Q3DCamera * \inmodule QtDataVisualization * \brief Representation of a camera in 3D space. * \since Qt Data Visualization 1.0 @@ -81,7 +81,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates Q3DCamera + * \instantiates QtDataVisualization::Q3DCamera * \brief Representation of a camera in 3D space. * * Camera3D represents a basic orbit around centerpoint 3D camera that is used when rendering the @@ -760,6 +760,10 @@ void Q3DCamera::setCameraPosition(float horizontal, float vertical, float zoom) setYRotation(vertical); } +/*! + * \class QtDataVisualization::Q3DCameraPrivate + * \internal + */ Q3DCameraPrivate::Q3DCameraPrivate(Q3DCamera *q) : q_ptr(q), m_isViewMatrixUpdateActive(true), diff --git a/src/datavisualization/engine/q3dlight.cpp b/src/datavisualization/engine/q3dlight.cpp index 73ddc0fe..6b5c456f 100644 --- a/src/datavisualization/engine/q3dlight.cpp +++ b/src/datavisualization/engine/q3dlight.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - * \class Q3DLight + * \class QtDataVisualization::Q3DLight * \inmodule QtDataVisualization * \brief Representation of a light source in 3D space. * \since Qt Data Visualization 1.0 @@ -36,7 +36,7 @@ namespace QtDataVisualization { * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates Q3DLight + * \instantiates QtDataVisualization::Q3DLight * \brief Representation of a light source in 3D space. * * Light3D represents a monochrome non variable light source in 3D space. @@ -59,6 +59,10 @@ Q3DLight::~Q3DLight() { } +/*! + * \class QtDataVisualization::Q3DLightPrivate + * \internal + */ Q3DLightPrivate::Q3DLightPrivate(Q3DLight *q) : q_ptr(q) { diff --git a/src/datavisualization/engine/q3dobject.cpp b/src/datavisualization/engine/q3dobject.cpp index 1ef78add..946a41cc 100644 --- a/src/datavisualization/engine/q3dobject.cpp +++ b/src/datavisualization/engine/q3dobject.cpp @@ -23,7 +23,7 @@ namespace QtDataVisualization { /*! - \class Q3DObject + \class QtDataVisualization::Q3DObject \inmodule QtDataVisualization \brief Simple baseclass for all the objects in the 3D scene. \since Qt Data Visualization 1.0 @@ -109,6 +109,10 @@ bool Q3DObject::isDirty() const return d_ptr->m_isDirty; } +/*! + * \class QtDataVisualization::Q3DObjectPrivate + * \internal + */ Q3DObjectPrivate::Q3DObjectPrivate(Q3DObject *q) : q_ptr(q), m_isDirty(true) diff --git a/src/datavisualization/engine/q3dscatter.cpp b/src/datavisualization/engine/q3dscatter.cpp index d6805232..99e6c096 100644 --- a/src/datavisualization/engine/q3dscatter.cpp +++ b/src/datavisualization/engine/q3dscatter.cpp @@ -26,7 +26,7 @@ namespace QtDataVisualization { /*! - * \class Q3DScatter + * \class QtDataVisualization::Q3DScatter * \inmodule QtDataVisualization * \brief The Q3DScatter class provides methods for rendering 3D scatter graphs. * \since Qt Data Visualization 1.0 @@ -241,6 +241,10 @@ QList<QValue3DAxis *> Q3DScatter::axes() const return retList; } +/*! + * \class QtDataVisualization::Q3DScatterPrivate + * \internal + */ Q3DScatterPrivate::Q3DScatterPrivate(Q3DScatter *q) : QAbstract3DGraphPrivate(q) { diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index cb70876b..4712cf18 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -28,7 +28,7 @@ namespace QtDataVisualization { /*! - * \class Q3DScene + * \class QtDataVisualization::Q3DScene * \inmodule QtDataVisualization * \brief Q3DScene class provides description of the 3D scene being visualized. * \since Qt Data Visualization 1.0 @@ -47,11 +47,16 @@ namespace QtDataVisualization { */ /*! + * \class QtDataVisualization::Q3DSceneChangeBitField + * \internal + */ + +/*! * \qmltype Scene3D * \inqmlmodule QtDataVisualization * \since QtDataVisualization 1.0 * \ingroup datavisualization_qml - * \instantiates Q3DScene + * \instantiates QtDataVisualization::Q3DScene * \brief Scene3D type provides description of the 3D scene being visualized. * * The 3D scene contains a single active camera and a single active light source. @@ -456,6 +461,10 @@ void Q3DScene::setLightPositionRelativeToCamera(const QVector3D &relativePositio distanceModifier)); } +/*! + * \class QtDataVisualization::Q3DScenePrivate + * \internal + */ Q3DScenePrivate::Q3DScenePrivate(Q3DScene *q) : QObject(0), q_ptr(q), diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index 84e2c455..dd5cfab6 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -26,7 +26,7 @@ namespace QtDataVisualization { /*! - * \class Q3DSurface + * \class QtDataVisualization::Q3DSurface * \inmodule QtDataVisualization * \brief The Q3DSurface class provides methods for rendering 3D surface plots. * \since Qt Data Visualization 1.0 @@ -264,6 +264,10 @@ QList<QValue3DAxis *> Q3DSurface::axes() const /////////////////// PRIVATE /////////////////////////////////// +/*! + * \class QtDataVisualization::Q3DSurfacePrivate + * \internal + */ Q3DSurfacePrivate::Q3DSurfacePrivate(Q3DSurface *q) : QAbstract3DGraphPrivate(q) { diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp index 2d62a4ee..ef6e1de5 100644 --- a/src/datavisualization/engine/qabstract3dgraph.cpp +++ b/src/datavisualization/engine/qabstract3dgraph.cpp @@ -32,7 +32,7 @@ namespace QtDataVisualization { /*! - * \class QAbstract3DGraph + * \class QtDataVisualization::QAbstract3DGraph * \inmodule QtDataVisualization * \brief The QAbstract3DGraph class provides a window and render loop for graphs. * \since Qt Data Visualization 1.0 @@ -421,6 +421,10 @@ void QAbstract3DGraph::wheelEvent(QWheelEvent *event) d_ptr->m_visualController->wheelEvent(event); } +/*! + * \class QtDataVisualization::QAbstract3DGraphPrivate + * \internal + */ QAbstract3DGraphPrivate::QAbstract3DGraphPrivate(QAbstract3DGraph *q) : QObject(0), q_ptr(q), diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index e6e47cb5..b2964c9c 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -29,6 +29,16 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Scatter3DController + * \internal + */ + +/*! + * \class QtDataVisualization::Scatter3DChangeBitField + * \internal + */ + Scatter3DController::Scatter3DController(QRect boundRect, Q3DScene *scene) : Abstract3DController(boundRect, scene), m_renderer(0), diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 606f1379..d2c3eee5 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -43,6 +43,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Scatter3DRenderer + * \internal + */ + //#define USE_UNIFORM_SCALING // Scale x and z uniformly, or based on autoscaled values const GLfloat aspectRatio = 2.0f; // Forced ratio of x and z to y. Dynamic will make it look odd. diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp index 0ce9ce22..fc2081b1 100644 --- a/src/datavisualization/engine/selectionpointer.cpp +++ b/src/datavisualization/engine/selectionpointer.cpp @@ -34,6 +34,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::SelectionPointer + * \internal + */ + const GLfloat sliceUnits = 2.5; SelectionPointer::SelectionPointer(Drawer *drawer) diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index 5ea9a117..98f1d19e 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -24,6 +24,11 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::SeriesRenderCache + * \internal + */ + const QString smoothString(QStringLiteral("Smooth")); SeriesRenderCache::SeriesRenderCache() diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 53535b9d..7ed69466 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -32,6 +32,16 @@ namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Surface3DController + * \internal + */ + +/*! + * \class QtDataVisualization::Surface3DChangeBitField + * \internal + */ + Surface3DController::Surface3DController(QRect rect, Q3DScene *scene) : Abstract3DController(rect, scene), m_renderer(0), diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 5f54ed79..da7656f3 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -40,6 +40,11 @@ static const int ID_TO_RGBA_MASK = 0xff; namespace QtDataVisualization { +/*! + * \class QtDataVisualization::Surface3DRenderer + * \internal + */ + //#define SHOW_DEPTH_TEXTURE_SCENE // TODO Uniform scaling is broken on surface |