/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains the geofence geometry details. A geofence geometry is made up
* of either a polygon or a circle. Can be either a polygon or a circle. Including
* both will return a validation error. Amazon Location doesn't
* currently support polygons with holes, multipolygons, polygons that are wound
* clockwise, or that cross the antimeridian. See Also:
* AWS
* API Reference
A circle on the earth, as defined by a center point and a radius.
*/ inline const Circle& GetCircle() const{ return m_circle; } /** *A circle on the earth, as defined by a center point and a radius.
*/ inline bool CircleHasBeenSet() const { return m_circleHasBeenSet; } /** *A circle on the earth, as defined by a center point and a radius.
*/ inline void SetCircle(const Circle& value) { m_circleHasBeenSet = true; m_circle = value; } /** *A circle on the earth, as defined by a center point and a radius.
*/ inline void SetCircle(Circle&& value) { m_circleHasBeenSet = true; m_circle = std::move(value); } /** *A circle on the earth, as defined by a center point and a radius.
*/ inline GeofenceGeometry& WithCircle(const Circle& value) { SetCircle(value); return *this;} /** *A circle on the earth, as defined by a center point and a radius.
*/ inline GeofenceGeometry& WithCircle(Circle&& value) { SetCircle(std::move(value)); return *this;} /** *A polygon is a list of linear rings which are each made up of a list of * vertices.
Each vertex is a 2-dimensional point of the form:
* [longitude, latitude]
. This is represented as an array of doubles
* of length 2 (so [double, double]
).
An array of 4 or more
* vertices, where the first and last vertex are the same (to form a closed
* boundary), is called a linear ring. The linear ring vertices must be listed in
* counter-clockwise order around the ring’s interior. The linear ring is
* represented as an array of vertices, or an array of arrays of doubles
* ([[double, double], ...]
).
A geofence consists of a single
* linear ring. To allow for future expansion, the Polygon parameter takes an array
* of linear rings, which is represented as an array of arrays of arrays of doubles
* ([[[double, double], ...], ...]
).
A linear ring for use in * geofences can consist of between 4 and 1,000 vertices.
*/ inline const Aws::VectorA polygon is a list of linear rings which are each made up of a list of * vertices.
Each vertex is a 2-dimensional point of the form:
* [longitude, latitude]
. This is represented as an array of doubles
* of length 2 (so [double, double]
).
An array of 4 or more
* vertices, where the first and last vertex are the same (to form a closed
* boundary), is called a linear ring. The linear ring vertices must be listed in
* counter-clockwise order around the ring’s interior. The linear ring is
* represented as an array of vertices, or an array of arrays of doubles
* ([[double, double], ...]
).
A geofence consists of a single
* linear ring. To allow for future expansion, the Polygon parameter takes an array
* of linear rings, which is represented as an array of arrays of arrays of doubles
* ([[[double, double], ...], ...]
).
A linear ring for use in * geofences can consist of between 4 and 1,000 vertices.
*/ inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; } /** *A polygon is a list of linear rings which are each made up of a list of * vertices.
Each vertex is a 2-dimensional point of the form:
* [longitude, latitude]
. This is represented as an array of doubles
* of length 2 (so [double, double]
).
An array of 4 or more
* vertices, where the first and last vertex are the same (to form a closed
* boundary), is called a linear ring. The linear ring vertices must be listed in
* counter-clockwise order around the ring’s interior. The linear ring is
* represented as an array of vertices, or an array of arrays of doubles
* ([[double, double], ...]
).
A geofence consists of a single
* linear ring. To allow for future expansion, the Polygon parameter takes an array
* of linear rings, which is represented as an array of arrays of arrays of doubles
* ([[[double, double], ...], ...]
).
A linear ring for use in * geofences can consist of between 4 and 1,000 vertices.
*/ inline void SetPolygon(const Aws::VectorA polygon is a list of linear rings which are each made up of a list of * vertices.
Each vertex is a 2-dimensional point of the form:
* [longitude, latitude]
. This is represented as an array of doubles
* of length 2 (so [double, double]
).
An array of 4 or more
* vertices, where the first and last vertex are the same (to form a closed
* boundary), is called a linear ring. The linear ring vertices must be listed in
* counter-clockwise order around the ring’s interior. The linear ring is
* represented as an array of vertices, or an array of arrays of doubles
* ([[double, double], ...]
).
A geofence consists of a single
* linear ring. To allow for future expansion, the Polygon parameter takes an array
* of linear rings, which is represented as an array of arrays of arrays of doubles
* ([[[double, double], ...], ...]
).
A linear ring for use in * geofences can consist of between 4 and 1,000 vertices.
*/ inline void SetPolygon(Aws::VectorA polygon is a list of linear rings which are each made up of a list of * vertices.
Each vertex is a 2-dimensional point of the form:
* [longitude, latitude]
. This is represented as an array of doubles
* of length 2 (so [double, double]
).
An array of 4 or more
* vertices, where the first and last vertex are the same (to form a closed
* boundary), is called a linear ring. The linear ring vertices must be listed in
* counter-clockwise order around the ring’s interior. The linear ring is
* represented as an array of vertices, or an array of arrays of doubles
* ([[double, double], ...]
).
A geofence consists of a single
* linear ring. To allow for future expansion, the Polygon parameter takes an array
* of linear rings, which is represented as an array of arrays of arrays of doubles
* ([[[double, double], ...], ...]
).
A linear ring for use in * geofences can consist of between 4 and 1,000 vertices.
*/ inline GeofenceGeometry& WithPolygon(const Aws::VectorA polygon is a list of linear rings which are each made up of a list of * vertices.
Each vertex is a 2-dimensional point of the form:
* [longitude, latitude]
. This is represented as an array of doubles
* of length 2 (so [double, double]
).
An array of 4 or more
* vertices, where the first and last vertex are the same (to form a closed
* boundary), is called a linear ring. The linear ring vertices must be listed in
* counter-clockwise order around the ring’s interior. The linear ring is
* represented as an array of vertices, or an array of arrays of doubles
* ([[double, double], ...]
).
A geofence consists of a single
* linear ring. To allow for future expansion, the Polygon parameter takes an array
* of linear rings, which is represented as an array of arrays of arrays of doubles
* ([[[double, double], ...], ...]
).
A linear ring for use in * geofences can consist of between 4 and 1,000 vertices.
*/ inline GeofenceGeometry& WithPolygon(Aws::VectorA polygon is a list of linear rings which are each made up of a list of * vertices.
Each vertex is a 2-dimensional point of the form:
* [longitude, latitude]
. This is represented as an array of doubles
* of length 2 (so [double, double]
).
An array of 4 or more
* vertices, where the first and last vertex are the same (to form a closed
* boundary), is called a linear ring. The linear ring vertices must be listed in
* counter-clockwise order around the ring’s interior. The linear ring is
* represented as an array of vertices, or an array of arrays of doubles
* ([[double, double], ...]
).
A geofence consists of a single
* linear ring. To allow for future expansion, the Polygon parameter takes an array
* of linear rings, which is represented as an array of arrays of arrays of doubles
* ([[[double, double], ...], ...]
).
A linear ring for use in * geofences can consist of between 4 and 1,000 vertices.
*/ inline GeofenceGeometry& AddPolygon(const Aws::VectorA polygon is a list of linear rings which are each made up of a list of * vertices.
Each vertex is a 2-dimensional point of the form:
* [longitude, latitude]
. This is represented as an array of doubles
* of length 2 (so [double, double]
).
An array of 4 or more
* vertices, where the first and last vertex are the same (to form a closed
* boundary), is called a linear ring. The linear ring vertices must be listed in
* counter-clockwise order around the ring’s interior. The linear ring is
* represented as an array of vertices, or an array of arrays of doubles
* ([[double, double], ...]
).
A geofence consists of a single
* linear ring. To allow for future expansion, the Polygon parameter takes an array
* of linear rings, which is represented as an array of arrays of arrays of doubles
* ([[[double, double], ...], ...]
).
A linear ring for use in * geofences can consist of between 4 and 1,000 vertices.
*/ inline GeofenceGeometry& AddPolygon(Aws::Vector