All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MaterialSelectionModel.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Collision.h"
7 #include "CollisionVisualization.h"
8 
9 #include <string>
10 #include <map>
11 #include <vector>
12 
13 namespace Eegeo
14 {
15  namespace CollisionVisualization
16  {
18  {
19  public:
21 
22  MaterialSelectionModelEntry* Add(const std::string& materialPrefix);
23  void Remove(const std::string& materialPrefix);
24  void RemoveAll();
25  bool Contains(const std::string& materialPrefix) const;
26 
27  MaterialSelectionModelEntry* GetModelEntryOrNull(const std::string& materialPrefix) const;
28  std::vector<MaterialSelectionModelEntry*> GetAllModelEntries() const;
29  private:
30  typedef std::map<std::string, MaterialSelectionModelEntry*> MaterialPrefixToModelEntry;
31 
32  MaterialPrefixToModelEntry m_materialPrefixToModelEntry;
33  };
34  }
35 }