|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2013 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef FNRENDERERINFO_LIVERENDERFILTER_H 00004 #define FNRENDERERINFO_LIVERENDERFILTER_H 00005 00006 #include <FnAttribute/FnGroupBuilder.h> 00007 #include <FnAttribute/FnAttribute.h> 00008 #include <FnRendererInfo/FnRendererInfoAPI.h> 00009 00010 namespace Foundry 00011 { 00012 namespace Katana 00013 { 00014 namespace RendererInfo 00015 { 00020 enum SceneGraphTraversalMode 00021 { 00022 kSceneGraphTraversalMode_LocationOrigin, 00023 kSceneGraphTraversalMode_RecursiveFromSelection, 00024 kSceneGraphTraversalMode_SelectedLocations, 00025 kSceneGraphTraversalMode_SelectedLocationsRecursive 00026 }; 00027 00028 class FNRENDERERINFO_API LiveRenderFilter 00029 { 00030 public: 00031 LiveRenderFilter(); 00032 LiveRenderFilter(const std::string& name, 00033 const std::string& updateType, 00034 const std::string& sgLocationType, 00035 const std::string& sgLocationOrigin, 00036 SceneGraphTraversalMode sgTraversalMode); 00037 00038 virtual ~LiveRenderFilter() {}; 00039 00040 void buildAttribute(FnAttribute::GroupBuilder& builder, const std::string& prefix) const; 00041 void addAttribute(const std::string& attributeName); 00042 00043 protected: 00044 std::string _name; 00045 std::string _updateType; 00046 std::string _sceneGraphLocationType; 00047 std::string _sceneGraphLocationOrigin; 00048 SceneGraphTraversalMode _sceneGraphTraversalMode; 00049 std::vector<std::string> _attributes; 00050 }; 00051 00055 } 00056 } 00057 } 00058 00059 namespace FnKat = Foundry::Katana; 00060 00061 #endif
1.7.3