// *******************************************************************************
//
// ******* *** *** *
// * * * *
// * * * *****
// * * *** * * ** * ** ***
// * * * * * * * **** * * *
// * * * * * * * * * * *
// * *** *** * ** ** ** * *
// *
// *******************************************************************************
// see https://github.com/tgoessler/TCSystemCS for details.
// Copyright (C) 2003 - 2026 Thomas Goessler. All Rights Reserved.
// *******************************************************************************
//
// TCSystem is the legal property of its developers.
// Please refer to the COPYRIGHT file distributed with this source distribution.
//
// *******************************************************************************
namespace TCSystem.MetaData;
/// Provides queries over image-processing flags.
public static class ProcessingInfosExt
{
#region Public
/// Determines whether every configured frontal and CNN face detection has completed.
public static bool AreAllFaceDetectionsDone(this ProcessingInfos processingInfos)
{
return (processingInfos & ProcessingInfos.DlibFrontalFaceDetection2000) != 0 &&
(processingInfos & ProcessingInfos.DlibFrontalFaceDetection3000) != 0 &&
(processingInfos & ProcessingInfos.DlibCnnFaceDetection1000) != 0 &&
(processingInfos & ProcessingInfos.DlibCnnFaceDetection2000) != 0;
}
/// Determines whether both configured frontal-face detections have completed.
public static bool AreAllFrontalFaceDetectionsDone(this ProcessingInfos processingInfos)
{
return (processingInfos & ProcessingInfos.DlibFrontalFaceDetection2000) != 0 &&
(processingInfos & ProcessingInfos.DlibFrontalFaceDetection3000) != 0;
}
/// Determines whether any frontal-face detection has completed.
public static bool IsFrontalFaceDetection(this ProcessingInfos processingInfos)
{
return (processingInfos & ProcessingInfos.DlibFrontalFaceDetection2000) != 0 ||
(processingInfos & ProcessingInfos.DlibFrontalFaceDetection3000) != 0;
}
/// Determines whether any CNN face detection has completed.
public static bool IsCnnFaceDetection(this ProcessingInfos processingInfos)
{
return (processingInfos & ProcessingInfos.DlibCnnFaceDetection1000) != 0 ||
(processingInfos & ProcessingInfos.DlibCnnFaceDetection2000) != 0;
}
#endregion
}