public class SoEvent extends Inventor
SoEvent
is the base class for events in the Open Inventor event model. An event typically represents a user action, such as a mouse button being pressed or a keyboard key being released. SoEvent
contains general information found in all Open Inventor events, including the time the event occurred, the position of the locater when the event occurred, and the state of the modifier keys when the event occurred.
The virtual method SoEvent.getTrackerInfo() can be used to determine if an event object has associated 3D tracker information. Traditional 2D events like SoMouseButtonEvent
and SoLocation2Event
return NULL. 3D events like SoTrackerEvent
and SoControllerButtonEvent
return their associated tracker information (SbTrackerInfo
).
Add an SoEventCallback
node to the scene graph to handle Open Inventor events.
Events are delivered to the scene graph using an SoHandleEventAction
.
The Open Inventor viewer classes automatically convert system events to Open Inventor event objects and send those event objects to the scene graph using an instance of SoSceneManager
. SoSceneManager
automatically creates and applies an SoHandleEventAction
.
Similarly, the RemoteViz RenderArea class converts events coming from the RemoteViz client to Open Inventor event objects and sends those events to the scene graph using an instance of SoSceneManager
.
Applications may create synthetic events and send them to the scene graph. Get the SoSceneManager
object from the render area and call processEvent().
See also:
SoButtonEvent
, SoControllerButtonEvent
, SoKeyboardEvent
, SoLocation2Event
, SoMotion3Event
, SoMouseButtonEvent
, SoSpaceballButtonEvent
, SoTrackerEvent
, SoHandleEventAction
, SoEventCallback
, SoSelection
, SoInteraction, SoWinDevice, SoWinRenderArea, SoTouchEvent
, SoGestureEvent
Inventor.ConstructorCommand
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoEvent()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
SbVec2f |
getNormalizedPosition(SbViewportRegion vpRgn)
Gets the normalized location of the cursor when the event occurred, relative to the specified viewport region.
|
SbVec2s |
getPosition()
Returns the window pixel location of the cursor when the event occurred as integer values.
|
SbVec2s |
getPosition(SbViewportRegion vpRgn)
Gets the viewport pixel location of the cursor when the event occurred, relative to the origin of the specified viewport region, as integer values.
|
SbVec2f |
getPositionFloat()
Returns the window pixel location of the cursor when the event occurred as float values.
|
SbVec2f |
getPositionFloat(SbViewportRegion vpRgn)
Gets the viewport pixel location of the cursor when the event occurred, relative to the origin of the specified viewport region, as float values.
|
SbTime |
getTime()
Gets the time at which the event occurred.
|
void |
setAltDown(boolean isDown)
Sets whether the ALT key was down when the event occurred.
|
void |
setButton1Down(boolean isDown)
Sets whether mouse Button 1 was down when the event occurred.
|
void |
setCtrlDown(boolean isDown)
Sets whether the CTRL key was down when the event occurred.
|
void |
setPosition(SbVec2f p)
Float version of
setPosition(const SbVec2s &p) . |
void |
setPosition(SbVec2s p)
Sets the window pixel location of the cursor when the event occurred.
|
void |
setShiftDown(boolean isDown)
Sets whether the shift key was down when the event occurred.
|
void |
setTime(SbTime t)
Sets the time at which the event occurred.
|
boolean |
wasAltDown()
Returns true if the ALT key was down when the event occurred.
|
boolean |
wasButton1Down()
Returns true if mouse button 1 was down when the event occurred.
|
boolean |
wasCtrlDown()
Returns true if the CTRL key was down when the event occurred.
|
boolean |
wasShiftDown()
Returns true if the shift key was down when the event occurred.
|
dispose, getAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads
public void setTime(SbTime t)
public boolean wasAltDown()
public boolean wasButton1Down()
public void setCtrlDown(boolean isDown)
public SbVec2f getPositionFloat()
Position should be set for all events, but that may not be possible for some events in some display environments. If position was not available, the method returns 0,0.
public void setAltDown(boolean isDown)
public SbVec2s getPosition(SbViewportRegion vpRgn)
public SbVec2f getNormalizedPosition(SbViewportRegion vpRgn)
Position should be set for all events, but that may not be possible for some events in some display environments. If position was not available, the method returns 0,0.
public SbVec2f getPositionFloat(SbViewportRegion vpRgn)
public void setShiftDown(boolean isDown)
public void setPosition(SbVec2s p)
public boolean wasCtrlDown()
public SbTime getTime()
public boolean wasShiftDown()
public SbVec2s getPosition()
Position should be set for all events, but that may not be possible for some events in some display environments. If position was not available, the method returns 0,0.
public void setButton1Down(boolean isDown)
public void setPosition(SbVec2f p)
setPosition(const SbVec2s &p)
.
It can be used when a desktop is magnified on a wall of screens using ScaleViz with a tracker device calibrated for this wall.Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com