All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorMarkerLabelBuilder.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Interiors.h"
6 #include "Labels.h"
7 #include "Types.h"
8 #include "IAnchoredLabelSource.h"
9 #include "ICallback.h"
10 #include "CallbackCollection.h"
11 #include "VectorMath.h"
12 
13 #include <vector>
14 
15 namespace Eegeo
16 {
17  namespace Resources
18  {
19  namespace Interiors
20  {
21  namespace Markers
22  {
24  {
25  public:
26  virtual ~IInteriorMarkerLabelBuilder() {;}
27 
28  virtual Labels::LabelModel* Create(const InteriorMarkerModel& interiorMarkerModel) = 0;
29  };
30 
31 
33  {
34  public:
36  const Labels::LabelAnchorCategory& indoorMarkerLabelAnchorCategory,
37  const v3& labelAnchorOffset,
38  const std::string& indoorMarkerIconKey
39  );
40 
42 
43  Labels::LabelModel* Create(const InteriorMarkerModel& interiorMarkerModel);
44 
45  private:
46  Labels::ILabelModelFactory& m_labelModelFactory;
47  const Labels::LabelAnchorCategory& m_indoorMarkerLabelAnchorCategory;
48  const v3 m_labelAnchorOffset;
49  const std::string m_indoorMarkerIconKey;
50  };
51  }
52  }
53  }
54 }