QRayCasterHit 类

class Qt3DRender::QRayCasterHit

沿模型射出射线时击中的细节。 更多...

头文件 #include <QRayCasterHit>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmakeQT += 3drender

公共类型

枚举HitType { TriangleHit, LineHit, PointHit, EntityHit }

公共函数

floatdistance() const
Qt3DCore::QEntity *entity() const
Qt3DCore::QNodeIdentityId() const
QVector3DlocalIntersection() const
uintprimitiveIndex() const
Qt3DRender::QRayCasterHit::HitTypetype() const
uintvertex1Index() const
uintvertex2Index() const
uintvertex3Index() const
QVector3DworldIntersection() const

详细描述

Qt3DRender::QRayCasterHit 包含使用 Qt3DRender::QRayCasterQt3DRender::QScreenRayCaster 组件沿模型射出射线时成功的击中细节。

另请参阅Qt3DRender::QRayCasterQt3DRender::QScreenRayCasterQt3DRender::QPickingSettings

成员类型文档

enum QRayCasterHit::HitType

指定返回的击中类型。此类型由 QPickingSettings 控制。

常数描述
Qt3DRender::QRayCasterHit::TriangleHit0拾取的原语是一个三角形,顶点索引是指构成三角形的三个点
Qt3DRender::QRayCasterHit::LineHit1拾取的原语是一个线段,前两个顶点指向构成线的两个点
Qt3DRender::QRayCasterHit::PointHit2拾取的原语是一个单独的点;所有 3 个顶点索引都将未定义
Qt3DRender::QRayCasterHit::EntityHit3仅考虑了边界体积;原语和顶点索引将未定义

成员函数文档

float QRayCasterHit::distance() const

返回射线原点到交点的距离

注意:属性距离的获取器函数。

Qt3DCore::QEntity *QRayCasterHit::entity() const

返回被击中的实体指针

注意:属性实体的获取器函数。

Qt3DCore::QNodeId QRayCasterHit::entityId() const

返回被击中实体的ID

注意:属性entityId的获取器函数。

QVector3D QRayCasterHit::localIntersection() const

返回交点在实体坐标系中的坐标

注意:属性localIntersection的获取器函数。

uint QRayCasterHit::primitiveIndex() const

返回拾取的原始数据索引

注意:属性primitiveIndex的获取器函数。

Qt3DRender::QRayCasterHit::HitType QRayCasterHit::type() const

返回击中类型

注意:属性类型的获取器函数。

uint QRayCasterHit::vertex1Index() const

返回拾取原始数据的第一个顶点的索引

注意:属性vertex1Index的获取器函数。

uint QRayCasterHit::vertex2Index() const

返回拾取原始数据的第二个顶点的索引

注意:属性vertex2Index的获取器函数。

uint QRayCasterHit::vertex3Index() const

返回拾取原始数据的第三个顶点的索引

注意:属性vertex3Index的获取器函数。

QVector3D QRayCasterHit::worldIntersection() const

返回交点在模型坐标系中的坐标

注意:属性worldIntersection的获取器函数。

© 2024 The Qt Company Ltd. 本文档中包含的文档贡献权归其各自的拥有者所有。本文档由自由软件基金会按GNU自由文档许可证1.3版发布,许可协议。Qt及其相关标志是芬兰的Qt公司及其它国家和地区的商标。所有其他商标均为其各自的拥有者所有。