1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/rekognition/Rekognition_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/rekognition/model/OrientationCorrection.h>
10 #include <aws/rekognition/model/Celebrity.h>
11 #include <aws/rekognition/model/ComparedFace.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24 } // namespace Json
25 } // namespace Utils
26 namespace Rekognition
27 {
28 namespace Model
29 {
30   class AWS_REKOGNITION_API RecognizeCelebritiesResult
31   {
32   public:
33     RecognizeCelebritiesResult();
34     RecognizeCelebritiesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35     RecognizeCelebritiesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
36 
37 
38     /**
39      * <p>Details about each celebrity found in the image. Amazon Rekognition can
40      * detect a maximum of 64 celebrities in an image. Each celebrity object includes
41      * the following attributes: <code>Face</code>, <code>Confidence</code>,
42      * <code>Emotions</code>, <code>Landmarks</code>, <code>Pose</code>,
43      * <code>Quality</code>, <code>Smile</code>, <code>Id</code>,
44      * <code>KnownGender</code>, <code>MatchConfidence</code>, <code>Name</code>,
45      * <code>Urls</code>.</p>
46      */
GetCelebrityFaces()47     inline const Aws::Vector<Celebrity>& GetCelebrityFaces() const{ return m_celebrityFaces; }
48 
49     /**
50      * <p>Details about each celebrity found in the image. Amazon Rekognition can
51      * detect a maximum of 64 celebrities in an image. Each celebrity object includes
52      * the following attributes: <code>Face</code>, <code>Confidence</code>,
53      * <code>Emotions</code>, <code>Landmarks</code>, <code>Pose</code>,
54      * <code>Quality</code>, <code>Smile</code>, <code>Id</code>,
55      * <code>KnownGender</code>, <code>MatchConfidence</code>, <code>Name</code>,
56      * <code>Urls</code>.</p>
57      */
SetCelebrityFaces(const Aws::Vector<Celebrity> & value)58     inline void SetCelebrityFaces(const Aws::Vector<Celebrity>& value) { m_celebrityFaces = value; }
59 
60     /**
61      * <p>Details about each celebrity found in the image. Amazon Rekognition can
62      * detect a maximum of 64 celebrities in an image. Each celebrity object includes
63      * the following attributes: <code>Face</code>, <code>Confidence</code>,
64      * <code>Emotions</code>, <code>Landmarks</code>, <code>Pose</code>,
65      * <code>Quality</code>, <code>Smile</code>, <code>Id</code>,
66      * <code>KnownGender</code>, <code>MatchConfidence</code>, <code>Name</code>,
67      * <code>Urls</code>.</p>
68      */
SetCelebrityFaces(Aws::Vector<Celebrity> && value)69     inline void SetCelebrityFaces(Aws::Vector<Celebrity>&& value) { m_celebrityFaces = std::move(value); }
70 
71     /**
72      * <p>Details about each celebrity found in the image. Amazon Rekognition can
73      * detect a maximum of 64 celebrities in an image. Each celebrity object includes
74      * the following attributes: <code>Face</code>, <code>Confidence</code>,
75      * <code>Emotions</code>, <code>Landmarks</code>, <code>Pose</code>,
76      * <code>Quality</code>, <code>Smile</code>, <code>Id</code>,
77      * <code>KnownGender</code>, <code>MatchConfidence</code>, <code>Name</code>,
78      * <code>Urls</code>.</p>
79      */
WithCelebrityFaces(const Aws::Vector<Celebrity> & value)80     inline RecognizeCelebritiesResult& WithCelebrityFaces(const Aws::Vector<Celebrity>& value) { SetCelebrityFaces(value); return *this;}
81 
82     /**
83      * <p>Details about each celebrity found in the image. Amazon Rekognition can
84      * detect a maximum of 64 celebrities in an image. Each celebrity object includes
85      * the following attributes: <code>Face</code>, <code>Confidence</code>,
86      * <code>Emotions</code>, <code>Landmarks</code>, <code>Pose</code>,
87      * <code>Quality</code>, <code>Smile</code>, <code>Id</code>,
88      * <code>KnownGender</code>, <code>MatchConfidence</code>, <code>Name</code>,
89      * <code>Urls</code>.</p>
90      */
WithCelebrityFaces(Aws::Vector<Celebrity> && value)91     inline RecognizeCelebritiesResult& WithCelebrityFaces(Aws::Vector<Celebrity>&& value) { SetCelebrityFaces(std::move(value)); return *this;}
92 
93     /**
94      * <p>Details about each celebrity found in the image. Amazon Rekognition can
95      * detect a maximum of 64 celebrities in an image. Each celebrity object includes
96      * the following attributes: <code>Face</code>, <code>Confidence</code>,
97      * <code>Emotions</code>, <code>Landmarks</code>, <code>Pose</code>,
98      * <code>Quality</code>, <code>Smile</code>, <code>Id</code>,
99      * <code>KnownGender</code>, <code>MatchConfidence</code>, <code>Name</code>,
100      * <code>Urls</code>.</p>
101      */
AddCelebrityFaces(const Celebrity & value)102     inline RecognizeCelebritiesResult& AddCelebrityFaces(const Celebrity& value) { m_celebrityFaces.push_back(value); return *this; }
103 
104     /**
105      * <p>Details about each celebrity found in the image. Amazon Rekognition can
106      * detect a maximum of 64 celebrities in an image. Each celebrity object includes
107      * the following attributes: <code>Face</code>, <code>Confidence</code>,
108      * <code>Emotions</code>, <code>Landmarks</code>, <code>Pose</code>,
109      * <code>Quality</code>, <code>Smile</code>, <code>Id</code>,
110      * <code>KnownGender</code>, <code>MatchConfidence</code>, <code>Name</code>,
111      * <code>Urls</code>.</p>
112      */
AddCelebrityFaces(Celebrity && value)113     inline RecognizeCelebritiesResult& AddCelebrityFaces(Celebrity&& value) { m_celebrityFaces.push_back(std::move(value)); return *this; }
114 
115 
116     /**
117      * <p>Details about each unrecognized face in the image.</p>
118      */
GetUnrecognizedFaces()119     inline const Aws::Vector<ComparedFace>& GetUnrecognizedFaces() const{ return m_unrecognizedFaces; }
120 
121     /**
122      * <p>Details about each unrecognized face in the image.</p>
123      */
SetUnrecognizedFaces(const Aws::Vector<ComparedFace> & value)124     inline void SetUnrecognizedFaces(const Aws::Vector<ComparedFace>& value) { m_unrecognizedFaces = value; }
125 
126     /**
127      * <p>Details about each unrecognized face in the image.</p>
128      */
SetUnrecognizedFaces(Aws::Vector<ComparedFace> && value)129     inline void SetUnrecognizedFaces(Aws::Vector<ComparedFace>&& value) { m_unrecognizedFaces = std::move(value); }
130 
131     /**
132      * <p>Details about each unrecognized face in the image.</p>
133      */
WithUnrecognizedFaces(const Aws::Vector<ComparedFace> & value)134     inline RecognizeCelebritiesResult& WithUnrecognizedFaces(const Aws::Vector<ComparedFace>& value) { SetUnrecognizedFaces(value); return *this;}
135 
136     /**
137      * <p>Details about each unrecognized face in the image.</p>
138      */
WithUnrecognizedFaces(Aws::Vector<ComparedFace> && value)139     inline RecognizeCelebritiesResult& WithUnrecognizedFaces(Aws::Vector<ComparedFace>&& value) { SetUnrecognizedFaces(std::move(value)); return *this;}
140 
141     /**
142      * <p>Details about each unrecognized face in the image.</p>
143      */
AddUnrecognizedFaces(const ComparedFace & value)144     inline RecognizeCelebritiesResult& AddUnrecognizedFaces(const ComparedFace& value) { m_unrecognizedFaces.push_back(value); return *this; }
145 
146     /**
147      * <p>Details about each unrecognized face in the image.</p>
148      */
AddUnrecognizedFaces(ComparedFace && value)149     inline RecognizeCelebritiesResult& AddUnrecognizedFaces(ComparedFace&& value) { m_unrecognizedFaces.push_back(std::move(value)); return *this; }
150 
151 
152     /**
153      *  <p>Support for estimating image orientation using the the
154      * OrientationCorrection field has ceased as of August 2021. Any returned values
155      * for this field included in an API response will always be NULL.</p>
156      * <p>The orientation of the input image (counterclockwise direction). If your
157      * application displays the image, you can use this value to correct the
158      * orientation. The bounding box coordinates returned in
159      * <code>CelebrityFaces</code> and <code>UnrecognizedFaces</code> represent face
160      * locations before the image orientation is corrected. </p>  <p>If the input
161      * image is in .jpeg format, it might contain exchangeable image (Exif) metadata
162      * that includes the image's orientation. If so, and the Exif metadata for the
163      * input image populates the orientation field, the value of
164      * <code>OrientationCorrection</code> is null. The <code>CelebrityFaces</code> and
165      * <code>UnrecognizedFaces</code> bounding box coordinates represent face locations
166      * after Exif metadata is used to correct the image orientation. Images in .png
167      * format don't contain Exif metadata. </p>
168      */
GetOrientationCorrection()169     inline const OrientationCorrection& GetOrientationCorrection() const{ return m_orientationCorrection; }
170 
171     /**
172      *  <p>Support for estimating image orientation using the the
173      * OrientationCorrection field has ceased as of August 2021. Any returned values
174      * for this field included in an API response will always be NULL.</p>
175      * <p>The orientation of the input image (counterclockwise direction). If your
176      * application displays the image, you can use this value to correct the
177      * orientation. The bounding box coordinates returned in
178      * <code>CelebrityFaces</code> and <code>UnrecognizedFaces</code> represent face
179      * locations before the image orientation is corrected. </p>  <p>If the input
180      * image is in .jpeg format, it might contain exchangeable image (Exif) metadata
181      * that includes the image's orientation. If so, and the Exif metadata for the
182      * input image populates the orientation field, the value of
183      * <code>OrientationCorrection</code> is null. The <code>CelebrityFaces</code> and
184      * <code>UnrecognizedFaces</code> bounding box coordinates represent face locations
185      * after Exif metadata is used to correct the image orientation. Images in .png
186      * format don't contain Exif metadata. </p>
187      */
SetOrientationCorrection(const OrientationCorrection & value)188     inline void SetOrientationCorrection(const OrientationCorrection& value) { m_orientationCorrection = value; }
189 
190     /**
191      *  <p>Support for estimating image orientation using the the
192      * OrientationCorrection field has ceased as of August 2021. Any returned values
193      * for this field included in an API response will always be NULL.</p>
194      * <p>The orientation of the input image (counterclockwise direction). If your
195      * application displays the image, you can use this value to correct the
196      * orientation. The bounding box coordinates returned in
197      * <code>CelebrityFaces</code> and <code>UnrecognizedFaces</code> represent face
198      * locations before the image orientation is corrected. </p>  <p>If the input
199      * image is in .jpeg format, it might contain exchangeable image (Exif) metadata
200      * that includes the image's orientation. If so, and the Exif metadata for the
201      * input image populates the orientation field, the value of
202      * <code>OrientationCorrection</code> is null. The <code>CelebrityFaces</code> and
203      * <code>UnrecognizedFaces</code> bounding box coordinates represent face locations
204      * after Exif metadata is used to correct the image orientation. Images in .png
205      * format don't contain Exif metadata. </p>
206      */
SetOrientationCorrection(OrientationCorrection && value)207     inline void SetOrientationCorrection(OrientationCorrection&& value) { m_orientationCorrection = std::move(value); }
208 
209     /**
210      *  <p>Support for estimating image orientation using the the
211      * OrientationCorrection field has ceased as of August 2021. Any returned values
212      * for this field included in an API response will always be NULL.</p>
213      * <p>The orientation of the input image (counterclockwise direction). If your
214      * application displays the image, you can use this value to correct the
215      * orientation. The bounding box coordinates returned in
216      * <code>CelebrityFaces</code> and <code>UnrecognizedFaces</code> represent face
217      * locations before the image orientation is corrected. </p>  <p>If the input
218      * image is in .jpeg format, it might contain exchangeable image (Exif) metadata
219      * that includes the image's orientation. If so, and the Exif metadata for the
220      * input image populates the orientation field, the value of
221      * <code>OrientationCorrection</code> is null. The <code>CelebrityFaces</code> and
222      * <code>UnrecognizedFaces</code> bounding box coordinates represent face locations
223      * after Exif metadata is used to correct the image orientation. Images in .png
224      * format don't contain Exif metadata. </p>
225      */
WithOrientationCorrection(const OrientationCorrection & value)226     inline RecognizeCelebritiesResult& WithOrientationCorrection(const OrientationCorrection& value) { SetOrientationCorrection(value); return *this;}
227 
228     /**
229      *  <p>Support for estimating image orientation using the the
230      * OrientationCorrection field has ceased as of August 2021. Any returned values
231      * for this field included in an API response will always be NULL.</p>
232      * <p>The orientation of the input image (counterclockwise direction). If your
233      * application displays the image, you can use this value to correct the
234      * orientation. The bounding box coordinates returned in
235      * <code>CelebrityFaces</code> and <code>UnrecognizedFaces</code> represent face
236      * locations before the image orientation is corrected. </p>  <p>If the input
237      * image is in .jpeg format, it might contain exchangeable image (Exif) metadata
238      * that includes the image's orientation. If so, and the Exif metadata for the
239      * input image populates the orientation field, the value of
240      * <code>OrientationCorrection</code> is null. The <code>CelebrityFaces</code> and
241      * <code>UnrecognizedFaces</code> bounding box coordinates represent face locations
242      * after Exif metadata is used to correct the image orientation. Images in .png
243      * format don't contain Exif metadata. </p>
244      */
WithOrientationCorrection(OrientationCorrection && value)245     inline RecognizeCelebritiesResult& WithOrientationCorrection(OrientationCorrection&& value) { SetOrientationCorrection(std::move(value)); return *this;}
246 
247   private:
248 
249     Aws::Vector<Celebrity> m_celebrityFaces;
250 
251     Aws::Vector<ComparedFace> m_unrecognizedFaces;
252 
253     OrientationCorrection m_orientationCorrection;
254   };
255 
256 } // namespace Model
257 } // namespace Rekognition
258 } // namespace Aws
259