All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SceneModelNodeVisitors.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Rendering.h"
6 
7 namespace Eegeo
8 {
9  namespace Rendering
10  {
11  namespace SceneModels
12  {
14  {
15  public:
16 
17  virtual ~ISceneModelNodeRenderVisitor() {}
18 
19  virtual void EnqueueForRendering(SceneModelNode& sceneModelNode, const Rendering::RenderContext& renderContext, RenderQueue& renderQueue) = 0;
20  virtual void EnqueueForRendering(SceneModelRenderableNode& sceneModelNode, const Rendering::RenderContext& renderContext, RenderQueue& renderQueue) = 0;
21 
22  };
23 
25  {
26  public:
27  virtual ~ISceneModelNodeRenderElement() {}
28 
29  virtual void VisitForRendering(ISceneModelNodeRenderVisitor& visitor, const Rendering::RenderContext& renderContext, RenderQueue& renderQueue) = 0;
30  };
31  }
32  }
33 }