6#ifndef MATERIALX_GENUSERDATA_H
7#define MATERIALX_GENUSERDATA_H
27class MX_GENSHADER_API
GenUserData :
public std::enable_shared_from_this<GenUserData>
35 return shared_from_this();
41 return shared_from_this();
45 template<
class T> shared_ptr<T>
asA()
47 return std::dynamic_pointer_cast<T>(getSelf());
51 template<
class T> shared_ptr<const T>
asA()
const
53 return std::dynamic_pointer_cast<const T>(getSelf());
std::shared_ptr< const GenUserData > ConstGenUserDataPtr
Shared pointer to a constant GenUserData.
Definition: GenUserData.h:23
std::shared_ptr< GenUserData > GenUserDataPtr
Shared pointer to a GenUserData.
Definition: GenUserData.h:20
Macros for declaring imported and exported symbols.
Base class for custom user data needed during shader generation.
Definition: GenUserData.h:28
shared_ptr< const T > asA() const
Return this object cast to a templated type.
Definition: GenUserData.h:51
ConstGenUserDataPtr getSelf() const
Return a shared pointer for this object.
Definition: GenUserData.h:39
shared_ptr< T > asA()
Return this object cast to a templated type.
Definition: GenUserData.h:45
GenUserDataPtr getSelf()
Return a shared pointer for this object.
Definition: GenUserData.h:33