The custom data class is a simple container for named openvdb metadata. Its primary use case is passing arbitrary "external" data to an AX executable object when calling Compiler::compile. For example, it is the mechanism by which we pass data held inside of a parent DCC to executable AX code.
More...
#include <openvdb_ax/compiler/CustomData.h>
|
| | CustomData () |
| |
| void | reset () |
| | Reset the custom data. This will clear and delete all previously added data. This will invalidated any executable which links to this custom data.
|
| |
| bool | hasData (const Name &name) |
| | Checks whether or not data of given name has been inserted.
|
| |
| template<typename TypedDataCacheT> |
| bool | hasData (const Name &name) |
| | Checks whether or not data of given name and type has been inserted.
|
| |
| const Metadata::ConstPtr | getData (const Name &name) const |
| | Retrieves a const pointer to data of given name. If it does not exist, returns nullptr.
|
| |
| template<typename TypedDataCacheT> |
| const TypedDataCacheT * | getData (const Name &name) const |
| | Retrieves a const pointer to data of given name and type. If it does not exist, returns nullptr.
|
| |
| template<typename TypedDataCacheT> |
| TypedDataCacheT * | getOrInsertData (const Name &name) |
| | Retrieves or inserts typed metadata. If the data exists, it is dynamic-casted to the expected type, which may result in a nullptr. If the data does not exist it is guaranteed to be inserted and returned. The value of the inserted data can then be modified.
|
| |
| template<typename TypedDataCacheT> |
| void | insertData (const Name &name, const typename TypedDataCacheT::Ptr data) |
| | Inserts data of specified type with given name.
|
| |
| void | insertData (const Name &name, const Metadata::Ptr data) |
| | Inserts data with given name.
|
| |
The custom data class is a simple container for named openvdb metadata. Its primary use case is passing arbitrary "external" data to an AX executable object when calling Compiler::compile. For example, it is the mechanism by which we pass data held inside of a parent DCC to executable AX code.
◆ ConstPtr
◆ Ptr
◆ UniquePtr
◆ CustomData()
◆ create()
◆ getData() [1/2]
Retrieves a const pointer to data of given name. If it does not exist, returns nullptr.
◆ getData() [2/2]
template<typename TypedDataCacheT>
| const TypedDataCacheT * getData |
( |
const Name & | name | ) |
const |
|
inline |
Retrieves a const pointer to data of given name and type. If it does not exist, returns nullptr.
- Parameters
-
| name | Name of the data entry |
- Returns
- The metadata. If the type does not match, nullptr is returned.
◆ getOrInsertData()
template<typename TypedDataCacheT>
| TypedDataCacheT * getOrInsertData |
( |
const Name & | name | ) |
|
|
inline |
Retrieves or inserts typed metadata. If the data exists, it is dynamic-casted to the expected type, which may result in a nullptr. If the data does not exist it is guaranteed to be inserted and returned. The value of the inserted data can then be modified.
◆ hasData() [1/2]
| bool hasData |
( |
const Name & | name | ) |
|
|
inline |
Checks whether or not data of given name has been inserted.
◆ hasData() [2/2]
template<typename TypedDataCacheT>
| bool hasData |
( |
const Name & | name | ) |
|
|
inline |
Checks whether or not data of given name and type has been inserted.
◆ insertData() [1/2]
Inserts data with given name.
- Parameters
-
| name | Name of the data |
| data | The metadata |
- Note
- If an entry of the given name already exists, will copy the data into the existing entry rather than overwriting the pointer
◆ insertData() [2/2]
template<typename TypedDataCacheT>
| void insertData |
( |
const Name & | name, |
|
|
const typename TypedDataCacheT::Ptr | data ) |
|
inline |
Inserts data of specified type with given name.
- Parameters
-
| name | Name of the data |
| data | Shared pointer to the data |
- Note
- If an entry of the given name already exists, will copy the data into the existing entry rather than overwriting the pointer
◆ reset()
Reset the custom data. This will clear and delete all previously added data. This will invalidated any executable which links to this custom data.