AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
IsolineAvoidanceAreaGeometry.h
1
6#pragma once
7#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/geo-routes/model/Corridor.h>
10#include <aws/geo-routes/model/PolylineCorridor.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace GeoRoutes
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_GEOROUTES_API IsolineAvoidanceAreaGeometry() = default;
41 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
51 inline const Aws::Vector<double>& GetBoundingBox() const { return m_boundingBox; }
52 inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; }
53 template<typename BoundingBoxT = Aws::Vector<double>>
54 void SetBoundingBox(BoundingBoxT&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::forward<BoundingBoxT>(value); }
55 template<typename BoundingBoxT = Aws::Vector<double>>
56 IsolineAvoidanceAreaGeometry& WithBoundingBox(BoundingBoxT&& value) { SetBoundingBox(std::forward<BoundingBoxT>(value)); return *this;}
57 inline IsolineAvoidanceAreaGeometry& AddBoundingBox(double value) { m_boundingBoxHasBeenSet = true; m_boundingBox.push_back(value); return *this; }
59
61
65 inline const Corridor& GetCorridor() const { return m_corridor; }
66 inline bool CorridorHasBeenSet() const { return m_corridorHasBeenSet; }
67 template<typename CorridorT = Corridor>
68 void SetCorridor(CorridorT&& value) { m_corridorHasBeenSet = true; m_corridor = std::forward<CorridorT>(value); }
69 template<typename CorridorT = Corridor>
70 IsolineAvoidanceAreaGeometry& WithCorridor(CorridorT&& value) { SetCorridor(std::forward<CorridorT>(value)); return *this;}
72
74
78 inline const Aws::Vector<Aws::Vector<Aws::Vector<double>>>& GetPolygon() const { return m_polygon; }
79 inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; }
80 template<typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
81 void SetPolygon(PolygonT&& value) { m_polygonHasBeenSet = true; m_polygon = std::forward<PolygonT>(value); }
82 template<typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
83 IsolineAvoidanceAreaGeometry& WithPolygon(PolygonT&& value) { SetPolygon(std::forward<PolygonT>(value)); return *this;}
84 template<typename PolygonT = Aws::Vector<Aws::Vector<double>>>
85 IsolineAvoidanceAreaGeometry& AddPolygon(PolygonT&& value) { m_polygonHasBeenSet = true; m_polygon.emplace_back(std::forward<PolygonT>(value)); return *this; }
87
89
95 inline const PolylineCorridor& GetPolylineCorridor() const { return m_polylineCorridor; }
96 inline bool PolylineCorridorHasBeenSet() const { return m_polylineCorridorHasBeenSet; }
97 template<typename PolylineCorridorT = PolylineCorridor>
98 void SetPolylineCorridor(PolylineCorridorT&& value) { m_polylineCorridorHasBeenSet = true; m_polylineCorridor = std::forward<PolylineCorridorT>(value); }
99 template<typename PolylineCorridorT = PolylineCorridor>
100 IsolineAvoidanceAreaGeometry& WithPolylineCorridor(PolylineCorridorT&& value) { SetPolylineCorridor(std::forward<PolylineCorridorT>(value)); return *this;}
102
104
111 inline const Aws::Vector<Aws::String>& GetPolylinePolygon() const { return m_polylinePolygon; }
112 inline bool PolylinePolygonHasBeenSet() const { return m_polylinePolygonHasBeenSet; }
113 template<typename PolylinePolygonT = Aws::Vector<Aws::String>>
114 void SetPolylinePolygon(PolylinePolygonT&& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon = std::forward<PolylinePolygonT>(value); }
115 template<typename PolylinePolygonT = Aws::Vector<Aws::String>>
116 IsolineAvoidanceAreaGeometry& WithPolylinePolygon(PolylinePolygonT&& value) { SetPolylinePolygon(std::forward<PolylinePolygonT>(value)); return *this;}
117 template<typename PolylinePolygonT = Aws::String>
118 IsolineAvoidanceAreaGeometry& AddPolylinePolygon(PolylinePolygonT&& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.emplace_back(std::forward<PolylinePolygonT>(value)); return *this; }
120 private:
121
122 Aws::Vector<double> m_boundingBox;
123 bool m_boundingBoxHasBeenSet = false;
124
125 Corridor m_corridor;
126 bool m_corridorHasBeenSet = false;
127
129 bool m_polygonHasBeenSet = false;
130
131 PolylineCorridor m_polylineCorridor;
132 bool m_polylineCorridorHasBeenSet = false;
133
134 Aws::Vector<Aws::String> m_polylinePolygon;
135 bool m_polylinePolygonHasBeenSet = false;
136 };
137
138} // namespace Model
139} // namespace GeoRoutes
140} // 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