AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
RouteAvoidanceAreaGeometry.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
10#include <aws/geo-routes/model/Corridor.h>
11#include <aws/geo-routes/model/PolylineCorridor.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace GeoRoutes {
23namespace Model {
24
31 public:
32 AWS_GEOROUTES_API RouteAvoidanceAreaGeometry() = default;
35 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
42 inline const Corridor& GetCorridor() const { return m_corridor; }
43 inline bool CorridorHasBeenSet() const { return m_corridorHasBeenSet; }
44 template <typename CorridorT = Corridor>
45 void SetCorridor(CorridorT&& value) {
46 m_corridorHasBeenSet = true;
47 m_corridor = std::forward<CorridorT>(value);
48 }
49 template <typename CorridorT = Corridor>
51 SetCorridor(std::forward<CorridorT>(value));
52 return *this;
53 }
55
57
63 inline const Aws::Vector<double>& GetBoundingBox() const { return m_boundingBox; }
64 inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; }
65 template <typename BoundingBoxT = Aws::Vector<double>>
66 void SetBoundingBox(BoundingBoxT&& value) {
67 m_boundingBoxHasBeenSet = true;
68 m_boundingBox = std::forward<BoundingBoxT>(value);
69 }
70 template <typename BoundingBoxT = Aws::Vector<double>>
72 SetBoundingBox(std::forward<BoundingBoxT>(value));
73 return *this;
74 }
76 m_boundingBoxHasBeenSet = true;
77 m_boundingBox.push_back(value);
78 return *this;
79 }
81
83
86 inline const Aws::Vector<Aws::Vector<Aws::Vector<double>>>& GetPolygon() const { return m_polygon; }
87 inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; }
88 template <typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
89 void SetPolygon(PolygonT&& value) {
90 m_polygonHasBeenSet = true;
91 m_polygon = std::forward<PolygonT>(value);
92 }
93 template <typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
95 SetPolygon(std::forward<PolygonT>(value));
96 return *this;
97 }
98 template <typename PolygonT = Aws::Vector<Aws::Vector<double>>>
100 m_polygonHasBeenSet = true;
101 m_polygon.emplace_back(std::forward<PolygonT>(value));
102 return *this;
103 }
105
107
111 inline const PolylineCorridor& GetPolylineCorridor() const { return m_polylineCorridor; }
112 inline bool PolylineCorridorHasBeenSet() const { return m_polylineCorridorHasBeenSet; }
113 template <typename PolylineCorridorT = PolylineCorridor>
114 void SetPolylineCorridor(PolylineCorridorT&& value) {
115 m_polylineCorridorHasBeenSet = true;
116 m_polylineCorridor = std::forward<PolylineCorridorT>(value);
117 }
118 template <typename PolylineCorridorT = PolylineCorridor>
120 SetPolylineCorridor(std::forward<PolylineCorridorT>(value));
121 return *this;
122 }
124
126
133 inline const Aws::Vector<Aws::String>& GetPolylinePolygon() const { return m_polylinePolygon; }
134 inline bool PolylinePolygonHasBeenSet() const { return m_polylinePolygonHasBeenSet; }
135 template <typename PolylinePolygonT = Aws::Vector<Aws::String>>
136 void SetPolylinePolygon(PolylinePolygonT&& value) {
137 m_polylinePolygonHasBeenSet = true;
138 m_polylinePolygon = std::forward<PolylinePolygonT>(value);
139 }
140 template <typename PolylinePolygonT = Aws::Vector<Aws::String>>
142 SetPolylinePolygon(std::forward<PolylinePolygonT>(value));
143 return *this;
144 }
145 template <typename PolylinePolygonT = Aws::String>
147 m_polylinePolygonHasBeenSet = true;
148 m_polylinePolygon.emplace_back(std::forward<PolylinePolygonT>(value));
149 return *this;
150 }
152 private:
153 Corridor m_corridor;
154
155 Aws::Vector<double> m_boundingBox;
156
158
159 PolylineCorridor m_polylineCorridor;
160
161 Aws::Vector<Aws::String> m_polylinePolygon;
162 bool m_corridorHasBeenSet = false;
163 bool m_boundingBoxHasBeenSet = false;
164 bool m_polygonHasBeenSet = false;
165 bool m_polylineCorridorHasBeenSet = false;
166 bool m_polylinePolygonHasBeenSet = false;
167};
168
169} // namespace Model
170} // namespace GeoRoutes
171} // namespace Aws
RouteAvoidanceAreaGeometry & WithPolygon(PolygonT &&value)
RouteAvoidanceAreaGeometry & WithPolylineCorridor(PolylineCorridorT &&value)
RouteAvoidanceAreaGeometry & WithCorridor(CorridorT &&value)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
RouteAvoidanceAreaGeometry & AddBoundingBox(double value)
RouteAvoidanceAreaGeometry & WithBoundingBox(BoundingBoxT &&value)
RouteAvoidanceAreaGeometry & WithPolylinePolygon(PolylinePolygonT &&value)
RouteAvoidanceAreaGeometry & AddPolylinePolygon(PolylinePolygonT &&value)
AWS_GEOROUTES_API RouteAvoidanceAreaGeometry & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::Vector< Aws::Vector< double > > > & GetPolygon() const
AWS_GEOROUTES_API RouteAvoidanceAreaGeometry(Aws::Utils::Json::JsonView jsonValue)
RouteAvoidanceAreaGeometry & AddPolygon(PolygonT &&value)
const Aws::Vector< Aws::String > & GetPolylinePolygon() const
AWS_GEOROUTES_API RouteAvoidanceAreaGeometry()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue