---
name: "SoEvent"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoEvent/3iv"
---

# SoEvent(3iv)

base class for all events

## NAME

SoEvent — base class for all events

## INHERITS FROM

SoEvent

## SYNOPSIS

**#include \<Inventor/events/SoEvent.h\>**

Methods from class SoEvent:

	**SoEvent()**\
 **virtual** 	**~SoEvent()**\
 **virtual SoType**	**getTypeId() const**\
 **static SoType**	**getClassTypeId()**\
 **SbBool**	**isOfType(SoType type) const**\
 **void**	**setTime(SbTime t)**\
 **SbTime**	**getTime() const**\
 **void**	**setPosition(const SbVec2s &p)**\
 **const SbVec2s &**	**getPosition() const**\
 **const SbVec2s &**	**getPosition(const SbViewportRegion &vpRgn) const**\
 **const SbVec2f &**	**getNormalizedPosition(const SbViewportRegion &vpRgn) const**\
 **void**	**setShiftDown(SbBool isDown)**\
 **void**	**setCtrlDown(SbBool isDown)**\
 **void**	**setAltDown(SbBool isDown)**\
 **SbBool**	**wasShiftDown() const**\
 **SbBool**	**wasCtrlDown() const**\
 **SbBool**	**wasAltDown() const**

## DESCRIPTION

**SoEvent** is the base class for events in the 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 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.

## METHODS

	**SoEvent()**\
 **virtual** 	**~SoEvent()**\
 Constructor and destructor.

**virtual SoType**	**getTypeId() const**\
 Return the type id for this event instance.

**static SoType**	**getClassTypeId()**\
 Return the type id for the **SoEvent** class.

**SbBool**	**isOfType(SoType type) const**\
 This returns TRUE if the event is an instance of or derived from an event of the passed type.

**void**	**setTime(SbTime t)**\
 **SbTime**	**getTime() const**\
 Set and get the time at which the event occurred.

**void**	**setPosition(const SbVec2s &p)**\
 **const SbVec2s &**	**getPosition() const**\
 Set the window pixel location of the cursor when the event occurred. The position is relative to the lower left corner of the window in which the event occurred.

**const SbVec2s &**	**getPosition(const SbViewportRegion &vpRgn) const**\
 Get the viewport pixel location of the cursor when the event occurred, relative to the specified viewport region.

**const SbVec2f &**	**getNormalizedPosition(const SbViewportRegion &vpRgn) const**\
 Get the normalized location of the cursor when the event occurred, relative to the specified viewport region. The returned value will lie between 0.0 and 1.0.

**void**	**setShiftDown(SbBool isDown)**\
 **void**	**setCtrlDown(SbBool isDown)**\
 **void**	**setAltDown(SbBool isDown)**\
 Set whether the modifier keys were down when the event occurred.

**SbBool**	**wasShiftDown() const**\
 **SbBool**	**wasCtrlDown() const**\
 **SbBool**	**wasAltDown() const**\
 Get whether the modifier keys were down when the event occurred.

## SEE ALSO

**SoButtonEvent, SoKeyboardEvent, SoLocation2Event, SoMotion3Event, SoMouseButtonEvent, SoSpaceballButtonEvent, SoHandleEventAction, SoEventCallback, SoSelection, SoInteraction, SoXtDevice, SoXtRenderArea**
