INodeCategories_abi#

Fully qualified name: omni::graph::core::INodeCategories_abi

class INodeCategories_abi : public omni::core::Inherits<omni::core::IObject, OMNI_TYPE_ID("omni.graph.core.INodeCategories")>#

Interface to the list of categories that a node type can belong to.

Protected Functions

virtual size_t getCategoryCount_abi() noexcept = 0#

Get the number of categories available.

Returns:

Count of fixed category types

virtual bool getCategories_abi(
char const **categoryNameBuffer,
char const **categoryDescriptionBuffer,
size_t bufferSize,
) noexcept = 0#

Get the list of available categories and their descriptions.

The caller is responsible for allocating and destroying buffers large enough to hold “bufferSize” results. If bufferSize > getCategoryCount() then the entries at the ends of the buffers will be filled with nullptr.

Parameters:
  • categoryNameBuffer[in] List of category names

  • categoryDescriptionBuffer[in] List of category descriptions corresponding to the names

  • bufferSize[in] Number of entries to fill in the buffers

Returns:

true if the category buffer was successfully filled and the bufferSize matched the category count

virtual bool defineCategory_abi(
char const *categoryName,
char const *categoryDescription,
) noexcept = 0#

Define a new category.

Parameters:
  • categoryName[in] Name of the new category

  • categoryDescription[in] Description of the category

Returns:

false if there was already a category with the given name

virtual bool removeCategory_abi(char const *categoryName) noexcept = 0#

Remove an existing category, mainly to manage the ones created by a node type for itself.

Parameters:

categoryName[in] Name of the category to remove

Returns:

false if there was no category with the given name