summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/q3dbox.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization/engine/q3dbox.h')
-rw-r--r--src/datavisualization/engine/q3dbox.h158
1 files changed, 0 insertions, 158 deletions
diff --git a/src/datavisualization/engine/q3dbox.h b/src/datavisualization/engine/q3dbox.h
deleted file mode 100644
index 6dbaefa1..00000000
--- a/src/datavisualization/engine/q3dbox.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the QtDataVisualization module.
-**
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-**
-****************************************************************************/
-
-#ifndef Q3DBOX_H
-#define Q3DBOX_H
-
-#include <QtDataVisualization/qdatavisualizationglobal.h>
-#include <QtGui/QMatrix4x4>
-#include <QtGui/QVector3D>
-
-QT_BEGIN_NAMESPACE_DATAVISUALIZATION
-
-class Q3DBox; // Needed to circumvent an issue with qdoc. If this line is removed, make docs will not work for this.
-
-class QT_DATAVISUALIZATION_EXPORT Q3DBox
-{
-public:
- 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()));
- }
-
- inline void setToNull()
- {
- boxtype = Null;
- mincorner = QVector3D(0, 0, 0);
- maxcorner = QVector3D(0, 0, 0);
- }
-
- inline void setToInfinite()
- {
- boxtype = Infinite;
- mincorner = QVector3D(0, 0, 0);
- maxcorner = QVector3D(0, 0, 0);
- }
-
- inline QVector3D size() const { return maxcorner - mincorner; }
- inline QVector3D center() const { return (mincorner + maxcorner) * 0.5f; }
-
- 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;
- }
- }
-
- 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);
- Q3DBox intersected(const Q3DBox& box) const;
-
- void unite(const QVector3D& point);
- void unite(const Q3DBox& box);
-
- Q3DBox united(const QVector3D& point) const;
- Q3DBox united(const Q3DBox& box) const;
-
- void transform(const QMatrix4x4& matrix);
- Q3DBox transformed(const QMatrix4x4& matrix) 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);
-
-private:
- enum Type
- {
- Null,
- Finite,
- Infinite
- };
-
- Q3DBox::Type boxtype;
- QVector3D mincorner, maxcorner;
-};
-
-inline bool qFuzzyCompare(const Q3DBox& box1, const Q3DBox& box2)
-{
- return box1.boxtype == box2.boxtype &&
- qFuzzyCompare(box1.mincorner, box2.mincorner) &&
- qFuzzyCompare(box1.maxcorner, box2.maxcorner);
-}
-
-#ifndef QT_NO_DEBUG_STREAM
-QT_DATAVISUALIZATION_EXPORT QDebug operator<<(QDebug dbg, const Q3DBox &box);
-#endif
-
-#ifndef QT_NO_DATASTREAM
-QT_DATAVISUALIZATION_EXPORT QDataStream &operator<<(QDataStream &stream, const Q3DBox &box);
-QT_DATAVISUALIZATION_EXPORT QDataStream &operator>>(QDataStream &stream, Q3DBox &box);
-#endif
-
-QT_END_NAMESPACE_DATAVISUALIZATION
-
-#endif