83 static double calculateEntityGpuMemorySize( Qt3DCore::QEntity *entity );
103 static bool exportAnimation(
const Qgs3DAnimationSettings &animationSettings,
Qgs3DMapSettings &mapSettings,
int framesPerSecond,
const QString &outputDirectory,
const QString &fileNameTemplate,
const QSize &outputSize, QString &error,
QgsFeedback *feedback =
nullptr );
109 static int maxZoomLevel(
double tile0width,
double tileResolution,
double maxError );
134 static QString matrix4x4toString(
const QMatrix4x4 &m );
136 static QMatrix4x4 stringToMatrix4x4(
const QString &str );
145 static bool isCullable(
const QgsAABB &bbox,
const QMatrix4x4 &viewProjectionMatrix );
192 static void estimateVectorLayerZRange(
QgsVectorLayer *layer,
double &zMin,
double &zMax );
201 static QgsRay3D rayFromScreenPoint(
const QPoint &point,
const QSize &windowSize, Qt3DRender::QCamera *camera );
207 static QVector3D screenPointToWorldPos(
const QPoint &screenPoint,
double depth,
const QSize &screenSize, Qt3DRender::QCamera *camera );
213 static void pitchAndYawFromViewVector( QVector3D vect,
double &pitch,
double &yaw );
221 static QVector2D screenToTextureCoordinates( QVector2D screenXY, QSize winSize );
229 static QVector2D textureToScreenCoordinates( QVector2D textureXY, QSize winSize );
239 return ( ( qRed( pixel ) / 255.0 + qGreen( pixel ) ) / 255.0 + qBlue( pixel ) ) / 255.0;
247 static std::unique_ptr<QgsPointCloudLayer3DRenderer> convert2DPointCloudRendererTo3D(
QgsPointCloudRenderer *renderer );
282 static float screenSpaceError(
float epsilon,
float distance,
int screenSize,
float fov );
296 static void computeBoundingBoxNearFarPlanes(
const QgsAABB &bbox,
const QMatrix4x4 &viewMatrix,
float &fnear,
float &ffar );
315 static QByteArray addDefinesToShaderCode(
const QByteArray &shaderCode,
const QStringList &defines );
325 static QByteArray removeDefinesFromShaderCode(
const QByteArray &shaderCode,
const QStringList &defines );
334 static void decomposeTransformMatrix(
const QMatrix4x4 &matrix, QVector3D &translation, QQuaternion &rotation, QVector3D &scale );
342 static int openGlMaxClipPlanes( QSurface *surface );
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Helper struct to store ray casting parameters.