All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorRenderableSetBuilder.h
1 #pragma once
2 
3 #include "Interiors.h"
4 #include "Rendering.h"
5 #include "VectorMathDecl.h"
6 #include <string>
7 #include <vector>
8 
9 namespace Eegeo
10 {
11  namespace Resources
12  {
13  namespace Interiors
14  {
15  namespace Builder
16  {
18  {
19  public:
20 
22  InteriorRenderableSet& renderableSet,
23  const std::string& interiorIdentifier,
24  const float interiorTerrainHeight,
25  IInteriorRenderableFactory& renderableFactory);
26 
27  Rendering::Renderables::InteriorFloorRenderable* AddInteriorFloorRenderableAndDependenciesToSet(InteriorRenderableCreationData* pCreationData);
28 
29  Rendering::Renderables::InstancedInteriorFloorRenderable* AddInstancedRenderableAndDependenciesToSet(
30  bool ownsMesh,
31  const int floorIndex,
32  const std::vector<m44>& transformsForTag,
33  InteriorRenderableCreationData* pCreationData);
34 
35  InteriorRenderableSet& GetInteriorRenderableSet();
36 
37  private:
38 
39  InteriorRenderableSet& m_renderableSet;
40  std::string m_interiorIdentifier;
41  const float m_interiorTerrainHeight;
42  IInteriorRenderableFactory& m_renderableFactory;
43  };
44  }
45  }
46  }
47 }
48