Katana Plug-in APIs 0.1

ShadingNodeDescriptionMap.h

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