- Qt 5.15
- Qt 3D
- C++ Classes
- QRayCasterHit
- Qt 5.15.11 Reference Documentation

# QRayCasterHit Class

class Qt3DRender::QRayCasterHit

Details of a hit when casting a ray through a model. More...

Header: | #include <QRayCasterHit>
qmake: | QT += 3drender
Since: | Qt 5.11

This class was introduced in Qt 5.11.

- List of all members, including inherited members

## Public Types

enum | HitType { TriangleHit, LineHit, PointHit, EntityHit }

## Public Functions

float | distance() const
Qt3DCore::QEntity * | entity() const
Qt3DCore::QNodeId | entityId() const
QVector3D | localIntersection() const
uint | primitiveIndex() const
HitType | type() const
uint | vertex1Index() const
uint | vertex2Index() const
uint | vertex3Index() const
QVector3D | worldIntersection() const

## Detailed Description

Qt3DRender::QRayCasterHit contains the details of a successful hit when casting a ray through a model using a Qt3DRender::QRayCaster or Qt3DRender::QScreenRayCaster component.

See also Qt3DRender::QRayCaster, Qt3DRender::QScreenRayCaster, and Qt3DRender::QPickingSettings.

## Member Type Documentation

### enum QRayCasterHit::HitType

Specifies type of hit that was returned. This is controlled using QPickingSettings.

Constant | Value | Description
--- | --- | ---
`Qt3DRender::QRayCasterHit::TriangleHit` | `0` | The picked primitive was a triangle and the vertex indices refer to the three points making up the triangle
`Qt3DRender::QRayCasterHit::LineHit` | `1` | The picked primitive was a line segment, and the first two vertices refer to the two points making up the line
`Qt3DRender::QRayCasterHit::PointHit` | `2` | The picked primitive was a single point; all 3 vertex indices will be undefined
`Qt3DRender::QRayCasterHit::EntityHit` | `3` | Only the bounding volume was considered; the primitive and vertex indices will be undefined

## Member Function Documentation

### float QRayCasterHit::distance() const

Returns the distance between the origin of the ray and the intersection point

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

Returns a pointer to the entity that was hit

### Qt3DCore::QNodeId QRayCasterHit::entityId() const

Returns the id of the entity that was hit

### QVector3D QRayCasterHit::localIntersection() const

Returns the coordinates of the intersection point in the entity's coordinate system

### uint QRayCasterHit::primitiveIndex() const

Returns the index of the picked primitive

### HitType QRayCasterHit::type() const

Returns the type of the hit

### uint QRayCasterHit::vertex1Index() const

Returns the index of the first vertex of the picked primitive

### uint QRayCasterHit::vertex2Index() const

Returns the index of the second vertex of the picked primitive

### uint QRayCasterHit::vertex3Index() const

Returns the index of the third vertex of the picked primitive

### QVector3D QRayCasterHit::worldIntersection() const

Returns the coordinates of the intersection point in the model's coordinate system