89 static double calculateEntityGpuMemorySize( Qt3DCore::QEntity *entity );
109 static bool exportAnimation(
const Qgs3DAnimationSettings &animationSettings,
Qgs3DMapSettings &mapSettings,
int framesPerSecond,
const QString &outputDirectory,
const QString &fileNameTemplate,
const QSize &outputSize, QString &error,
QgsFeedback *feedback =
nullptr );
115 static int maxZoomLevel(
double tile0width,
double tileResolution,
double maxError );
140 static QString matrix4x4toString(
const QMatrix4x4 &m );
142 static QMatrix4x4 stringToMatrix4x4(
const QString &str );
151 static bool isCullable(
const QgsAABB &bbox,
const QMatrix4x4 &viewProjectionMatrix );
198 static void estimateVectorLayerZRange(
QgsVectorLayer *layer,
double &zMin,
double &zMax );
207 static QgsRay3D rayFromScreenPoint(
const QPoint &point,
const QSize &windowSize, Qt3DRender::QCamera *camera );
213 static QVector3D screenPointToWorldPos(
const QPoint &screenPoint,
double depth,
const QSize &screenSize, Qt3DRender::QCamera *camera );
219 static void pitchAndYawFromViewVector( QVector3D vect,
double &pitch,
double &yaw );
227 static QVector2D screenToTextureCoordinates( QVector2D screenXY, QSize winSize );
235 static QVector2D textureToScreenCoordinates( QVector2D textureXY, QSize winSize );
245 return ( ( qRed( pixel ) / 255.0 + qGreen( pixel ) ) / 255.0 + qBlue( pixel ) ) / 255.0;
253 static std::unique_ptr<QgsPointCloudLayer3DRenderer> convert2DPointCloudRendererTo3D(
QgsPointCloudRenderer *renderer );
288 static float screenSpaceError(
float epsilon,
float distance,
int screenSize,
float fov );
302 static void computeBoundingBoxNearFarPlanes(
const QgsAABB &bbox,
const QMatrix4x4 &viewMatrix,
float &fnear,
float &ffar );
321 static QByteArray addDefinesToShaderCode(
const QByteArray &shaderCode,
const QStringList &defines );
331 static QByteArray removeDefinesFromShaderCode(
const QByteArray &shaderCode,
const QStringList &defines );
340 static void decomposeTransformMatrix(
const QMatrix4x4 &matrix, QVector3D &translation, QQuaternion &rotation, QVector3D &scale );
348 static int openGlMaxClipPlanes( QSurface *surface );
356 static QQuaternion rotationFromPitchHeadingAngles(
float pitchAngle,
float headingAngle );
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Helper struct to store ray casting parameters.