Katana Plug-in APIs 0.1

LiveRenderFilter.h

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