|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2013 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef COMPANYNAMEKATANA_TEMPLATERENDERERINFOPLUGIN_H 00004 #define COMPANYNAMEKATANA_TEMPLATERENDERERINFOPLUGIN_H 00005 00006 #include "FnRender/plugin/RenderBase.h" 00007 00008 00009 namespace CompanyName 00010 { 00011 namespace Katana 00012 { 00020 class TemplateRenderPlugin : public FnKat::Render::RenderBase 00021 { 00022 public: 00023 00024 TemplateRenderPlugin(FnKat::FnScenegraphIterator rootIterator, 00025 FnKat::GroupAttribute arguments); 00026 ~TemplateRenderPlugin(); 00027 00028 // Render Control 00029 00030 int start(); 00031 00032 int pause(); 00033 00034 int resume(); 00035 00036 int stop(); 00037 00038 // Interactive live updates 00039 00040 int startLiveEditing(); 00041 00042 int stopLiveEditing(); 00043 00044 int processControlCommand(const std::string& command); 00045 00046 int queueDataUpdates(FnKat::GroupAttribute updateAttribute); 00047 00048 int applyPendingDataUpdates(); 00049 00050 bool hasPendingDataUpdates() const; 00051 00052 // Disk Render 00053 00054 void configureDiskRenderOutputProcess(FnKat::Render::DiskRenderOutputProcess& diskRenderOutputProcess, 00055 const std::string& outputName, 00056 const std::string& outputPath, 00057 const std::string& renderMethodName, 00058 const float& frameTime) const; 00059 00060 // Plugin Interface 00061 00062 static Foundry::Katana::Render::RenderBase* create(FnKat::FnScenegraphIterator rootIterator, FnKat::GroupAttribute args) 00063 { 00064 return new TemplateRenderPlugin(rootIterator, args); 00065 } 00066 00067 static void flush() 00068 { 00069 00070 } 00071 }; 00072 00076 } 00077 } 00078 00079 #endif
1.7.3