|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2013 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef FNRENDEROUTPUTUTILS_SHADINGNODEDESCRIPTIONMAP_H 00004 #define FNRENDEROUTPUTUTILS_SHADINGNODEDESCRIPTIONMAP_H 00005 00006 #include <iostream> 00007 00008 #include "FnAttribute/FnAttribute.h" 00009 #include "FnScenegraphIterator/FnScenegraphIterator.h" 00010 00011 #include "FnRenderOutputUtils/FnRenderOutputUtilsAPI.h" 00012 #include "FnRenderOutputUtils/ns.h" 00013 #include "FnRenderOutputUtils/suite/FnRenderOutputUtilsSuite.h" 00014 00015 FNRENDEROUTPUTUTILS_NAMESPACE_ENTER 00016 { 00017 namespace RenderOutputUtils 00018 { 00019 // Forward declaration 00020 class ShadingNodeDescription; 00021 00028 class FNRENDEROUTPUTUTILS_API ShadingNodeDescriptionMap 00029 { 00030 public: 00034 ShadingNodeDescriptionMap(FnAttribute::GroupAttribute materialAttr); 00035 00039 ShadingNodeDescriptionMap(FnScenegraphIterator sgIterator); 00040 00041 ~ShadingNodeDescriptionMap(); 00042 00046 bool isValid() const {return _handle != 0x0;} 00047 00051 ShadingNodeDescription getShadingNodeDescriptionByName(const std::string &name) const; 00052 00053 private: 00054 FnShadingNodeDescriptionMapHandle _handle; 00055 00056 // no copy/assign 00057 ShadingNodeDescriptionMap(const ShadingNodeDescriptionMap& rhs); 00058 ShadingNodeDescriptionMap& operator=(const ShadingNodeDescriptionMap& rhs); 00059 }; 00064 } // namespace RenderOutputUtils 00065 } 00066 FNRENDEROUTPUTUTILS_NAMESPACE_EXIT 00067 00068 #endif
1.7.3