|
Katana Plug-in APIs 0.1
|
00001 #ifndef FnArbitraryOutputAttrSuite_H 00002 #define FnArbitraryOutputAttrSuite_H 00003 00004 #include <FnAttribute/suite/FnAttributeSuite.h> 00005 00006 #include <stdint.h> 00007 00008 extern "C" { 00009 00010 typedef struct ArbitraryOutputAttrStruct* 00011 FnArbitraryOutputAttrHandle; 00012 00013 #define FnArbitraryOutputAttrHostSuite_version 1 00014 00015 struct FnArbitraryOutputAttrHostSuite_v1 00016 { 00017 FnArbitraryOutputAttrHandle (*createArbitraryOutputAttr)( 00018 const char *arbitraryOutputName, 00019 FnAttributeHandle arbitraryOutputAttr, 00020 const char *geometryType, 00021 FnAttributeHandle geometryAttr); 00022 00023 void (*destroyArbitraryOutputAttr)( 00024 FnArbitraryOutputAttrHandle handle); 00025 00026 const char * (*getNameAOA)( 00027 FnArbitraryOutputAttrHandle handle); 00028 00029 const char * (*getScopeAOA)( 00030 FnArbitraryOutputAttrHandle handle); 00031 00032 const char * (*getInputBaseTypeAOA)( 00033 FnArbitraryOutputAttrHandle handle); 00034 00035 int32_t (*getElementSizeAOA)( 00036 FnArbitraryOutputAttrHandle handle); 00037 00038 const char * (*getInputTypeAOA)( 00039 FnArbitraryOutputAttrHandle handle); 00040 00041 const char * (*getOutputTypeAOA)( 00042 FnArbitraryOutputAttrHandle handle); 00043 00044 const char * (*getInterpolationTypeAOA)( 00045 FnArbitraryOutputAttrHandle handle); 00046 00047 uint8_t (*hasIndexedValueAttrAOA)( 00048 FnArbitraryOutputAttrHandle handle); 00049 00050 FnAttributeHandle (*getIndexAttrAOA)( 00051 FnArbitraryOutputAttrHandle handle, 00052 uint8_t validateIndices); 00053 00054 FnAttributeHandle (*getIndexedValueAttrAOA)( 00055 FnArbitraryOutputAttrHandle handle, 00056 const char *baseOutputType); 00057 00058 FnAttributeHandle (*getValueAttrAOA)( 00059 FnArbitraryOutputAttrHandle handle, 00060 const char *baseOutputType); 00061 00062 uint8_t (*isValidAOA)( 00063 FnArbitraryOutputAttrHandle handle); 00064 00065 const char * (*getErrorAOA)( 00066 FnArbitraryOutputAttrHandle handle); 00067 00068 uint8_t (*isArrayAOA)( 00069 FnArbitraryOutputAttrHandle handle); 00070 }; 00071 00072 } 00073 00074 00075 #endif
1.7.3