|
Katana Plug-in APIs 0.1
|
00001 // Copyright (c) 2018 The Foundry Visionmongers Ltd. All Rights Reserved. 00002 00003 #ifndef KATANA_PLUGINS_PROFILINGMOCKRENDERER_PROFILINGMOCKRENDERERINFOPLUGIN_H_ 00004 #define KATANA_PLUGINS_PROFILINGMOCKRENDERER_PROFILINGMOCKRENDERERINFOPLUGIN_H_ 00005 00006 #include <string> 00007 #include <vector> 00008 00009 #include <FnAttribute/FnAttribute.h> 00010 #include <FnRendererInfo/plugin/RendererInfoBase.h> 00011 00012 namespace ProfilingMockRenderer 00013 { 00028 class RendererInfoPlugin : public FnKat::RendererInfo::RendererInfoBase 00029 { 00030 public: 00032 RendererInfoPlugin(); 00033 00035 ~RendererInfoPlugin() override; 00036 00043 static FnKat::RendererInfo::RendererInfoBase* create(); 00044 00045 static void flush() {} 00046 00047 /* RendererInfoBase Methods */ 00048 00055 void configureBatchRenderMethod(FnKat::RendererInfo::DiskRenderMethod& 00056 batchRenderMethod) const override; 00057 00067 void fillRenderMethods(std::vector<FnKat::RendererInfo::RenderMethod*>& 00068 renderMethods) const override; 00069 00074 void fillRendererObjectTypes(std::vector<std::string>& renderObjectTypes, 00075 const std::string& type) const override; 00076 00081 void fillRendererObjectNames( 00082 std::vector<std::string>& rendererObjectNames, 00083 const std::string& type, 00084 const std::vector<std::string>& typeTags) const override; 00085 00090 std::string getRegisteredRendererName() const override; 00091 00096 std::string getRegisteredRendererVersion() const override; 00097 00102 bool buildRendererObjectInfo( 00103 FnAttribute::GroupBuilder& rendererObjectInfo, 00104 const std::string& name, 00105 const std::string& type, 00106 const FnAttribute::GroupAttribute inputAttr) const override; 00107 }; 00108 00111 } // namespace ProfilingMockRenderer 00112 00113 #endif // KATANA_PLUGINS_PROFILINGMOCKRENDERER_PROFILINGMOCKRENDERERINFOPLUGIN_H_
1.7.3