|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2013 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef FnLookFileSuite_H 00004 #define FnLookFileSuite_H 00005 00006 #include <stdint.h> 00007 00008 #include <FnAttribute/suite/FnAttributeSuite.h> 00009 00010 extern "C" { 00011 00012 typedef struct FnLookFileStruct * FnLookFileHandle; 00013 typedef struct FnLookFileAttrMapStruct * FnLookFileAttrMapHandle; 00014 00015 #define FnLookFileHostSuite_version 2 00016 00019 struct FnLookFileHostSuite_v1 00020 { 00021 FnLookFileHandle (*getLookFile)(const char *filePath, const char *passName); 00022 void (*releaseLookFile)(FnLookFileHandle h); 00023 00024 FnLookFileAttrMapHandle (*getLookFileMaterials)(FnLookFileHandle h); 00025 FnAttributeHandle (*getLookFileMaterialType)(FnLookFileHandle h, 00026 const char *materialLocationPath); 00027 FnAttributeHandle (*getLookFileMaterial)(FnLookFileHandle h, 00028 const char *locationPath, uint8_t global); 00029 00030 FnAttributeHandle (*getLookFileRootIdNames)(FnLookFileHandle h); 00031 FnAttributeHandle (*getLookFileRootIdType)(FnLookFileHandle h, 00032 const char *rootId); 00033 FnAttributeHandle (*getLookFilePathsWithOverrides)(FnLookFileHandle h, 00034 const char *rootId); 00035 FnLookFileAttrMapHandle (*getLookFileAttrs)(FnLookFileHandle h, 00036 const char * locationPath, const char *rootId); 00037 FnLookFileAttrMapHandle (*getLookFileRootOverrides)(FnLookFileHandle h); 00038 00039 FnAttributeHandle (*getAttrMapValue)(FnLookFileAttrMapHandle h, 00040 const char *key); 00041 FnAttributeHandle (*getAttrMapKeys)(FnLookFileAttrMapHandle h); 00042 void (*releaseLookFileAttrMap)(FnLookFileAttrMapHandle h); 00043 void (*flushCache)(); 00044 }; 00045 00046 struct FnLookFileHostSuite_v2 00047 { 00048 FnLookFileHandle (*getLookFile)(const char *filePath, const char *passName); 00049 void (*releaseLookFile)(FnLookFileHandle h); 00050 00051 FnLookFileAttrMapHandle (*getLookFileMaterials)(FnLookFileHandle h); 00052 FnAttributeHandle (*getLookFileMaterialType)(FnLookFileHandle h, 00053 const char *materialLocationPath); 00054 FnAttributeHandle (*getLookFileMaterial)(FnLookFileHandle h, 00055 const char *locationPath, uint8_t global); 00056 00057 FnAttributeHandle (*getLookFileRootIdNames)(FnLookFileHandle h); 00058 FnAttributeHandle (*getLookFileRootIdType)(FnLookFileHandle h, 00059 const char *rootId); 00060 FnAttributeHandle (*getLookFilePathsWithOverrides)(FnLookFileHandle h, 00061 const char *rootId); 00062 FnLookFileAttrMapHandle (*getLookFileAttrs)(FnLookFileHandle h, 00063 const char * locationPath, const char *rootId); 00064 FnLookFileAttrMapHandle (*getLookFileRootOverrides)(FnLookFileHandle h); 00065 00066 FnAttributeHandle (*getAttrMapValue)(FnLookFileAttrMapHandle h, 00067 const char *key); 00068 FnAttributeHandle (*getAttrMapKeys)(FnLookFileAttrMapHandle h); 00069 void (*releaseLookFileAttrMap)(FnLookFileAttrMapHandle h); 00070 00071 FnAttributeHandle (*getPassNamesForLookFileAsset)(const char *asset); 00072 FnAttributeHandle (*getSafePath)(const char *asset, uint8_t includeVersion); 00073 00074 void (*flushCache)(); 00075 }; 00076 00077 } 00078 #endif // FnLookFileSuite_H
1.7.3