Katana Plug-in APIs 0.1

ProfilingMockRendererInfoPlugin.h

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