AWS SDK for C++

AWS SDK for C++ Version 1.11.635

Loading...
Searching...
No Matches
GeofenceGeometry.h
1
6#pragma once
7#include <aws/location/LocationService_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/location/model/Circle.h>
10#include <aws/core/utils/Array.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 LocationService
24{
25namespace Model
26{
27
40 {
41 public:
42 AWS_LOCATIONSERVICE_API GeofenceGeometry() = default;
43 AWS_LOCATIONSERVICE_API GeofenceGeometry(Aws::Utils::Json::JsonView jsonValue);
44 AWS_LOCATIONSERVICE_API GeofenceGeometry& operator=(Aws::Utils::Json::JsonView jsonValue);
45 AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
75 inline const Aws::Vector<Aws::Vector<Aws::Vector<double>>>& GetPolygon() const { return m_polygon; }
76 inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; }
77 template<typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
78 void SetPolygon(PolygonT&& value) { m_polygonHasBeenSet = true; m_polygon = std::forward<PolygonT>(value); }
79 template<typename PolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
80 GeofenceGeometry& WithPolygon(PolygonT&& value) { SetPolygon(std::forward<PolygonT>(value)); return *this;}
81 template<typename PolygonT = Aws::Vector<Aws::Vector<double>>>
82 GeofenceGeometry& AddPolygon(PolygonT&& value) { m_polygonHasBeenSet = true; m_polygon.emplace_back(std::forward<PolygonT>(value)); return *this; }
84
86
89 inline const Circle& GetCircle() const { return m_circle; }
90 inline bool CircleHasBeenSet() const { return m_circleHasBeenSet; }
91 template<typename CircleT = Circle>
92 void SetCircle(CircleT&& value) { m_circleHasBeenSet = true; m_circle = std::forward<CircleT>(value); }
93 template<typename CircleT = Circle>
94 GeofenceGeometry& WithCircle(CircleT&& value) { SetCircle(std::forward<CircleT>(value)); return *this;}
96
98
117 inline const Aws::Utils::CryptoBuffer& GetGeobuf() const { return m_geobuf; }
118 inline bool GeobufHasBeenSet() const { return m_geobufHasBeenSet; }
119 template<typename GeobufT = Aws::Utils::CryptoBuffer>
120 void SetGeobuf(GeobufT&& value) { m_geobufHasBeenSet = true; m_geobuf = std::forward<GeobufT>(value); }
121 template<typename GeobufT = Aws::Utils::CryptoBuffer>
122 GeofenceGeometry& WithGeobuf(GeobufT&& value) { SetGeobuf(std::forward<GeobufT>(value)); return *this;}
124
126
148 inline const Aws::Vector<Aws::Vector<Aws::Vector<Aws::Vector<double>>>>& GetMultiPolygon() const { return m_multiPolygon; }
149 inline bool MultiPolygonHasBeenSet() const { return m_multiPolygonHasBeenSet; }
150 template<typename MultiPolygonT = Aws::Vector<Aws::Vector<Aws::Vector<Aws::Vector<double>>>>>
151 void SetMultiPolygon(MultiPolygonT&& value) { m_multiPolygonHasBeenSet = true; m_multiPolygon = std::forward<MultiPolygonT>(value); }
152 template<typename MultiPolygonT = Aws::Vector<Aws::Vector<Aws::Vector<Aws::Vector<double>>>>>
153 GeofenceGeometry& WithMultiPolygon(MultiPolygonT&& value) { SetMultiPolygon(std::forward<MultiPolygonT>(value)); return *this;}
154 template<typename MultiPolygonT = Aws::Vector<Aws::Vector<Aws::Vector<double>>>>
155 GeofenceGeometry& AddMultiPolygon(MultiPolygonT&& value) { m_multiPolygonHasBeenSet = true; m_multiPolygon.emplace_back(std::forward<MultiPolygonT>(value)); return *this; }
157 private:
158
160 bool m_polygonHasBeenSet = false;
161
162 Circle m_circle;
163 bool m_circleHasBeenSet = false;
164
165 Aws::Utils::CryptoBuffer m_geobuf{};
166 bool m_geobufHasBeenSet = false;
167
169 bool m_multiPolygonHasBeenSet = false;
170 };
171
172} // namespace Model
173} // namespace LocationService
174} // namespace Aws
GeofenceGeometry & WithGeobuf(GeobufT &&value)
GeofenceGeometry & AddPolygon(PolygonT &&value)
AWS_LOCATIONSERVICE_API GeofenceGeometry & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_LOCATIONSERVICE_API GeofenceGeometry(Aws::Utils::Json::JsonView jsonValue)
AWS_LOCATIONSERVICE_API GeofenceGeometry()=default
const Aws::Utils::CryptoBuffer & GetGeobuf() const
GeofenceGeometry & WithCircle(CircleT &&value)
const Aws::Vector< Aws::Vector< Aws::Vector< double > > > & GetPolygon() const
GeofenceGeometry & WithPolygon(PolygonT &&value)
const Aws::Vector< Aws::Vector< Aws::Vector< Aws::Vector< double > > > > & GetMultiPolygon() const
GeofenceGeometry & WithMultiPolygon(MultiPolygonT &&value)
GeofenceGeometry & AddMultiPolygon(MultiPolygonT &&value)
AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue