19#ifndef QGSORIENTEDBOX3D_H
20#define QGSORIENTEDBOX3D_H
32using namespace Qt::StringLiterals;
95 return !( *
this == other );
181 SIP_PYOBJECT __repr__();
183 QString str = u
"<QgsOrientedBox3D([%1, %2, %3], [%4, %5, %6, %7, %8, %9, %10, %11, %12])>"_s
184 .arg( sipCpp->centerX() )
185 .arg( sipCpp->centerY() )
186 .arg( sipCpp->centerZ() )
187 .arg( sipCpp->halfAxes()[0] )
188 .arg( sipCpp->halfAxes()[1] )
189 .arg( sipCpp->halfAxes()[2] )
190 .arg( sipCpp->halfAxes()[3] )
191 .arg( sipCpp->halfAxes()[4] )
192 .arg( sipCpp->halfAxes()[5] )
193 .arg( sipCpp->halfAxes()[6] )
194 .arg( sipCpp->halfAxes()[7] )
195 .arg( sipCpp->halfAxes()[8] );
196 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
202 double mCenter[ 3 ] { std::numeric_limits< double >::quiet_NaN(), std::numeric_limits< double >::quiet_NaN(), std::numeric_limits< double >::quiet_NaN() };
203 double mHalfAxes[9] { 1, 0, 0, 0, 1, 0, 0, 0, 1 };
A 3-dimensional box composed of x, y, z coordinates.
Custom exception class for Coordinate Reference System related exceptions.
A simple 4x4 matrix implementation useful for transformation in 3D space.
Represents a oriented (rotated) box in 3 dimensions.
const double * halfAxes() const
Returns the half axes matrix;.
friend class QgsCesiumUtils
double centerZ() const
Returns the center z-coordinate.
QgsOrientedBox3D()
Constructor for a null oriented box.
bool operator==(const QgsOrientedBox3D &other) const
bool operator!=(const QgsOrientedBox3D &other) const
static QgsOrientedBox3D fromBox3D(const QgsBox3D &box)
Constructs an oriented box from an axis-aligned bounding box.
double centerX() const
Returns the center x-coordinate.
double centerY() const
Returns the center y-coordinate.
QgsVector3D center() const
Returns the vector to the center of the box.
A 3D vector (similar to QVector3D) with the difference that it uses double precision instead of singl...
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
#define SIP_THROW(name,...)