19#ifndef QGSORIENTEDBOX3D_H
20#define QGSORIENTEDBOX3D_H
55 QgsOrientedBox3D(
const QList<double> ¢er,
const QList< double > &halfAxes );
85 return !( *
this == other );
165 SIP_PYOBJECT __repr__();
167 QString
str = QStringLiteral(
"<QgsOrientedBox3D([%1, %2, %3], [%4, %5, %6, %7, %8, %9, %10, %11, %12])>" )
168 .arg( sipCpp->centerX() )
169 .arg( sipCpp->centerY() )
170 .arg( sipCpp->centerZ() )
171 .arg( sipCpp->halfAxes()[0] )
172 .arg( sipCpp->halfAxes()[1] )
173 .arg( sipCpp->halfAxes()[2] )
174 .arg( sipCpp->halfAxes()[3] )
175 .arg( sipCpp->halfAxes()[4] )
176 .arg( sipCpp->halfAxes()[5] )
177 .arg( sipCpp->halfAxes()[6] )
178 .arg( sipCpp->halfAxes()[7] )
179 .arg( sipCpp->halfAxes()[8] );
180 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
186 double mCenter[ 3 ] { std::numeric_limits< double >::quiet_NaN(), std::numeric_limits< double >::quiet_NaN(), std::numeric_limits< double >::quiet_NaN() };
187 double mHalfAxes[9] { 1, 0, 0, 0, 1, 0, 0, 0, 1 };
A 3-dimensional box composed of x, y, z coordinates.
Contains utilities for working with Cesium data.
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;.
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
double centerY() const
Returns the center y-coordinate.
QgsVector3D center() const
Returns the vector to the center of the box.
Class for storage of 3D vectors similar to QVector3D, with the difference that it uses double precisi...
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,...)