SoTrackerEvent Class |
3D tracker event.
Namespace: OIV.Inventor.Events
The SoTrackerEvent type exposes the following members.
Name | Description | |
---|---|---|
SoTrackerEvent | Constructor. |
Name | Description | |
---|---|---|
Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
GetHashCode |
Overrides GetHashCode().
(Inherited from SoNetBase.) | |
GetNormalizedPosition | Gets the normalized location of the cursor when the event occurred, relative to the specified viewport region. | |
GetOrientation | Get orientation of associated tracker as a standard Open Inventor rotation (quaternion). | |
GetPosition | Returns the window pixel location of the cursor when the event occurred as integer values. | |
GetPosition(SbViewportRegion) | Gets the viewport pixel location of the cursor when the event occurred, relative to the origin of the specified viewport region, as integer values. | |
GetPosition3 | Get position of associated tracker in world coordinates. | |
GetPositionFloat | Returns the window pixel location of the cursor when the event occurred as float values. | |
GetPositionFloat(SbViewportRegion) | Gets the viewport pixel location of the cursor when the event occurred, relative to the origin of the specified viewport region, as float values. | |
GetRay | Get a ray for picking/intersecting. | |
GetTime | Gets the time at which the event occurred. | |
GetTrackerInfo | Gets whether an event object has associated tracker information. | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
SetAltDown | Sets whether the ALT key was down when the event occurred. | |
SetButton1Down | Sets whether mouse Button 1 was down when the event occurred. | |
SetCtrlDown | Sets whether the CTRL key was down when the event occurred. | |
SetOrientation(SbRotation) | Set orientation value of associated tracker from an OIV.Inventor.SbRotation. | |
SetOrientation(SbVec3f, Single) | Set orientation value of associated tracker from axis and angle in radians. | |
SetOrientation(Single, Single, Single) | Set orientation value of associated tracker from Euler angles in radians (using the trackd convention Z*X*Y). | |
SetPosition(SbVec2f) | Float version of OIV.Inventor.Events.SoEvent.SetPosition(OIV.Inventor.SbVec2s). | |
SetPosition(SbVec2s) | Sets the window pixel location of the cursor when the event occurred. | |
SetPosition3 | Set position of associated tracker in world coordinates. | |
SetShiftDown | Sets whether the shift key was down when the event occurred. | |
SetTime | Sets the time at which the event occurred. | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
TrackerInfo | Returns the OIV.Inventor.SbTrackerInfo object. | |
WasAltDown | Returns true if the ALT key was down when the event occurred. | |
WasButton1Down | Returns true if mouse button 1 was down when the event occurred. | |
WasCtrlDown | Returns true if the CTRL key was down when the event occurred. | |
WasShiftDown | Returns true if the shift key was down when the event occurred. |
OIV.Inventor.Events.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 OIV.Inventor.Events.SoEvent.GetTrackerInfo() can be used to determine if an event object has associated tracker information. Traditional 2D events like OIV.Inventor.Events.SoMouseButtonEvent and OIV.Inventor.Events.SoLocation2Event return NULL. 3D events like OIV.Inventor.Events.SoTrackerEvent and OIV.Inventor.Events.SoControllerButtonEvent return their associated tracker information (OIV.Inventor.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 OIV.Inventor.Events.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 OIV.Inventor.Events.SoTrackerEvent.