Send MessageBus Event#
Pushes a named event to the Application Message Bus. The payload of the event is constructed from any dynamic input attributes that have been added to this node and consists of a dictionary whose key is the name of the attribute, with the ‘inputs:’ prefix stripped from it, with a value equal to the raw pointer to the attribute’s data in Fabric. If the attribute has a type that is not able to be converted to this form then a warning is posted for the node but the execution continues.
The event can be handled by any message bus listener, or with a corresponding OnMessageBusEvent node.
Data from dynamic input attributes will be copied into the event payload, with keys that match the attribute name. Here’s an example of handling the event in Python. In this example the sending node has an input “inputs:arg1”:
import carb.events
import omni.kit.app
def on_event(event: carb.events.IEvent):
data = event.payload["arg1"]
print(f"got data = {data}")
msg = carb.events.type_from_string("my_event_name")
message_bus = omni.kit.app.get_app().get_message_bus_event_stream()
sub = message_bus.create_subscription_to_pop_by_type(msg, on_event)
Installation#
To use this node enable omni.graph.action_nodes_core in the Extension Manager.
Inputs#
Name |
Type |
Descripton |
Default |
---|---|---|---|
Event Name (inputs:eventName) |
|
The name of the custom event to be sent. |
|
Metadata |
literalOnly = 1 |
||
Exec In (inputs:execIn) |
|
Signal to the graph that this node is ready to be executed. |
None |
Outputs#
Name |
Type |
Descripton |
Default |
---|---|---|---|
Exec Out (outputs:execOut) |
|
Signal to the graph that execution can continue downstream. |
None |
Metadata#
Name |
Value |
---|---|
Unique ID |
omni.graph.action.SendMessageBusEvent |
Version |
1 |
Extension |
omni.graph.action_nodes_core |
Has State? |
False |
Implementation Language |
C++ |
Default Memory Type |
cpu |
Generated Code Exclusions |
tests |
uiName |
Send MessageBus Event |
Categories |
graph:action,event |
Generated Class Name |
OgnSendMessageBusEventDatabase |
Python Module |
omni.graph.action_nodes_core |