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

Information about where an object (DetectCustomLabels) or text * (DetectText) is located on an image.

See Also:

AWS * API Reference

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

An axis-aligned coarse representation of the detected item's location on the * image.

*/ inline const BoundingBox& GetBoundingBox() const{ return m_boundingBox; } /** *

An axis-aligned coarse representation of the detected item's location on the * image.

*/ inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } /** *

An axis-aligned coarse representation of the detected item's location on the * image.

*/ inline void SetBoundingBox(const BoundingBox& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } /** *

An axis-aligned coarse representation of the detected item's location on the * image.

*/ inline void SetBoundingBox(BoundingBox&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } /** *

An axis-aligned coarse representation of the detected item's location on the * image.

*/ inline Geometry& WithBoundingBox(const BoundingBox& value) { SetBoundingBox(value); return *this;} /** *

An axis-aligned coarse representation of the detected item's location on the * image.

*/ inline Geometry& WithBoundingBox(BoundingBox&& value) { SetBoundingBox(std::move(value)); return *this;} /** *

Within the bounding box, a fine-grained polygon around the detected item.

*/ inline const Aws::Vector& GetPolygon() const{ return m_polygon; } /** *

Within the bounding box, a fine-grained polygon around the detected item.

*/ inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; } /** *

Within the bounding box, a fine-grained polygon around the detected item.

*/ inline void SetPolygon(const Aws::Vector& value) { m_polygonHasBeenSet = true; m_polygon = value; } /** *

Within the bounding box, a fine-grained polygon around the detected item.

*/ inline void SetPolygon(Aws::Vector&& value) { m_polygonHasBeenSet = true; m_polygon = std::move(value); } /** *

Within the bounding box, a fine-grained polygon around the detected item.

*/ inline Geometry& WithPolygon(const Aws::Vector& value) { SetPolygon(value); return *this;} /** *

Within the bounding box, a fine-grained polygon around the detected item.

*/ inline Geometry& WithPolygon(Aws::Vector&& value) { SetPolygon(std::move(value)); return *this;} /** *

Within the bounding box, a fine-grained polygon around the detected item.

*/ inline Geometry& AddPolygon(const Point& value) { m_polygonHasBeenSet = true; m_polygon.push_back(value); return *this; } /** *

Within the bounding box, a fine-grained polygon around the detected item.

*/ inline Geometry& AddPolygon(Point&& value) { m_polygonHasBeenSet = true; m_polygon.push_back(std::move(value)); return *this; } private: BoundingBox m_boundingBox; bool m_boundingBoxHasBeenSet = false; Aws::Vector m_polygon; bool m_polygonHasBeenSet = false; }; } // namespace Model } // namespace Rekognition } // namespace Aws