All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MarkerBuilder.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Markers.h"
6 #include "MarkerCreateParams.h"
7 
8 namespace Eegeo
9 {
10  namespace Markers
11  {
13  {
14  public:
15  MarkerBuilder();
16 
17  MarkerBuilder& SetLabelStyle(const std::string& labelStyleName);
18 
19  MarkerBuilder& SetEntityName(const std::string& entityName);
20 
21  MarkerBuilder& SetLabelText(const std::string& labelTextUtf8);
22 
23  MarkerBuilder& SetLabelIcon(const std::string& iconKey);
24 
25  MarkerBuilder& SetLocation(double latitudeDegrees, double longitudeDegrees);
26 
27  MarkerBuilder& SetElevationMode(Positioning::ElevationMode::Type elevationMode);
28 
29  MarkerBuilder& SetElevation(double elevationMetres);
30 
31  MarkerBuilder& SetLabelVerticalOffset(float labelVerticalOffset);
32 
33  MarkerBuilder& SetInterior(const std::string& interiorId, int interiorFloorNumber);
34 
35  MarkerBuilder& SetInteriorWithFloorIndex(const std::string& interiorId, int interiorFloorIndex);
36 
37  MarkerBuilder& SetSubPriority(int subPriority);
38 
39  MarkerCreateParams Build();
40 
41  private:
42  std::string m_entityName;
43  std::string m_labelTextUtf8;
44  std::string m_iconKey;
45  double m_latitudeDegrees;
46  double m_longitudeDegrees;
47  double m_elevation;
48  Positioning::ElevationMode::Type m_elevationMode;
49  float m_labelVerticalOffset;
50  std::string m_interiorId;
51  int m_interiorFloorNumber;
52  int m_interiorFloorIndex;
53  bool m_usingFloorIndex;
54  std::string m_labelStyleName;
55  int m_subPriority;
56  };
57 
58 
59  }
60 }