|
Katana Plug-in APIs 0.1
|
00001 #ifndef FnGeolibServicesMaterialResolveUtil_H 00002 #define FnGeolibServicesMaterialResolveUtil_H 00003 #include <FnAttribute/FnAttribute.h> 00004 00005 #include <FnGeolibServices/FnGeolibServicesAPI.h> 00006 #include <FnGeolibServices/ns.h> 00007 #include <FnGeolibServices/suite/FnMaterialResolveUtilSuite.h> 00008 00009 #include <FnPluginSystem/FnPluginSystem.h> 00010 00011 FNGEOLIBSERVICES_NAMESPACE_ENTER 00012 { 00017 class FNGEOLIBSERVICES_API FnMaterialResolveUtil 00018 { 00019 public: 00020 00021 static FnAttribute::GroupAttribute resolveMaterialReferences( 00022 const FnAttribute::GroupAttribute & inputMaterial, 00023 bool processHints); 00024 00025 static FnAttribute::GroupAttribute extractMaterialReferences( 00026 const FnAttribute::GroupAttribute & inputMaterial, 00027 bool processHints); 00028 00029 static FnAttribute::GroupAttribute resolveDeferredNetworkOps( 00030 const FnAttribute::GroupAttribute & inputMaterial); 00031 00032 static FnAttribute::GroupAttribute resolveMaterialLayers( 00033 const FnAttribute::GroupAttribute & inputMaterial, 00034 bool processHints); 00035 00036 00037 static FnAttribute::StringAttribute getLayerPrefixesFromMaterial( 00038 const FnAttribute::GroupAttribute & inputMaterial); 00039 00040 static FnAttribute::GroupAttribute combineLayeredMaterialOverrides( 00041 const FnAttribute::GroupAttribute & inputMaterial, 00042 const FnAttribute::GroupAttribute & overridesAttr, 00043 const FnAttribute::GroupAttribute & layeredOverridesAttr); 00044 00045 00046 private: 00047 FnMaterialResolveUtil(); 00048 00049 static const FnMaterialResolveUtilHostSuite_v1 * _getSuite(); 00050 }; 00052 } 00053 FNGEOLIBSERVICES_NAMESPACE_EXIT 00054 00055 #endif // FnGeolibServicesMaterialResolveUtil_H
1.7.3