Katana Plug-in APIs 0.1

FnArbitraryOutputAttrSuite.h

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
 All Classes Functions Variables Typedefs Enumerations Enumerator