Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QSSGRenderRay Struct Reference

#include <qssgrenderray_p.h>

Collaboration diagram for QSSGRenderRay:

Classes

struct  HitResult
struct  IntersectionResult
struct  RayData

Public Member Functions

 QSSGRenderRay ()=default
 QSSGRenderRay (const QVector3D &inOrigin, const QVector3D &inDirection)
std::optional< QVector2Drelative (const QMatrix4x4 &inGlobalTransform, const QSSGBounds3 &inBounds, QSSGRenderBasisPlanes inPlane) const
std::optional< QVector2DrelativeXY (const QMatrix4x4 &inGlobalTransform, const QSSGBounds3 &inBounds) const

Static Public Member Functions

static std::optional< QVector3Dintersect (const QSSGPlane &inPlane, const QSSGRenderRay &ray)
static bool triangleIntersect (const QSSGRenderRay &ray, const QVector3D &v0, const QVector3D &v1, const QVector3D &v2, float &u, float &v, QVector3D &normal)
static RayData createRayData (const QMatrix4x4 &globalTransform, const QSSGRenderRay &ray)
static IntersectionResult createIntersectionResult (const RayData &data, const HitResult &hit)
static HitResult intersectWithAABBv2 (const RayData &data, const QSSGBounds3 &bounds)
static void intersectWithBVH (const RayData &data, const QSSGMeshBVHNode *bvh, const QSSGRenderMesh *mesh, QVector< IntersectionResult > &intersections, int depth=0)
static QVector< IntersectionResultintersectWithBVHTriangles (const RayData &data, const std::vector< QSSGMeshBVHTriangle > &bvhTriangles, int triangleOffset, int triangleCount)

Public Attributes

QVector3D origin
QVector3D direction

Detailed Description

Definition at line 39 of file qssgrenderray_p.h.

Constructor & Destructor Documentation

◆ QSSGRenderRay() [1/2]

QSSGRenderRay::QSSGRenderRay ( )
default

◆ QSSGRenderRay() [2/2]

QSSGRenderRay::QSSGRenderRay ( const QVector3D & inOrigin,
const QVector3D & inDirection )
inline

Definition at line 44 of file qssgrenderray_p.h.

Member Function Documentation

◆ createIntersectionResult()

QSSGRenderRay::IntersectionResult QSSGRenderRay::createIntersectionResult ( const RayData & data,
const HitResult & hit )
static

Definition at line 53 of file qssgrenderray.cpp.

◆ createRayData()

QSSGRenderRay::RayData QSSGRenderRay::createRayData ( const QMatrix4x4 & globalTransform,
const QSSGRenderRay & ray )
static

Definition at line 28 of file qssgrenderray.cpp.

◆ intersect()

QT_BEGIN_NAMESPACE std::optional< QVector3D > QSSGRenderRay::intersect ( const QSSGPlane & inPlane,
const QSSGRenderRay & ray )
static

Definition at line 18 of file qssgrenderray.cpp.

◆ intersectWithAABBv2()

QSSGRenderRay::HitResult QSSGRenderRay::intersectWithAABBv2 ( const RayData & data,
const QSSGBounds3 & bounds )
static

Definition at line 77 of file qssgrenderray.cpp.

◆ intersectWithBVH()

void QSSGRenderRay::intersectWithBVH ( const RayData & data,
const QSSGMeshBVHNode * bvh,
const QSSGRenderMesh * mesh,
QVector< IntersectionResult > & intersections,
int depth = 0 )
static

Definition at line 191 of file qssgrenderray.cpp.

◆ intersectWithBVHTriangles()

QVector< QSSGRenderRay::IntersectionResult > QSSGRenderRay::intersectWithBVHTriangles ( const RayData & data,
const std::vector< QSSGMeshBVHTriangle > & bvhTriangles,
int triangleOffset,
int triangleCount )
static

Definition at line 220 of file qssgrenderray.cpp.

◆ relative()

std::optional< QVector2D > QSSGRenderRay::relative ( const QMatrix4x4 & inGlobalTransform,
const QSSGBounds3 & inBounds,
QSSGRenderBasisPlanes inPlane ) const

Definition at line 278 of file qssgrenderray.cpp.

◆ relativeXY()

std::optional< QVector2D > QSSGRenderRay::relativeXY ( const QMatrix4x4 & inGlobalTransform,
const QSSGBounds3 & inBounds ) const
inline

Definition at line 135 of file qssgrenderray_p.h.

◆ triangleIntersect()

bool QSSGRenderRay::triangleIntersect ( const QSSGRenderRay & ray,
const QVector3D & v0,
const QVector3D & v1,
const QVector3D & v2,
float & u,
float & v,
QVector3D & normal )
static

Definition at line 115 of file qssgrenderray.cpp.

Member Data Documentation

◆ direction

QVector3D QSSGRenderRay::direction

Definition at line 42 of file qssgrenderray_p.h.

◆ origin

QVector3D QSSGRenderRay::origin

Definition at line 41 of file qssgrenderray_p.h.


The documentation for this struct was generated from the following files: