All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorsFloorCells.h
1 // Copyright eeGeo Ltd (2012-2015), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Interiors.h"
7 #include "Streaming.h"
8 
9 #include <vector>
10 
11 namespace Eegeo
12 {
13  namespace Resources
14  {
15  namespace Interiors
16  {
18  {
19  public:
20  typedef std::vector<const InteriorsFloorCell*> InteriorsFloorCellVector;
21 
22  InteriorsFloorCells(int floorNumber);
23 
24  void AddCell(const InteriorsFloorCell* pCell);
25  void RemoveCell(const InteriorsFloorCell* pCell);
26 
27  const InteriorsFloorCellVector& GetFloorCells() const { return m_floorCells; }
28 
29  const int GetFloorNumber() const { return m_floorNumber; }
30  const size_t GetCellCount() const { return m_floorCells.size(); }
31 
32  private:
33  bool HasCellForKey(const Streaming::MortonKey& mortonKey) const;
34 
35  const int m_floorNumber;
36  InteriorsFloorCellVector m_floorCells;
37  };
38  }
39  }
40 }