LambdaAction#

Fully qualified name: omni::kit::actions::core::LambdaAction

class LambdaAction : public omni::kit::actions::core::Action#

Concrete action class that can be used to create an action from C++ which calls a supplied lambda/function.

Public Types

using ExecuteFunctionType = carb::variant::Variant (*)(const carb::variant::Variant&, const carb::dictionary::Item*)#

Function prototype to execute an action.

Param args:

Variable positional argument (optional). Maybe a VariantArray with multiple args.

Param kwargs:

Variable keyword arguments (optional).

Return:

An arbitrary variant object (could be empty).

Public Functions

inline LambdaAction(
const char *extensionId,
const char *actionId,
const MetaData *metaData,
ExecuteFunctionType function,
)#

Constructor.

Parameters:
  • extensionId – The id of the source extension registering the action.

  • actionId – Id of the action, unique to the extension registering it.

  • metaData – Pointer to a meta data struct associated with the action.

  • function – The function object to call when the action is executed.

~LambdaAction() override = default#

Destructor.

inline virtual carb::variant::Variant execute(
const carb::variant::Variant &args = {},
const carb::dictionary::Item *kwargs = nullptr,
) override#

IAction::execute

inline virtual void invalidate() override#

IAction::invalidate

inline virtual bool isPythonAction() const override#

IAction::isPythonAction

inline virtual const char *getExtensionId() const override#

IAction::getExtensionId

inline virtual const char *getActionId() const override#

IAction::getActionId

inline virtual const char *getDisplayName() const override#

IAction::getDisplayName

inline virtual const char *getDescription() const override#

IAction::getDescription

inline virtual const char *getIconUrl() const override#

IAction::getIconUrl

inline virtual const char *getTag() const override#

IAction::getTag

Public Static Functions

static inline carb::ObjectPtr<IAction> create(
const char *extensionId,
const char *actionId,
const MetaData *metaData,
ExecuteFunctionType function,
)#

Factory.

Parameters:
  • extensionId – The id of the source extension registering the action.

  • actionId – Id of the action, unique to the extension registering it.

  • metaData – Pointer to a meta data struct associated with the action.

  • function – The function object to call when the action is executed.

Returns:

The action that was created.

Protected Attributes

omni::string m_extensionId#

The id of the source extension that registered the action.

omni::string m_actionId#

Id of the action, unique to the extension that registered it.

MetaData m_metaData#

Struct containing all the meta data associated with this action.