HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VEX_Types.h File Reference
#include "VEX_API.h"
#include <SYS/SYS_StaticAssert.h>
#include <UT/UT_Vector3.h>
#include <UT/UT_Vector4.h>
#include <UT/UT_Matrix3.h>
#include <UT/UT_Matrix4.h>
#include <UT/UT_Options.h>
#include "VEX_PodTypes.h"
#include "VEX_VexTypes.h"
#include "VEX_RefObject.h"
+ Include dependency graph for VEX_Types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  VEX_Value< PREC >
 
class  VEX_Instance< PREC >
 
struct  VEX_VexTypeResolver< T >
 
struct  VEX_TypeResolver< VTYPE, PREC >
 
struct  VEX_VexTypeResolver< UT_StringHolder >
 
struct  VEX_TypeResolver< VEX_TYPE_STRING, PREC >
 
struct  VEX_VexTypeResolver< UT_OptionsHolder >
 
struct  VEX_TypeResolver< VEX_TYPE_DICT, PREC >
 
struct  VEX_VexTypeResolver< VEX_RefObject * >
 
struct  VEX_TypeResolver< VEX_TYPE_BSDF, PREC >
 
class  VEX_RWType
 

Macros

#define VEX_TYPERESOLVE_CASE(VexType, CPPType)
 

Enumerations

enum  VEX_Storage {
  VEX_STORE_UNDEF, VEX_STORE_PARAMETER, VEX_STORE_LOCAL, VEX_STORE_CONST,
  VEX_STORE_GLOBAL, VEX_MAX_STORAGE
}
 
enum  VEX_BaseType {
  VEX_BASETYPE_FLOAT, VEX_BASETYPE_INT, VEX_BASETYPE_STRING, VEX_BASETYPE_BSDF,
  VEX_BASETYPE_DICT
}
 
enum  VEX_UIHint {
  VEX_UI_NONE, VEX_UI_COLOR, VEX_UI_DIRECTION, VEX_UI_VECTOR,
  VEX_UI_VECTOR4, VEX_UI_UV, VEX_UI_UVW, VEX_UI_ANGLE,
  VEX_UI_TOGGLE, VEX_UI_BUTTON, VEX_UI_FILE, VEX_UI_IMGFILE,
  VEX_UI_GEOFILE, VEX_UI_OPPATH, VEX_UI_OPLIST, VEX_UI_EMBED,
  VEX_MAX_UI
}
 

Functions

 VEX_TYPERESOLVE_CASE (FLOAT, float)
 
 VEX_TYPERESOLVE_CASE (INTEGER, int)
 
 VEX_TYPERESOLVE_CASE (VECTOR2, vec2)
 
 VEX_TYPERESOLVE_CASE (VECTOR, vec3)
 
 VEX_TYPERESOLVE_CASE (VECTOR4, vec4)
 
 VEX_TYPERESOLVE_CASE (MATRIX2, mat2)
 
 VEX_TYPERESOLVE_CASE (MATRIX3, mat3)
 
 VEX_TYPERESOLVE_CASE (MATRIX4, mat4)
 
VEX_API const char * VEXgetType (VEX_Type type)
 
VEX_API char VEXgetMangleType (VEX_Type type)
 
VEX_API const char * VEXgetBaseType (VEX_BaseType type)
 
VEX_API VEX_BaseType VEXgetBaseType (VEX_Type type)
 
VEX_API VEX_Type VEXgetType (const char *label)
 
VEX_API VEX_Type VEXgetType (const char *label, bool &isarray)
 
VEX_API VEX_Type VEXgetMangleType (char mangle)
 
VEX_API const char * VEXgetStorage (VEX_Storage type)
 
VEX_API const char * VEXgetShortStorage (VEX_Storage type)
 
VEX_API VEX_Storage VEXgetStorage (const char *label)
 
VEX_API const char * VEXgetUIHint (VEX_UIHint type)
 
VEX_API VEX_UIHint VEXgetUIHint (const char *label)
 
SYS_FORCE_INLINE constexpr bool VEXisPrecisioned (VEX_Type type)
 
VEX_API FS_DiskCacheVEXcompileCache ()
 
VEX_API const char * VEXobjectFileVersion ()
 
VEX_API int VEXtupleSize (VEX_Type type)
 
VEX_API bool VEXisFloat (VEX_Type type)
 
VEX_API bool VEXisInt (VEX_Type type)
 
VEX_API bool VEXisString (VEX_Type type)
 
template<>
constexpr int VEXtupleSize< VEXint< VEX_32 > > ()
 
template<>
constexpr int VEXtupleSize< VEXint< VEX_64 > > ()
 
template<>
constexpr int VEXtupleSize< VEXfloat< VEX_32 > > ()
 
template<>
constexpr int VEXtupleSize< VEXfloat< VEX_64 > > ()
 
template<>
constexpr int VEXtupleSize< VEXvec2< VEX_32 > > ()
 
template<>
constexpr int VEXtupleSize< VEXvec2< VEX_64 > > ()
 
template<>
constexpr int VEXtupleSize< VEXvec3< VEX_32 > > ()
 
template<>
constexpr int VEXtupleSize< VEXvec3< VEX_64 > > ()
 
template<>
constexpr int VEXtupleSize< VEXvec4< VEX_32 > > ()
 
template<>
constexpr int VEXtupleSize< VEXvec4< VEX_64 > > ()
 
template<>
constexpr int VEXtupleSize< VEXmat2< VEX_32 > > ()
 
template<>
constexpr int VEXtupleSize< VEXmat2< VEX_64 > > ()
 
template<>
constexpr int VEXtupleSize< VEXmat3< VEX_32 > > ()
 
template<>
constexpr int VEXtupleSize< VEXmat3< VEX_64 > > ()
 
template<>
constexpr int VEXtupleSize< VEXmat4< VEX_32 > > ()
 
template<>
constexpr int VEXtupleSize< VEXmat4< VEX_64 > > ()
 

Macro Definition Documentation

#define VEX_TYPERESOLVE_CASE (   VexType,
  CPPType 
)
Value:
template <> \
{ \
static constexpr VEX_Type type = VEX_TYPE_##VexType; \
}; \
template <> \
{ \
static constexpr VEX_Type type = VEX_TYPE_##VexType; \
}; \
template <VEX_Precision PREC> \
{ \
typedef VEX##CPPType<PREC> T; \
};
VEX_Type
VEX variable types.
Definition: VEX_VexTypes.h:18
type
Definition: core.h:1059

Definition at line 43 of file VEX_Types.h.

Enumeration Type Documentation

Enumerator
VEX_BASETYPE_FLOAT 
VEX_BASETYPE_INT 
VEX_BASETYPE_STRING 
VEX_BASETYPE_BSDF 
VEX_BASETYPE_DICT 

Definition at line 116 of file VEX_Types.h.

Enumerator
VEX_STORE_UNDEF 
VEX_STORE_PARAMETER 
VEX_STORE_LOCAL 
VEX_STORE_CONST 
VEX_STORE_GLOBAL 
VEX_MAX_STORAGE 

Definition at line 104 of file VEX_Types.h.

enum VEX_UIHint
Enumerator
VEX_UI_NONE 
VEX_UI_COLOR 
VEX_UI_DIRECTION 
VEX_UI_VECTOR 
VEX_UI_VECTOR4 
VEX_UI_UV 
VEX_UI_UVW 
VEX_UI_ANGLE 
VEX_UI_TOGGLE 
VEX_UI_BUTTON 
VEX_UI_FILE 
VEX_UI_IMGFILE 
VEX_UI_GEOFILE 
VEX_UI_OPPATH 
VEX_UI_OPLIST 
VEX_UI_EMBED 
VEX_MAX_UI 

Definition at line 125 of file VEX_Types.h.

Function Documentation

VEX_TYPERESOLVE_CASE ( FLOAT  ,
float   
)
VEX_TYPERESOLVE_CASE ( INTEGER  ,
int   
)
VEX_TYPERESOLVE_CASE ( VECTOR2  ,
vec2   
)
VEX_TYPERESOLVE_CASE ( VECTOR  ,
vec3   
)
VEX_TYPERESOLVE_CASE ( VECTOR4  ,
vec4   
)
VEX_TYPERESOLVE_CASE ( MATRIX2  ,
mat2   
)
VEX_TYPERESOLVE_CASE ( MATRIX3  ,
mat3   
)
VEX_TYPERESOLVE_CASE ( MATRIX4  ,
mat4   
)
VEX_API FS_DiskCache& VEXcompileCache ( )
VEX_API const char* VEXgetBaseType ( VEX_BaseType  type)
VEX_API VEX_BaseType VEXgetBaseType ( VEX_Type  type)
VEX_API char VEXgetMangleType ( VEX_Type  type)
VEX_API VEX_Type VEXgetMangleType ( char  mangle)
VEX_API const char* VEXgetShortStorage ( VEX_Storage  type)
VEX_API const char* VEXgetStorage ( VEX_Storage  type)
VEX_API VEX_Storage VEXgetStorage ( const char *  label)
VEX_API const char* VEXgetType ( VEX_Type  type)
VEX_API VEX_Type VEXgetType ( const char *  label)
VEX_API VEX_Type VEXgetType ( const char *  label,
bool &  isarray 
)
VEX_API const char* VEXgetUIHint ( VEX_UIHint  type)
VEX_API VEX_UIHint VEXgetUIHint ( const char *  label)
VEX_API bool VEXisFloat ( VEX_Type  type)
VEX_API bool VEXisInt ( VEX_Type  type)
SYS_FORCE_INLINE constexpr bool VEXisPrecisioned ( VEX_Type  type)

Definition at line 200 of file VEX_Types.h.

VEX_API bool VEXisString ( VEX_Type  type)
VEX_API const char* VEXobjectFileVersion ( )
VEX_API int VEXtupleSize ( VEX_Type  type)
template<>
constexpr int VEXtupleSize< VEXfloat< VEX_32 > > ( )
inline

Definition at line 257 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXfloat< VEX_64 > > ( )
inline

Definition at line 258 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXint< VEX_32 > > ( )
inline

Definition at line 255 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXint< VEX_64 > > ( )
inline

Definition at line 256 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXmat2< VEX_32 > > ( )
inline

Definition at line 265 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXmat2< VEX_64 > > ( )
inline

Definition at line 266 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXmat3< VEX_32 > > ( )
inline

Definition at line 267 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXmat3< VEX_64 > > ( )
inline

Definition at line 268 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXmat4< VEX_32 > > ( )
inline

Definition at line 269 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXmat4< VEX_64 > > ( )
inline

Definition at line 270 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXvec2< VEX_32 > > ( )
inline

Definition at line 259 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXvec2< VEX_64 > > ( )
inline

Definition at line 260 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXvec3< VEX_32 > > ( )
inline

Definition at line 261 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXvec3< VEX_64 > > ( )
inline

Definition at line 262 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXvec4< VEX_32 > > ( )
inline

Definition at line 263 of file VEX_Types.h.

template<>
constexpr int VEXtupleSize< VEXvec4< VEX_64 > > ( )
inline

Definition at line 264 of file VEX_Types.h.