AWS SDK for C++

AWS SDK for C++ Version 1.11.832

Loading...
Searching...
No Matches
RouteMatrixBoundaryGeometry.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
9#include <aws/geo-routes/model/Circle.h>
10#include <aws/geo-routes/model/RouteMatrixAutoCircle.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace GeoRoutes {
22namespace Model {
23
30 public:
31 AWS_GEOROUTES_API RouteMatrixBoundaryGeometry() = default;
34 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
48 inline const RouteMatrixAutoCircle& GetAutoCircle() const { return m_autoCircle; }
49 inline bool AutoCircleHasBeenSet() const { return m_autoCircleHasBeenSet; }
50 template <typename AutoCircleT = RouteMatrixAutoCircle>
51 void SetAutoCircle(AutoCircleT&& value) {
52 m_autoCircleHasBeenSet = true;
53 m_autoCircle = std::forward<AutoCircleT>(value);
54 }
55 template <typename AutoCircleT = RouteMatrixAutoCircle>
57 SetAutoCircle(std::forward<AutoCircleT>(value));
58 return *this;
59 }
61
63
71 inline const Circle& GetCircle() const { return m_circle; }
72 inline bool CircleHasBeenSet() const { return m_circleHasBeenSet; }
73 template <typename CircleT = Circle>
74 void SetCircle(CircleT&& value) {
75 m_circleHasBeenSet = true;
76 m_circle = std::forward<CircleT>(value);
77 }
78 template <typename CircleT = Circle>
80 SetCircle(std::forward<CircleT>(value));
81 return *this;
82 }
84
86
93 inline const Aws::Vector<double>& GetBoundingBox() const { return m_boundingBox; }
94 inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; }
95 template <typename BoundingBoxT = Aws::Vector<double>>
96 void SetBoundingBox(BoundingBoxT&& value) {
97 m_boundingBoxHasBeenSet = true;
98 m_boundingBox = std::forward<BoundingBoxT>(value);
99 }
100 template <typename BoundingBoxT = Aws::Vector<double>>
102 SetBoundingBox(std::forward<BoundingBoxT>(value));
103 return *this;
104 }
106 m_boundingBoxHasBeenSet = true;
107 m_boundingBox.push_back(value);
108 return *this;
109 }
111
113
123 inline const Aws::Vector<Aws::Vector<Aws::Vector<double>>>& GetPolygon() const { return m_polygon; }
124 inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; }
125 template <typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
126 void SetPolygon(PolygonT&& value) {
127 m_polygonHasBeenSet = true;
128 m_polygon = std::forward<PolygonT>(value);
129 }
130 template <typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
132 SetPolygon(std::forward<PolygonT>(value));
133 return *this;
134 }
135 template <typename PolygonT = Aws::Vector<Aws::Vector<double>>>
137 m_polygonHasBeenSet = true;
138 m_polygon.emplace_back(std::forward<PolygonT>(value));
139 return *this;
140 }
142 private:
143 RouteMatrixAutoCircle m_autoCircle;
144
145 Circle m_circle;
146
147 Aws::Vector<double> m_boundingBox;
148
150 bool m_autoCircleHasBeenSet = false;
151 bool m_circleHasBeenSet = false;
152 bool m_boundingBoxHasBeenSet = false;
153 bool m_polygonHasBeenSet = false;
154};
155
156} // namespace Model
157} // namespace GeoRoutes
158} // namespace Aws
AWS_GEOROUTES_API RouteMatrixBoundaryGeometry & operator=(Aws::Utils::Json::JsonView jsonValue)
RouteMatrixBoundaryGeometry & WithCircle(CircleT &&value)
RouteMatrixBoundaryGeometry & WithBoundingBox(BoundingBoxT &&value)
RouteMatrixBoundaryGeometry & AddBoundingBox(double value)
RouteMatrixBoundaryGeometry & WithAutoCircle(AutoCircleT &&value)
AWS_GEOROUTES_API RouteMatrixBoundaryGeometry(Aws::Utils::Json::JsonView jsonValue)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
RouteMatrixBoundaryGeometry & AddPolygon(PolygonT &&value)
RouteMatrixBoundaryGeometry & WithPolygon(PolygonT &&value)
const Aws::Vector< Aws::Vector< Aws::Vector< double > > > & GetPolygon() const
AWS_GEOROUTES_API RouteMatrixBoundaryGeometry()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue