8 #include "InteriorsMaterials.h"
10 #include "VectorMath.h"
11 #include "InteriorRenderableSet.h"
13 #include "InteriorsFloorCellFeature.h"
28 static const std::string DefaultTag;
29 static const std::string DefaultDetailTag;
31 typedef std::map<std::string, InteriorRenderableSet*> TagToRenderableSetType;
35 TagToRenderableSetType* pTagToRenderableSet,
36 const std::vector<Rendering::Renderables::InteriorHighlightRenderable*>& interiorHighlightRenderables,
37 const std::vector<Entities::InteriorsEntityModel*>& entityModels,
38 const std::vector<Entities::InteriorsEntityGeometryView*>& entityGeometryViews,
41 const int floorNumber,
50 const std::string& GetInteriorId()
const {
return m_interiorName; }
52 const dv3& GetCellOrigin()
const {
return m_cellCentreEcef; }
54 bool ContainsRenderableSetForTag(
const std::string& tag)
const;
58 bool TryActivateTag(
const std::string& tag)
const;
60 bool TryDeactivateTag(
const std::string& tag)
const;
62 bool TryGetTagIsActive(
const std::string& tag,
bool &isActive)
const;
64 std::vector<Rendering::Renderables::InteriorFloorRenderable*> GetActiveFloorFeatureRenderables()
const;
66 std::vector<InteriorsStencilMirrorClearRenderable*> GetActiveStencilMirrorClearRenderables()
const;
68 std::vector<Rendering::Renderables::InstancedInteriorFloorRenderable*> GetActiveInstancedRenderables()
const;
70 std::vector<Rendering::Renderables::InstancedInteriorFloorRenderable*> GetInstancedRenderables()
const;
72 std::vector<Rendering::Renderables::InteriorHighlightRenderable*> GetHighlightRenderables()
const;
74 const std::vector<Entities::InteriorsEntityModel*>& GetEntityModels()
const {
return m_entityModels; }
76 std::vector<Entities::InteriorsEntityGeometryView*> GetGeometryViews()
const {
return m_entityGeometryViews; }
78 int GetFloorNumber()
const {
return m_floorNumber; }
88 void UpdateFloorRenderables(
const v4& defaultColor,
const v4& detailColor,
float saturation,
const m44& modelTransform,
const m44& normalTransform)
const;
90 void UpdateEntityRenderables(
const v4& color,
float saturation,
const m44& modelTransform,
const m44& normalTransform)
const;
92 void UpdateHighlightRenderables(
const v4& floorColor,
const m44& modelTransform,
const m44& normalTransform)
const;
96 std::string m_interiorName;
98 const dv3 m_cellCentreEcef;
99 const std::vector<Entities::InteriorsEntityModel*> m_entityModels;
100 const std::vector<Entities::InteriorsEntityGeometryView*> m_entityGeometryViews;
101 TagToRenderableSetType* m_pTagToRenderableSet;
102 std::vector<Rendering::Renderables::InteriorHighlightRenderable*> m_interiorHighlightRenderables;
105 const int m_floorNumber;