# QRayCasterHit Class

class Qt3DRender::QRayCasterHitDetails 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.

## 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 |

Qt3DRender::QRayCasterHit::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

### Qt3DRender::QRayCasterHit::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