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.