MaterialX 1.39.3
Loading...
Searching...
No Matches
TypeDesc.h File Reference

Type descriptor for a MaterialX data type. More...

#include <MaterialXGenShader/Export.h>
#include <MaterialXCore/Value.h>
#include <MaterialXCore/Document.h>
#include <string_view>

Go to the source code of this file.

Classes

class  TypeDesc
 A type descriptor for MaterialX data types. More...
 
class  TypeDesc::DataBlock
 Data block holding large data needed by the type description. More...
 
struct  TypeDesc::Hasher
 Hash operator. More...
 
class  StructMemberDesc
 Type descriptor for member of a struct type. More...
 
class  TypeSystem
 Class handling registration, storage and query of type descriptions. More...
 

Macros

#define TYPEDESC_DEFINE_TYPE(T, name, basetype, semantic, size)
 Macro to define global type descriptions for commonly used types.
 

Typedefs

using TypeDescVec = vector<TypeDesc>
 
using TypeDescMap = std::unordered_map<string, TypeDesc>
 
using StructMemberDescVec = vector<StructMemberDesc>
 
using StructMemberDescVecPtr = shared_ptr<const StructMemberDescVec>
 
using TypeSystemPtr = shared_ptr<class TypeSystem>
 

Detailed Description

Type descriptor for a MaterialX data type.

Macro Definition Documentation

◆ TYPEDESC_DEFINE_TYPE

#define TYPEDESC_DEFINE_TYPE ( T,
name,
basetype,
semantic,
size )
Value:
inline const TypeDesc::DataBlock* T##_data() { static const TypeDesc::DataBlock _data(name); return &_data; } \
static const TypeDesc T(name, basetype, semantic, size, T##_data());
Data block holding large data needed by the type description.
Definition TypeDesc.h:69
A type descriptor for MaterialX data types.
Definition TypeDesc.h:40

Macro to define global type descriptions for commonly used types.