Katana Plug-in APIs 0.1

ShadingNodeDescription.h

00001 // Copyright (c) 2013 The Foundry Visionmongers Ltd. All Rights Reserved.
00002 
00003 #ifndef FNRENDEROUTPUTUTILS_SHADINGNODEDESCRIPTION_H
00004 #define FNRENDEROUTPUTUTILS_SHADINGNODEDESCRIPTION_H
00005 #include <iostream>
00006 #include <vector>
00007 
00008 #include "FnAttribute/FnAttribute.h"
00009 
00010 #include "FnRenderOutputUtils/FnRenderOutputUtilsAPI.h"
00011 #include "FnRenderOutputUtils/ns.h"
00012 #include "FnRenderOutputUtils/suite/FnRenderOutputUtilsSuite.h"
00013 
00014 FNRENDEROUTPUTUTILS_NAMESPACE_ENTER
00015 {
00016 namespace RenderOutputUtils
00017 {
00018 
00019     // Forward declaration
00020     class ShadingNodeConnectionDescription;
00021 
00028     class FNRENDEROUTPUTUTILS_API ShadingNodeDescription
00029     {
00030     public:
00031 
00032         ShadingNodeDescription(ShadingNodeDescriptionHandle handle);
00033         ~ShadingNodeDescription();
00034 
00035         ShadingNodeDescription(const ShadingNodeDescription& rhs);
00036         ShadingNodeDescription& operator=(const ShadingNodeDescription& rhs);
00037 
00041         bool isValid() const {return _handle != 0x0;}
00042 
00046         std::string getName() const;
00047 
00051         std::string getType() const;
00052 
00056         unsigned int getNumberOfParameterNames() const;
00057 
00061         std::string getParameterName(unsigned int index) const;
00062 
00066         FnAttribute::Attribute getParameter(const std::string &name) const;
00067 
00071         unsigned int getNumberOfConnectionNames() const;
00072 
00076         std::string getConnectionName(unsigned int index) const;
00077 
00081         ShadingNodeConnectionDescription getConnection(const std::string &name) const;
00082 
00083     protected:
00084         void acceptHandle(const ShadingNodeDescription &rhs);
00085 
00086     private:
00087         ShadingNodeDescriptionHandle _handle;
00088     };
00093 }  // namespace RenderOutputUtils
00094 }
00095 FNRENDEROUTPUTUTILS_NAMESPACE_EXIT
00096 
00097 #endif //RenderOutputUtilsShadingNodeDescription_H
 All Classes Functions Variables Typedefs Enumerations Enumerator