/** * 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 Textract { namespace Model { /** *

Information about where the following items are located on a document page: * detected page, text, key-value pairs, tables, table cells, and selection * elements.

See Also:

AWS * API Reference

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

An axis-aligned coarse representation of the location of the recognized item * on the document page.

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

An axis-aligned coarse representation of the location of the recognized item * on the document page.

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

An axis-aligned coarse representation of the location of the recognized item * on the document page.

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

An axis-aligned coarse representation of the location of the recognized item * on the document page.

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

An axis-aligned coarse representation of the location of the recognized item * on the document page.

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

An axis-aligned coarse representation of the location of the recognized item * on the document page.

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

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

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

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

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

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

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

Within the bounding box, a fine-grained polygon around the recognized * 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 recognized * item.

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

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

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

Within the bounding box, a fine-grained polygon around the recognized * 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 recognized * 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 Textract } // namespace Aws