/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace LocationService { namespace Model { /** *

A circle on the earth, as defined by a center point and a * radius.

See Also:

AWS API * Reference

*/ class Circle { public: AWS_LOCATIONSERVICE_API Circle(); AWS_LOCATIONSERVICE_API Circle(Aws::Utils::Json::JsonView jsonValue); AWS_LOCATIONSERVICE_API Circle& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A single point geometry, specifying the center of the circle, using WGS 84 * coordinates, in the form [longitude, latitude].

*/ inline const Aws::Vector& GetCenter() const{ return m_center; } /** *

A single point geometry, specifying the center of the circle, using WGS 84 * coordinates, in the form [longitude, latitude].

*/ inline bool CenterHasBeenSet() const { return m_centerHasBeenSet; } /** *

A single point geometry, specifying the center of the circle, using WGS 84 * coordinates, in the form [longitude, latitude].

*/ inline void SetCenter(const Aws::Vector& value) { m_centerHasBeenSet = true; m_center = value; } /** *

A single point geometry, specifying the center of the circle, using WGS 84 * coordinates, in the form [longitude, latitude].

*/ inline void SetCenter(Aws::Vector&& value) { m_centerHasBeenSet = true; m_center = std::move(value); } /** *

A single point geometry, specifying the center of the circle, using WGS 84 * coordinates, in the form [longitude, latitude].

*/ inline Circle& WithCenter(const Aws::Vector& value) { SetCenter(value); return *this;} /** *

A single point geometry, specifying the center of the circle, using WGS 84 * coordinates, in the form [longitude, latitude].

*/ inline Circle& WithCenter(Aws::Vector&& value) { SetCenter(std::move(value)); return *this;} /** *

A single point geometry, specifying the center of the circle, using WGS 84 * coordinates, in the form [longitude, latitude].

*/ inline Circle& AddCenter(double value) { m_centerHasBeenSet = true; m_center.push_back(value); return *this; } /** *

The radius of the circle in meters. Must be greater than zero and no larger * than 100,000 (100 kilometers).

*/ inline double GetRadius() const{ return m_radius; } /** *

The radius of the circle in meters. Must be greater than zero and no larger * than 100,000 (100 kilometers).

*/ inline bool RadiusHasBeenSet() const { return m_radiusHasBeenSet; } /** *

The radius of the circle in meters. Must be greater than zero and no larger * than 100,000 (100 kilometers).

*/ inline void SetRadius(double value) { m_radiusHasBeenSet = true; m_radius = value; } /** *

The radius of the circle in meters. Must be greater than zero and no larger * than 100,000 (100 kilometers).

*/ inline Circle& WithRadius(double value) { SetRadius(value); return *this;} private: Aws::Vector m_center; bool m_centerHasBeenSet = false; double m_radius; bool m_radiusHasBeenSet = false; }; } // namespace Model } // namespace LocationService } // namespace Aws