Pointing device sensor component
This component defines nodes to interact with a pointing device (a mouse).
TouchSensor allows to catch click events on 3D objects.
Drag sensors allow user to edit a transformation of 3D objects:
PlaneSensor allows to move objects,
SphereSensor allows to rotate objects,
and CylinderSensor allows to rotate objects around a constrained
axis.
See also X3D specification of Pointing device sensor component.
Supported nodes:
TouchSensor
TODO: hitTexCoord_changed is not working,
and hitNormal_changed generates only the flat (per-face) normal.
Everything else works perfectly, which should be enough for typical uses.
PlaneSensor
Note: when axisRotation with non-zero rotation is used,
trackPoint_changed is generated in local sensor coordinates
(with transformation and axisRotation applied),
just like translation_changed.
Note that axisRotation is still useful, it is not
a shortcut for using Transform with rotation
around the sensor. Reason: wrapping sensor in a Transform
would change it's siblings. So axisRotation is useful
under our interpretation.
SphereSensor
CylinderSensor
Including axisRotation, notes above about
PlaneSensor.axisRotation apply also here.
|