AWS SDK for C++

AWS SDK for C++ Version 1.11.762

Loading...
Searching...
No Matches
IsolineAvoidanceAreaGeometry.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
32 public:
33 AWS_GEOROUTES_API IsolineAvoidanceAreaGeometry() = default;
36 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
45 inline const Aws::Vector<double>& GetBoundingBox() const { return m_boundingBox; }
46 inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; }
47 template <typename BoundingBoxT = Aws::Vector<double>>
48 void SetBoundingBox(BoundingBoxT&& value) {
49 m_boundingBoxHasBeenSet = true;
50 m_boundingBox = std::forward<BoundingBoxT>(value);
51 }
52 template <typename BoundingBoxT = Aws::Vector<double>>
54 SetBoundingBox(std::forward<BoundingBoxT>(value));
55 return *this;
56 }
58 m_boundingBoxHasBeenSet = true;
59 m_boundingBox.push_back(value);
60 return *this;
61 }
63
65
69 inline const Corridor& GetCorridor() const { return m_corridor; }
70 inline bool CorridorHasBeenSet() const { return m_corridorHasBeenSet; }
71 template <typename CorridorT = Corridor>
72 void SetCorridor(CorridorT&& value) {
73 m_corridorHasBeenSet = true;
74 m_corridor = std::forward<CorridorT>(value);
75 }
76 template <typename CorridorT = Corridor>
78 SetCorridor(std::forward<CorridorT>(value));
79 return *this;
80 }
82
84
88 inline const Aws::Vector<Aws::Vector<Aws::Vector<double>>>& GetPolygon() const { return m_polygon; }
89 inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; }
90 template <typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
91 void SetPolygon(PolygonT&& value) {
92 m_polygonHasBeenSet = true;
93 m_polygon = std::forward<PolygonT>(value);
94 }
95 template <typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
97 SetPolygon(std::forward<PolygonT>(value));
98 return *this;
99 }
100 template <typename PolygonT = Aws::Vector<Aws::Vector<double>>>
102 m_polygonHasBeenSet = true;
103 m_polygon.emplace_back(std::forward<PolygonT>(value));
104 return *this;
105 }
107
109
115 inline const PolylineCorridor& GetPolylineCorridor() const { return m_polylineCorridor; }
116 inline bool PolylineCorridorHasBeenSet() const { return m_polylineCorridorHasBeenSet; }
117 template <typename PolylineCorridorT = PolylineCorridor>
118 void SetPolylineCorridor(PolylineCorridorT&& value) {
119 m_polylineCorridorHasBeenSet = true;
120 m_polylineCorridor = std::forward<PolylineCorridorT>(value);
121 }
122 template <typename PolylineCorridorT = PolylineCorridor>
124 SetPolylineCorridor(std::forward<PolylineCorridorT>(value));
125 return *this;
126 }
128
130
137 inline const Aws::Vector<Aws::String>& GetPolylinePolygon() const { return m_polylinePolygon; }
138 inline bool PolylinePolygonHasBeenSet() const { return m_polylinePolygonHasBeenSet; }
139 template <typename PolylinePolygonT = Aws::Vector<Aws::String>>
140 void SetPolylinePolygon(PolylinePolygonT&& value) {
141 m_polylinePolygonHasBeenSet = true;
142 m_polylinePolygon = std::forward<PolylinePolygonT>(value);
143 }
144 template <typename PolylinePolygonT = Aws::Vector<Aws::String>>
146 SetPolylinePolygon(std::forward<PolylinePolygonT>(value));
147 return *this;
148 }
149 template <typename PolylinePolygonT = Aws::String>
151 m_polylinePolygonHasBeenSet = true;
152 m_polylinePolygon.emplace_back(std::forward<PolylinePolygonT>(value));
153 return *this;
154 }
156 private:
157 Aws::Vector<double> m_boundingBox;
158
159 Corridor m_corridor;
160
162
163 PolylineCorridor m_polylineCorridor;
164
165 Aws::Vector<Aws::String> m_polylinePolygon;
166 bool m_boundingBoxHasBeenSet = false;
167 bool m_corridorHasBeenSet = false;
168 bool m_polygonHasBeenSet = false;
169 bool m_polylineCorridorHasBeenSet = false;
170 bool m_polylinePolygonHasBeenSet = false;
171};
172
173} // namespace Model
174} // namespace GeoRoutes
175} // namespace Aws
AWS_GEOROUTES_API IsolineAvoidanceAreaGeometry & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::String > & GetPolylinePolygon() const
const Aws::Vector< Aws::Vector< Aws::Vector< double > > > & GetPolygon() const
IsolineAvoidanceAreaGeometry & WithPolylinePolygon(PolylinePolygonT &&value)
AWS_GEOROUTES_API IsolineAvoidanceAreaGeometry()=default
IsolineAvoidanceAreaGeometry & AddPolygon(PolygonT &&value)
IsolineAvoidanceAreaGeometry & AddPolylinePolygon(PolylinePolygonT &&value)
IsolineAvoidanceAreaGeometry & WithPolylineCorridor(PolylineCorridorT &&value)
IsolineAvoidanceAreaGeometry & WithCorridor(CorridorT &&value)
IsolineAvoidanceAreaGeometry & AddBoundingBox(double value)
IsolineAvoidanceAreaGeometry & WithBoundingBox(BoundingBoxT &&value)
AWS_GEOROUTES_API IsolineAvoidanceAreaGeometry(Aws::Utils::Json::JsonView jsonValue)
IsolineAvoidanceAreaGeometry & WithPolygon(PolygonT &&value)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue