16 #ifndef QGSRAYCASTINGUTILS_P_H    17 #define QGSRAYCASTINGUTILS_P_H    40 namespace QgsRayCastingUtils
    52       explicit Ray3D( QVector3D origin, QVector3D direction = QVector3D( 0.0f, 0.0f, 1.0f ), 
float distance = 1.0f );
    54       QVector3D origin() 
const;
    55       void setOrigin( QVector3D value );
    57       QVector3D direction() 
const;
    58       void setDirection( QVector3D value );
    60       float distance() 
const;
    61       void setDistance( 
float distance );
    63       bool contains( QVector3D point ) 
const;
    64       bool contains( 
const Ray3D &ray ) 
const;
    66       QVector3D point( 
float t ) 
const;
    67       float projectedDistance( QVector3D point ) 
const;
    69       QVector3D project( QVector3D vector ) 
const;
    71       float distance( QVector3D point ) 
const;
    73       Ray3D &transform( 
const QMatrix4x4 &matrix );
    74       Ray3D transformed( 
const QMatrix4x4 &matrix ) 
const;
    81       QVector3D m_direction;
    82       float m_distance = 1.0f;
    91   bool rayBoxIntersection( 
const Ray3D &r, 
const QgsAABB &aabb );
   105   bool rayPlaneIntersection( 
const Ray3D &r, 
const Plane3D &plane, QVector3D &pt );
   112   bool rayTriangleIntersection( 
const Ray3D &ray,
   124   Ray3D rayForViewportAndCamera( 
const QSize &area,
   126                                  const QRectF &relativeViewport,
   127                                  const Qt3DRender::QCamera *camera );
   134   Ray3D rayForCameraCenter( 
const Qt3DRender::QCamera *camera );
   139 #endif // QGSRAYCASTINGUTILS_P_H 3 Axis-aligned bounding box - in world coords. 
 
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
 
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
 
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