6 #include "InteriorRenderable.h"
10 #include "VectorMath.h"
11 #include "InteriorsStencilMirrorType.h"
12 #include "SingleSphere.h"
13 #include "InstancedRenderState.h"
39 const std::string& renderableId,
41 const float interiorTerrainHeight,
43 const std::vector<m44>& instanceTransforms,
44 const std::string& interiorIdentifier);
54 bool IsHighlighted(
int instanceIndex)
const;
56 v4 GetHighlightColor(
int instanceIndex)
const;
58 int GetInstanceCount()
const;
60 const m44& GetInstanceTransformAtIndex(
int index)
const;
62 virtual void SetInstanceTransformAtIndex(
int index,
const m44& transform);
64 virtual void AddInstanceTransform(
const m44& transform);
66 virtual void RemoveInstanceTransformAtIndex(
int index);
70 virtual void UpdateIndexColor(
int index,
const v4& color);
74 const bool IsInstanceVisible(
int index)
const {
return m_visibleInstances.at(index); }
78 void UpdateCullingBounds();
81 std::vector<m44> m_instanceTransforms;
86 std::vector<Eegeo::Geometry::SingleSphere> m_instanceBounds;
87 std::vector<bool> m_visibleInstances;
89 bool m_isCullingBoundsDirty;