public class SoTrackerEvent extends SoEvent
SoTrackerEvent
represents 3D position and orientation events in the Open Inventor event model.
A "tracker" is any device whose position and orientation are dynamically tracked in 3D, typically for immersive VR applications. For example: a head tracker. A "controller" is an input device which typically has buttons and/or valuators (e.g. a joystick). Many controllers have an associated tracker. For example, the commonly used "wand" input device has three buttons, a two-axis joystick (two valuators), and an associated tracker.
The virtual method SoEvent.getTrackerInfo() can be used to determine if an event object has associated tracker information. Traditional 2D events like SoMouseButtonEvent
and SoLocation2Event
return NULL. 3D events like SoTrackerEvent
and SoControllerButtonEvent
return their associated tracker information (SbTrackerInfo
).
Many tracker devices generate a continuous stream of position and orientation reports, so strictly speaking there are no "events." Generally Open Inventor classes that recognize the SoTrackerEvent
interpret it as notification of a "significant" change in the tracker position and/or orientation. Processing of SoTrackerEvents may be relatively expensive. For example, a pick operation will usually be done automatically. The application (or other software above Open Inventor) is responsible for deciding when to actually create an SoTrackerEvent
.
See also:
Inventor.ConstructorCommand
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoTrackerEvent()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
SbRotation |
getOrientation()
Get orientation of associated tracker as a standard Open Inventor rotation (quaternion).
|
SbVec3f |
getPosition3()
Get position of associated tracker in world coordinates.
|
SbLine |
getRay()
Get a ray for picking/intersecting.
|
void |
setOrientation(float x,
float y,
float z)
Set orientation value of associated tracker from Euler angles in radians (using the trackd convention Z*X*Y).
|
void |
setOrientation(SbRotation orientation)
Set orientation value of associated tracker from an
SbRotation . |
void |
setOrientation(SbVec3f axis,
float angle)
Set orientation value of associated tracker from axis and angle in radians.
|
void |
setPosition3(SbVec3f p)
Set position of associated tracker in world coordinates.
|
SbTrackerInfo |
trackerInfo()
Returns the
SbTrackerInfo object. |
getNormalizedPosition, getPosition, getPosition, getPositionFloat, getPositionFloat, getTime, setAltDown, setButton1Down, setCtrlDown, setPosition, setPosition, setShiftDown, setTime, wasAltDown, wasButton1Down, wasCtrlDown, wasShiftDown
dispose, getAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads
public void setOrientation(SbRotation orientation)
SbRotation
.public void setOrientation(float x, float y, float z)
public SbVec3f getPosition3()
public void setPosition3(SbVec3f p)
public SbLine getRay()
public SbRotation getOrientation()
public SbTrackerInfo trackerInfo()
SbTrackerInfo
object.public void setOrientation(SbVec3f axis, float angle)
Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com