AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
RouteMatrixBoundaryGeometry.h
1
6#pragma once
7#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
8#include <aws/geo-routes/model/RouteMatrixAutoCircle.h>
9#include <aws/geo-routes/model/Circle.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace GeoRoutes
24{
25namespace Model
26{
27
34 {
35 public:
36 AWS_GEOROUTES_API RouteMatrixBoundaryGeometry() = default;
39 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
40
41
43
46 inline const RouteMatrixAutoCircle& GetAutoCircle() const { return m_autoCircle; }
47 inline bool AutoCircleHasBeenSet() const { return m_autoCircleHasBeenSet; }
48 template<typename AutoCircleT = RouteMatrixAutoCircle>
49 void SetAutoCircle(AutoCircleT&& value) { m_autoCircleHasBeenSet = true; m_autoCircle = std::forward<AutoCircleT>(value); }
50 template<typename AutoCircleT = RouteMatrixAutoCircle>
51 RouteMatrixBoundaryGeometry& WithAutoCircle(AutoCircleT&& value) { SetAutoCircle(std::forward<AutoCircleT>(value)); return *this;}
53
55
60 inline const Circle& GetCircle() const { return m_circle; }
61 inline bool CircleHasBeenSet() const { return m_circleHasBeenSet; }
62 template<typename CircleT = Circle>
63 void SetCircle(CircleT&& value) { m_circleHasBeenSet = true; m_circle = std::forward<CircleT>(value); }
64 template<typename CircleT = Circle>
65 RouteMatrixBoundaryGeometry& WithCircle(CircleT&& value) { SetCircle(std::forward<CircleT>(value)); return *this;}
67
69
75 inline const Aws::Vector<double>& GetBoundingBox() const { return m_boundingBox; }
76 inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; }
77 template<typename BoundingBoxT = Aws::Vector<double>>
78 void SetBoundingBox(BoundingBoxT&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::forward<BoundingBoxT>(value); }
79 template<typename BoundingBoxT = Aws::Vector<double>>
80 RouteMatrixBoundaryGeometry& WithBoundingBox(BoundingBoxT&& value) { SetBoundingBox(std::forward<BoundingBoxT>(value)); return *this;}
81 inline RouteMatrixBoundaryGeometry& AddBoundingBox(double value) { m_boundingBoxHasBeenSet = true; m_boundingBox.push_back(value); return *this; }
83
85
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) { m_polygonHasBeenSet = true; m_polygon = std::forward<PolygonT>(value); }
92 template<typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
93 RouteMatrixBoundaryGeometry& WithPolygon(PolygonT&& value) { SetPolygon(std::forward<PolygonT>(value)); return *this;}
94 template<typename PolygonT = Aws::Vector<Aws::Vector<double>>>
95 RouteMatrixBoundaryGeometry& AddPolygon(PolygonT&& value) { m_polygonHasBeenSet = true; m_polygon.emplace_back(std::forward<PolygonT>(value)); return *this; }
97 private:
98
99 RouteMatrixAutoCircle m_autoCircle;
100 bool m_autoCircleHasBeenSet = false;
101
102 Circle m_circle;
103 bool m_circleHasBeenSet = false;
104
105 Aws::Vector<double> m_boundingBox;
106 bool m_boundingBoxHasBeenSet = false;
107
109 bool m_polygonHasBeenSet = false;
110 };
111
112} // namespace Model
113} // namespace GeoRoutes
114} // 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