|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2012 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef FNRENDER_DISKRENDEROUTPUTPROCESS_H 00004 #define FNRENDER_DISKRENDEROUTPUTPROCESS_H 00005 00006 #include "FnRender/plugin/RenderAction.h" 00007 #include "FnRender/plugin/NoOutputRenderAction.h" 00008 #include "FnRender/plugin/TemporaryRenderAction.h" 00009 #include "FnRender/plugin/CopyRenderAction.h" 00010 #include "FnRender/plugin/CopyAndConvertRenderAction.h" 00011 #include "FnRender/plugin/PostCommandsRenderAction.h" 00012 00013 #include "FnAttribute/FnGroupBuilder.h" 00014 #include "FnAttribute/FnAttribute.h" 00015 #include "FnRender/FnRenderAPI.h" 00016 #include <FnPlatform/internal/UniquePtr.h> 00017 00018 #include <map> 00019 #include <memory> 00020 00021 namespace Foundry 00022 { 00023 namespace Katana 00024 { 00025 namespace Render 00026 { 00035 class FNRENDER_API DiskRenderOutputProcess 00036 { 00037 public: 00038 typedef FnPlatform::internal::UniquePtr<RenderAction> UniquePtr; 00039 typedef UniquePtr::type RenderActionPtr; 00040 00041 DiskRenderOutputProcess(); 00042 virtual ~DiskRenderOutputProcess() {} 00043 00053 void setRenderAction(RenderActionPtr renderAction); 00054 00060 void addPreCommand(const std::string & command); 00061 00070 void addPostCommand(const std::string & command); 00071 00072 FnAttribute::GroupAttribute buildRenderOutputAttribute() const; 00073 00074 private: 00075 RenderActionPtr _renderAction; 00076 std::vector<std::string> _preCommands; 00077 std::vector<std::string> _postCommands; 00078 }; 00079 00083 } 00084 } 00085 } 00086 00087 namespace FnKat = Foundry::Katana; 00088 00089 #endif
1.7.3