| objectpicker.cpp |
|
2574 |
- |
| objectpicker_p.h |
|
1349 |
- |
| pickeventfilter.cpp |
!
\internal
Called from the main thread.
|
1552 |
- |
| pickeventfilter_p.h |
|
1152 |
- |
| qabstractraycaster.cpp |
!
\class Qt3DRender::QAbstractRayCaster
\brief An abstract base class for ray casting in 3d scenes.
\inmodule Qt3DRender
\since 5.11
\inherits QComponent
Qt3DRender::QAbstractRayCaster is an abstract base class for casting rays into a 3d scene.
Qt3DRender::QAbstractRayCaster can not be directly instantiated, but rather
through its subclasses. QAbstractRayCaster specifies common properties
for all ray casters, such as run mode and layer handling, while leaving the actual
ray casting details to the subclasses.
Ray castings differs from picking (using Qt3DRender::QObjectPicker) in that it does not
require mouse events to trigger.
By default, the instances of Qt3DRender::QAbstractRayCaster are disabled. When enabled,
the specified ray will be tested for intersecting objects at every frame. The
QAbstractRayCaster::hits property will be updated with the results of the ray casting,
even if no objects are found.
The Qt3DRender::QPickingSettings can be used to control the ray casting, such as which
primitives are tested and how the results are returned.
Furthermore, Qt3DRender::QLayer components can be used to control how entities, or entity
sub-graphs, react to ray casting.
\note Components derived from QAbstractRayCaster should not be shared amount multiple entities.
\sa Qt3DRender::QRayCaster, Qt3DRender::QScreenRayCaster, Qt3DRender::QObjectPicker,
Qt3DRender::QPickingSettings, Qt3DRender::QNoPicking
|
12212 |
- |
| qabstractraycaster.h |
|
2176 |
- |
| qabstractraycaster_p.h |
!
\internal
|
1911 |
- |
| qobjectpicker.cpp |
!
\class Qt3DRender::QObjectPicker
\inmodule Qt3DRender
\brief The QObjectPicker class instantiates a component that can
be used to interact with a QEntity by a process known as picking.
For every combination of viewport and camera, picking casts a ray through the scene to
find entities who's bounding volume intersects the ray. The bounding volume is computed using
the values in the attribute buffer specified by the boundingVolumePositionAttribute of the
geometry.
The signals pressed(), released(), clicked(), moved(), entered(), and exited() are
emitted when the bounding volume defined by the pickAttribute property intersects
with a ray.
Most signals carry a QPickEvent instance. If QPickingSettings::pickMode() is set to
QPickingSettings::TrianglePicking, the actual type of the pick parameter will be
QPickTriangleEvent.
Pick queries are performed on mouse press and mouse release.
If drag is enabled, queries also happen on each mouse move while any button is pressed.
If hover is enabled, queries happen on every mouse move even if no button is pressed.
For generalised ray casting queries, see Qt3DRender::QRayCaster and Qt3DRender::QScreenRayCaster.
\sa Qt3DRender::QPickingSettings, Qt3DCore::QGeometry, Qt3DCore::QAttribute,
Qt3DRender::QPickEvent, Qt3DRender::QPickTriangleEvent, Qt3DRender::QNoPicking
\note Instances of this component shouldn't be shared, not respecting that
condition will most likely result in undefined behavior.
\note The camera far plane value affects picking and produces incorrect results due to
floating-point precision if it is greater than ~100 000.
\since 5.6
|
13367 |
- |
| qobjectpicker.h |
|
1939 |
- |
| qobjectpicker_p.h |
!
\internal
|
1952 |
- |
| qpickevent.cpp |
!
\class Qt3DRender::QPickEvent
\inmodule Qt3DRender
\brief The QPickEvent class holds information when an object is picked.
This is received as a parameter in most of the QObjectPicker component signals when picking
succeeds.
\sa QPickingSettings, QPickTriangleEvent, QObjectPicker
\since 5.7
|
8423 |
- |
| qpickevent.h |
|
2994 |
- |
| qpickevent_p.h |
|
1502 |
- |
| qpicklineevent.cpp |
!
\class Qt3DRender::QPickLineEvent
\inmodule Qt3DRender
\brief The QPickLineEvent class holds information when a segment of a line is picked.
\sa QPickEvent
\since 5.10
|
3420 |
- |
| qpicklineevent.h |
|
1222 |
- |
| qpickpointevent.cpp |
!
\class Qt3DRender::QPickPointEvent
\inmodule Qt3DRender
\brief The QPickPointEvent class holds information when a segment of a point cloud is picked.
\sa QPickEvent
\since 5.10
|
2320 |
- |
| qpickpointevent.h |
|
1016 |
- |
| qpicktriangleevent.cpp |
!
\class Qt3DRender::QPickTriangleEvent
\inmodule Qt3DRender
\brief The QPickTriangleEvent class holds information when a triangle is picked.
When QPickingSettings::pickMode() is set to QPickingSettings::TrianglePicking, the signals
on QObjectPicker will carry an instance of QPickTriangleEvent.
This contains the details of the triangle that was picked.
\note In the case of indexed rendering, the point indices are relative to the
array of coordinates, not the array of indices.
\sa QPickingSettings, QPickEvent, QObjectPicker
\since 5.7
|
7147 |
- |
| qpicktriangleevent.h |
|
1754 |
- |
| qpicktriangleevent_p.h |
|
1324 |
- |
| qraycaster.cpp |
!
\class Qt3DRender::QRayCaster
\inmodule Qt3DRender
\brief Qt3DRender::QRayCaster is used to perform ray casting tests in 3d world coordinates.
\inmodule Qt3DRender
\since 5.11
\inherits QAbstractRayCaster
The 3d ray is defined by its origin, direction and length. It will be affected by the
transformations applied to the entity it belongs to.
Ray casting tests will be performed every frame as long as the component is enabled.
The hits property will be updated with the list of intersections.
\sa QAbstractRayCaster, QScreenRayCaster, QNoPicking
|
4676 |
- |
| qraycaster.h |
|
1571 |
- |
| qraycasterhit.cpp |
!
\class Qt3DRender::QRayCasterHit
\brief Details of a hit when casting a ray through a model.
\inmodule Qt3DRender
\since 5.11
Qt3DRender::QRayCasterHit contains the details of a successful hit when casting a ray through
a model using a Qt3DRender::QRayCaster or Qt3DRender::QScreenRayCaster component.
\sa Qt3DRender::QRayCaster, Qt3DRender::QScreenRayCaster, Qt3DRender::QPickingSettings
|
9350 |
- |
| qraycasterhit.h |
|
2331 |
- |
| qscreenraycaster.cpp |
!
\class Qt3DRender::QScreenRayCaster
\brief Performe ray casting test based on screen coordinates.
\inmodule Qt3DRender
\since 5.11
\inherits QAbstractRayCaster
QScreenRayCaster can be used to perform ray casting tests by specifying coordinates in
screen space, which will be used to construct an actual 3D ray between the near and
far planes.
\sa QRayCaster, QNoPicking
|
3237 |
- |
| qscreenraycaster.h |
|
1122 |
- |
| raycaster.cpp |
|
3565 |
- |
| raycaster_p.h |
|
1837 |
- |