All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
BuildingHighlightViewFactory.h
1 #pragma once
2 
3 #include "BuildingHighlights.h"
4 #include "IBuildingHighlightViewFactory.h"
5 #include "Types.h"
6 #include "BuildingFootprints.h"
7 #include "CollisionVisualization.h"
8 #include "Collision.h"
9 
10 #include <vector>
11 
12 namespace Eegeo
13 {
14  namespace BuildingHighlights
15  {
17  {
18  public:
20  BuildingFootprints::BuildingFootprintSelectionRenderableFactory& buildingFootprintSelectionRenderableFactory,
21  CollisionVisualization::CollisionVisualizationRenderableFactory& collisionVisualizationRenderableFactory,
22  const Collision::ILandmarkCollisionMeshService& landmarkCollisionMeshService
23  );
24 
25  IBuildingHighlightView* CreateView(const BuildingHighlightModel& model) override;
26  private:
28  std::vector<RenderableType*> CreateRenderables(const BuildingHighlightModel& model) const;
29 
30  BuildingFootprints::BuildingFootprintSelectionRenderableFactory& m_buildingFootprintSelectionRenderableFactory;
31  CollisionVisualization::CollisionVisualizationRenderableFactory& m_collisionVisualizationRenderableFactory;
32  const Collision::ILandmarkCollisionMeshService& m_landmarkCollisionMeshService;
33  };
34  }
35 }