|
Katana Plug-in APIs 0.1
|
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
1.7.3