16#ifndef QGSRAYCASTINGUTILS_H
17#define QGSRAYCASTINGUTILS_H
29 class QGeometryRenderer;
53 bool rayMeshIntersection( Qt3DRender::QGeometryRenderer *geometryRenderer,
const QgsRay3D &r,
float maxDist,
const QMatrix4x4 &worldTransform, QVector3D &intPt,
int &triangleIndex );
Axis-aligned bounding box - in world coords.
A representation of a ray in 3D.
bool rayBoxIntersection(const QgsRay3D &ray, const QgsAABB &nodeBbox)
Tests whether an axis aligned box is intersected by a ray.
bool rayMeshIntersection(Qt3DRender::QGeometryRenderer *geometryRenderer, const QgsRay3D &r, float maxDist, const QMatrix4x4 &worldTransform, QVector3D &intPt, int &triangleIndex)
Tests whether a triangular mesh is intersected by a ray.
bool rayTriangleIntersection(const QgsRay3D &ray, float maxDist, const QVector3D &a, const QVector3D &b, const QVector3D &c, QVector3D &uvw, float &t)
Tests whether a triangle is intersected by a ray.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c