All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PolylineShapeBuilder.h
1 #pragma once
2 
3 #include "PolylineShapes.h"
4 #include "ShapeCreateParamsBuilderBase.h"
5 #include "PolylineShapeCreateParams.h"
6 
7 #include <vector>
8 
9 namespace Eegeo
10 {
11  namespace Shapes
12  {
13  namespace Polylines
14  {
15 
16  class PolylineShapeBuilder : public TShapeCreateParamsBuilderBase<PolylineShapeBuilder, PolylineShapeCreateParams>
17  {
18  public:
20 
21  PolylineShapeBuilder& SetCoordinates(const std::vector<Space::LatLong>& coordinates);
22  PolylineShapeBuilder& SetPerPointElevations(const std::vector<double>& perPointElevations);
23  PolylineShapeBuilder& SetFillColor(const v4& fillColor);
24  PolylineShapeBuilder& SetThickness(float thickness);
25  PolylineShapeBuilder& SetMiterLimit(float miterLimit);
26  PolylineShapeBuilder& SetShouldScaleWithMap(bool shouldScaleWithMap);
28 
29  private:
30  std::vector<Space::LatLong> m_coordinates;
31  std::vector<double> m_perPointElevations;
32  v4 m_fillColor;
33  float m_thickness;
34  float m_miterLimit;
35  bool m_shouldScaleWithMap;
36  };
37  }
38  }
39 }