Katana Plug-in APIs 0.1

TemplateRenderPlugin.h

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