16#ifndef QGSRAYCASTINGUTILS_P_H
17#define QGSRAYCASTINGUTILS_P_H
39 class QGeometryRenderer;
55 explicit Ray3D( QVector3D origin, QVector3D direction = QVector3D( 0.0f, 0.0f, 1.0f ),
float distance = 1.0f );
57 QVector3D origin()
const;
58 void setOrigin( QVector3D value );
60 QVector3D direction()
const;
61 void setDirection( QVector3D value );
63 float distance()
const;
64 void setDistance(
float distance );
66 bool contains( QVector3D point )
const;
67 bool contains(
const Ray3D &ray )
const;
69 QVector3D point(
float t )
const;
70 float projectedDistance( QVector3D point )
const;
72 QVector3D project( QVector3D vector )
const;
74 float distance( QVector3D point )
const;
76 Ray3D &transform(
const QMatrix4x4 &matrix );
77 Ray3D transformed(
const QMatrix4x4 &matrix )
const;
85 QVector3D m_direction;
86 float m_distance = 1.0f;
95 bool rayBoxIntersection(
const Ray3D &r,
const QgsAABB &aabb );
102 bool rayTriangleIntersection(
const Ray3D &ray, QVector3D a, QVector3D b, QVector3D
c, QVector3D &uvw,
float &t );
110 bool rayMeshIntersection( Qt3DRender::QGeometryRenderer *geometryRenderer,
const QgsRayCastingUtils::Ray3D &r,
const QMatrix4x4 &worldTransform, QVector3D &intPt,
int &triangleIndex );
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
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)