omni::graph::core::INodeCategories_abi

Defined in omni/graph/core/INodeCategories.h

Inheritance Relationships

Base Type

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

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