simvx.core.events

Input event types for the node tree.

Module Contents

Classes

InputEvent

Mouse click event delivered to 3D nodes via picked().

TreeInputEvent

Input event propagated through the node tree.

Data

log

API

simvx.core.events.log

‘getLogger(…)’

class simvx.core.events.InputEvent(screen_pos: tuple[float, float], button: simvx.core.input.enums.MouseButton, ray_origin: tuple[float, float, float], ray_direction: tuple[float, float, float], distance: float = 0.0)[source]

Mouse click event delivered to 3D nodes via picked().

Attributes: screen_pos: Click position in screen pixels. button: Mouse button (typed MouseButton enum). ray_origin: World-space ray origin. ray_direction: World-space ray direction (normalized). distance: Distance along ray to the hit point.

Initialization

__slots__

(‘screen_pos’, ‘button’, ‘ray_origin’, ‘ray_direction’, ‘distance’)

class simvx.core.events.TreeInputEvent(type: str, *, key: str = '', pressed: bool = False, button: int = 0, position: tuple[float, float] = (0.0, 0.0), delta: tuple[float, float] = (0.0, 0.0))[source]

Input event propagated through the node tree.

Set handled = True in handle_input() to stop propagation to later nodes. unhandled_input() is still called on remaining nodes regardless.

Attributes: type: Event kind — “key”, “mouse_button”, “mouse_motion”, “scroll”. key: Key name (for key events). pressed: True on press, False on release (key/mouse_button events). button: Mouse button number (1=left, 2=right, 3=middle). position: Mouse position in screen pixels (mouse events). delta: Motion delta (mouse_motion) or scroll offset (scroll). handled: Set True to consume the event (stops handle_input() propagation).

Initialization

__slots__

(‘type’, ‘key’, ‘pressed’, ‘button’, ‘position’, ‘delta’, ‘handled’)

__repr__() str[source]