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

Provides face metadata for target image faces that are analyzed by * CompareFaces and RecognizeCelebrities.

See * Also:

AWS * API Reference

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

Bounding box of the face.

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

Bounding box of the face.

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

Bounding box of the face.

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

Bounding box of the face.

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

Bounding box of the face.

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

Bounding box of the face.

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

Level of confidence that what the bounding box contains is a face.

*/ inline double GetConfidence() const{ return m_confidence; } /** *

Level of confidence that what the bounding box contains is a face.

*/ inline bool ConfidenceHasBeenSet() const { return m_confidenceHasBeenSet; } /** *

Level of confidence that what the bounding box contains is a face.

*/ inline void SetConfidence(double value) { m_confidenceHasBeenSet = true; m_confidence = value; } /** *

Level of confidence that what the bounding box contains is a face.

*/ inline ComparedFace& WithConfidence(double value) { SetConfidence(value); return *this;} /** *

An array of facial landmarks.

*/ inline const Aws::Vector& GetLandmarks() const{ return m_landmarks; } /** *

An array of facial landmarks.

*/ inline bool LandmarksHasBeenSet() const { return m_landmarksHasBeenSet; } /** *

An array of facial landmarks.

*/ inline void SetLandmarks(const Aws::Vector& value) { m_landmarksHasBeenSet = true; m_landmarks = value; } /** *

An array of facial landmarks.

*/ inline void SetLandmarks(Aws::Vector&& value) { m_landmarksHasBeenSet = true; m_landmarks = std::move(value); } /** *

An array of facial landmarks.

*/ inline ComparedFace& WithLandmarks(const Aws::Vector& value) { SetLandmarks(value); return *this;} /** *

An array of facial landmarks.

*/ inline ComparedFace& WithLandmarks(Aws::Vector&& value) { SetLandmarks(std::move(value)); return *this;} /** *

An array of facial landmarks.

*/ inline ComparedFace& AddLandmarks(const Landmark& value) { m_landmarksHasBeenSet = true; m_landmarks.push_back(value); return *this; } /** *

An array of facial landmarks.

*/ inline ComparedFace& AddLandmarks(Landmark&& value) { m_landmarksHasBeenSet = true; m_landmarks.push_back(std::move(value)); return *this; } /** *

Indicates the pose of the face as determined by its pitch, roll, and yaw.

*/ inline const Pose& GetPose() const{ return m_pose; } /** *

Indicates the pose of the face as determined by its pitch, roll, and yaw.

*/ inline bool PoseHasBeenSet() const { return m_poseHasBeenSet; } /** *

Indicates the pose of the face as determined by its pitch, roll, and yaw.

*/ inline void SetPose(const Pose& value) { m_poseHasBeenSet = true; m_pose = value; } /** *

Indicates the pose of the face as determined by its pitch, roll, and yaw.

*/ inline void SetPose(Pose&& value) { m_poseHasBeenSet = true; m_pose = std::move(value); } /** *

Indicates the pose of the face as determined by its pitch, roll, and yaw.

*/ inline ComparedFace& WithPose(const Pose& value) { SetPose(value); return *this;} /** *

Indicates the pose of the face as determined by its pitch, roll, and yaw.

*/ inline ComparedFace& WithPose(Pose&& value) { SetPose(std::move(value)); return *this;} /** *

Identifies face image brightness and sharpness.

*/ inline const ImageQuality& GetQuality() const{ return m_quality; } /** *

Identifies face image brightness and sharpness.

*/ inline bool QualityHasBeenSet() const { return m_qualityHasBeenSet; } /** *

Identifies face image brightness and sharpness.

*/ inline void SetQuality(const ImageQuality& value) { m_qualityHasBeenSet = true; m_quality = value; } /** *

Identifies face image brightness and sharpness.

*/ inline void SetQuality(ImageQuality&& value) { m_qualityHasBeenSet = true; m_quality = std::move(value); } /** *

Identifies face image brightness and sharpness.

*/ inline ComparedFace& WithQuality(const ImageQuality& value) { SetQuality(value); return *this;} /** *

Identifies face image brightness and sharpness.

*/ inline ComparedFace& WithQuality(ImageQuality&& value) { SetQuality(std::move(value)); return *this;} /** *

The emotions that appear to be expressed on the face, and the confidence * level in the determination. Valid values include "Happy", "Sad", "Angry", * "Confused", "Disgusted", "Surprised", "Calm", "Unknown", and "Fear".

*/ inline const Aws::Vector& GetEmotions() const{ return m_emotions; } /** *

The emotions that appear to be expressed on the face, and the confidence * level in the determination. Valid values include "Happy", "Sad", "Angry", * "Confused", "Disgusted", "Surprised", "Calm", "Unknown", and "Fear".

*/ inline bool EmotionsHasBeenSet() const { return m_emotionsHasBeenSet; } /** *

The emotions that appear to be expressed on the face, and the confidence * level in the determination. Valid values include "Happy", "Sad", "Angry", * "Confused", "Disgusted", "Surprised", "Calm", "Unknown", and "Fear".

*/ inline void SetEmotions(const Aws::Vector& value) { m_emotionsHasBeenSet = true; m_emotions = value; } /** *

The emotions that appear to be expressed on the face, and the confidence * level in the determination. Valid values include "Happy", "Sad", "Angry", * "Confused", "Disgusted", "Surprised", "Calm", "Unknown", and "Fear".

*/ inline void SetEmotions(Aws::Vector&& value) { m_emotionsHasBeenSet = true; m_emotions = std::move(value); } /** *

The emotions that appear to be expressed on the face, and the confidence * level in the determination. Valid values include "Happy", "Sad", "Angry", * "Confused", "Disgusted", "Surprised", "Calm", "Unknown", and "Fear".

*/ inline ComparedFace& WithEmotions(const Aws::Vector& value) { SetEmotions(value); return *this;} /** *

The emotions that appear to be expressed on the face, and the confidence * level in the determination. Valid values include "Happy", "Sad", "Angry", * "Confused", "Disgusted", "Surprised", "Calm", "Unknown", and "Fear".

*/ inline ComparedFace& WithEmotions(Aws::Vector&& value) { SetEmotions(std::move(value)); return *this;} /** *

The emotions that appear to be expressed on the face, and the confidence * level in the determination. Valid values include "Happy", "Sad", "Angry", * "Confused", "Disgusted", "Surprised", "Calm", "Unknown", and "Fear".

*/ inline ComparedFace& AddEmotions(const Emotion& value) { m_emotionsHasBeenSet = true; m_emotions.push_back(value); return *this; } /** *

The emotions that appear to be expressed on the face, and the confidence * level in the determination. Valid values include "Happy", "Sad", "Angry", * "Confused", "Disgusted", "Surprised", "Calm", "Unknown", and "Fear".

*/ inline ComparedFace& AddEmotions(Emotion&& value) { m_emotionsHasBeenSet = true; m_emotions.push_back(std::move(value)); return *this; } /** *

Indicates whether or not the face is smiling, and the confidence level in * the determination.

*/ inline const Smile& GetSmile() const{ return m_smile; } /** *

Indicates whether or not the face is smiling, and the confidence level in * the determination.

*/ inline bool SmileHasBeenSet() const { return m_smileHasBeenSet; } /** *

Indicates whether or not the face is smiling, and the confidence level in * the determination.

*/ inline void SetSmile(const Smile& value) { m_smileHasBeenSet = true; m_smile = value; } /** *

Indicates whether or not the face is smiling, and the confidence level in * the determination.

*/ inline void SetSmile(Smile&& value) { m_smileHasBeenSet = true; m_smile = std::move(value); } /** *

Indicates whether or not the face is smiling, and the confidence level in * the determination.

*/ inline ComparedFace& WithSmile(const Smile& value) { SetSmile(value); return *this;} /** *

Indicates whether or not the face is smiling, and the confidence level in * the determination.

*/ inline ComparedFace& WithSmile(Smile&& value) { SetSmile(std::move(value)); return *this;} private: BoundingBox m_boundingBox; bool m_boundingBoxHasBeenSet = false; double m_confidence; bool m_confidenceHasBeenSet = false; Aws::Vector m_landmarks; bool m_landmarksHasBeenSet = false; Pose m_pose; bool m_poseHasBeenSet = false; ImageQuality m_quality; bool m_qualityHasBeenSet = false; Aws::Vector m_emotions; bool m_emotionsHasBeenSet = false; Smile m_smile; bool m_smileHasBeenSet = false; }; } // namespace Model } // namespace Rekognition } // namespace Aws