20#include <QtQuick3DUtils/private/qtquick3dutilsglobal_p.h>
173 bool isFinite()
const;
196 : minimum(
QVector3D(
std::numeric_limits<float>::max(),
std::numeric_limits<float>::max(),
std::numeric_limits<float>::max()))
197 , maximum(-
std::numeric_limits<float>::max(), -
std::numeric_limits<float>::max(), -
std::numeric_limits<float>::max())
205 : minimum(_minimum), maximum(_maximum)
216 constexpr float maxFloat = std::numeric_limits<float>::max();
223 constexpr float maxFloat = std::numeric_limits<float>::max();
245 return maximum[int(axis)] >=
a.minimum[axis] &&
a.maximum[axis] >=
minimum[axis];
335 return {
QVector3D(0, 0, 0),
QVector3D(0, 0, 0),
QVector3D(0, 0, 0),
QVector3D(0, 0, 0),
336 QVector3D(0, 0, 0),
QVector3D(0, 0, 0),
QVector3D(0, 0, 0),
QVector3D(0, 0, 0) };
The QMatrix4x4 class represents a 4x4 transformation matrix in 3D space.
Class representing 3D range or axis aligned bounding box.
Q_ALWAYS_INLINE bool contains(const QVector3D &v) const
indicates if these bounds contain v.
Q_ALWAYS_INLINE QVector3D dimensions() const
returns the dimensions (width/height/depth) of this axis aligned box.
Q_ALWAYS_INLINE QSSGBoxPoints toQSSGBoxPoints() const
static Q_ALWAYS_INLINE QSSGBounds3 centerExtents(const QVector3D ¢er, const QVector3D &extent)
returns the AABB from center and extents vectors.
Q_DECL_CONSTEXPR Q_ALWAYS_INLINE QSSGBounds3()
Default constructor, using empty bounds.
Q_ALWAYS_INLINE QVector3D extents() const
returns the extents, which are half of the width/height/depth.
Q_ALWAYS_INLINE QVector3D center() const
returns the center of this axis aligned box.
Q_ALWAYS_INLINE void setEmpty()
Sets empty to true.
Q_ALWAYS_INLINE QSSGBoxPoints toQSSGBoxPointsNoEmptyCheck() const
Q_ALWAYS_INLINE bool intersects1D(const QSSGBounds3 &a, quint32 axis) const
computes the 1D-intersection between two AABBs, on a given axis.
Q_ALWAYS_INLINE bool intersects(const QSSGBounds3 &b) const
indicates whether the intersection of this and b is empty or not.
Q_ALWAYS_INLINE void fatten(double distance)
Q_ALWAYS_INLINE void setInfinite()
Sets infinite bounds.
Q_ALWAYS_INLINE bool isEmpty() const
Q_ALWAYS_INLINE bool isInside(const QSSGBounds3 &box) const
checks a box is inside another box.
Q_ALWAYS_INLINE void scale(float scale)
scales the AABB.
The QVector3D class represents a vector or vertex in 3D space.
constexpr float y() const noexcept
Returns the y coordinate of this point.
constexpr float x() const noexcept
Returns the x coordinate of this point.
constexpr float z() const noexcept
Returns the z coordinate of this point.
Combined button and popup list for selecting options.
static bool contains(const QJsonArray &haystack, unsigned needle)
GLboolean GLboolean GLboolean b
GLsizei const GLfloat * v
[13]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLsizei GLsizei GLfloat distance
GLsizei const GLint * box
GLuint GLenum GLenum transform
GLenum GLenum GLenum GLenum GLenum scale
std::array< QVector3D, 8 > QSSGBoxPoints