luxlabs header browser preview


@class NSDate, PLPerson, NSString, PLFaceCrop, NSSet, PLManagedAsset, PLDetectedFaceGroup, PLDetectedFaceprint;
@protocol PLSyncablePerson;

@interface PLDetectedFace : PLManagedObject <PLSyncableDetectedFace>

@property (retain, nonatomic) NSSet *rejectedPersons;
@property (nonatomic) double centerX;
@property (nonatomic) double centerY;
@property (nonatomic) double bodyCenterX;
@property (nonatomic) double bodyCenterY;
@property (nonatomic) double size;
@property (nonatomic) double bodyWidth;
@property (nonatomic) double bodyHeight;
@property (nonatomic) int faceAlgorithmVersion;
@property (copy, nonatomic) NSDate *adjustmentVersion;
@property (retain, nonatomic) id<PLSyncablePerson> personForFace;
@property (retain, nonatomic) id<PLSyncablePerson> personBeingKeyFace;
@property (nonatomic) long long sourceWidth;
@property (nonatomic) long long sourceHeight;
@property (readonly, nonatomic) BOOL isTrainingFace;
@property (nonatomic) BOOL manual;
@property (nonatomic) BOOL hidden;
@property (nonatomic) int nameSource;
@property (nonatomic) int cloudNameSource;
@property (nonatomic) int trainingType;
@property (nonatomic) short detectionType;
@property (nonatomic) short cloudLocalState;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (readonly, retain, nonatomic) id localID;
@property (nonatomic) int nameSource;
@property (nonatomic) int cloudNameSource;
@property (readonly, nonatomic) PLManagedAsset *assetForTorso;
@property (readonly, nonatomic) PLPerson *personForTorso;
@property (retain, nonatomic) PLManagedAsset *assetForFace;
@property (retain, nonatomic) PLManagedAsset *assetForTemporalDetectedFaces;
@property (retain, nonatomic) PLFaceCrop *faceCrop;
@property (retain, nonatomic) PLDetectedFaceGroup *faceGroup;
@property (retain, nonatomic) PLDetectedFaceprint *faceprint;
@property (retain, nonatomic) PLPerson *personForFace;
@property (retain, nonatomic) PLPerson *personForTemporalDetectedFaces;
@property (retain, nonatomic) PLPerson *personBeingKeyFace;
@property (retain, nonatomic) NSSet *rejectedPersons;
@property (retain, nonatomic) PLDetectedFaceGroup *faceGroupBeingKeyFace;
@property (retain, nonatomic) NSString *uuid;
@property (nonatomic) long long sourceWidth;
@property (nonatomic) long long sourceHeight;
@property (nonatomic) double centerX;
@property (nonatomic) double centerY;
@property (nonatomic) double size;
@property (nonatomic) double bodyCenterX;
@property (nonatomic) double bodyCenterY;
@property (nonatomic) double bodyWidth;
@property (nonatomic) double bodyHeight;
@property (nonatomic) short detectionType;
@property (nonatomic) double roll;
@property (nonatomic) BOOL hidden;
@property (nonatomic) BOOL isInTrash;
@property (nonatomic) BOOL manual;
@property (nonatomic) BOOL hasSmile;
@property (nonatomic) double blurScore;
@property (nonatomic) BOOL isLeftEyeClosed;
@property (nonatomic) BOOL isRightEyeClosed;
@property (retain, nonatomic) NSString *masterIdentifier;
@property (nonatomic) short confirmedFaceCropGenerationState;
@property (retain, nonatomic) NSSet *rejectedPersonsNeedingFaceCrops;
@property (retain, nonatomic) NSSet *clusterRejectedPersons;
@property (nonatomic) int trainingType;
@property (nonatomic) short vipModelType;
@property (retain, nonatomic) NSDate *adjustmentVersion;
@property (nonatomic) double poseYaw;
@property (nonatomic) int faceAlgorithmVersion;
@property (nonatomic) int clusterSequenceNumber;
@property (nonatomic) int qualityMeasure;
@property (nonatomic) double quality;
@property (nonatomic) long long vuObservationID;
@property (nonatomic) short cloudLocalState;
@property (readonly, nonatomic) BOOL assetVisible;
@property (nonatomic) int effectiveNameSource;
@property (nonatomic) unsigned short ageType;
@property (nonatomic) unsigned short genderType;
@property (nonatomic) unsigned short eyesState;
@property (nonatomic) unsigned short smileType;
@property (nonatomic) unsigned short facialHairType;
@property (nonatomic) unsigned short hairColorType;
@property (nonatomic) unsigned short glassesType;
@property (nonatomic) unsigned short eyeMakeupType;
@property (nonatomic) unsigned short lipMakeupType;
@property (retain, nonatomic) NSString *groupingIdentifier;
@property (retain, nonatomic) NSSet *detectionTraits;
@property (nonatomic) unsigned short faceExpressionType;
@property (nonatomic) unsigned short headgearType;
@property (nonatomic) unsigned short hairType;
@property (nonatomic) unsigned short poseType;
@property (nonatomic) unsigned short skintoneType;
@property (nonatomic) unsigned short ethnicityType;
@property (nonatomic) BOOL hasFaceMask;
@property (nonatomic) unsigned short gazeType;
@property (nonatomic) double gazeCenterX;
@property (nonatomic) double gazeCenterY;
@property (nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } gazeRect;
@property (nonatomic) float gazeAngle;
@property (nonatomic) float gazeConfidence;
@property (nonatomic) double startTime;
@property (nonatomic) double duration;
@property (retain, nonatomic) NSString *gazeRectString;

+ (id)stringFromGazeRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
+ (id)entityName;
+ (id)syncableFacesToUploadInitiallyInLibrary:(id)a0 limit:(unsigned long long)a1;
+ (void)batchFetchDetectedFacesByAssetUUIDWithAssetUUIDs:(id)a0 predicate:(id)a1 fetchType:(long long)a2 library:(id)a3 completion:(id /* block */)a4;
+ (id)predicatesToExcludeNonVisibleFaces;
+ (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })cgRectFromGazeRectString:(id)a0;
+ (id)syncableFacesPredicate;
+ (id)predicateToExcludeFaceDetection;
+ (id)detectedFaceWithUUID:(id)a0 inManagedObjectContext:(id)a1;
+ (id)predicateForFetchType:(long long)a0;
+ (id)predicateForFaceCountTrigger;
+ (id)_syncableFacesToUploadInitiallyPredicate;
+ (id)_facesMatchingPredicate:(id)a0 limit:(unsigned long long)a1 inPhotoLibrary:(id)a2;
+ (void)batchFetchKeyFaceByPersonObjectIDWithPersonObjectIDs:(id)a0 library:(id)a1 completion:(id /* block */)a2;
+ (void)enumerateAssetUUIDsForSearchIndexingWithDetectedFaceUUIDs:(id)a0 managedObjectContext:(id)a1 assetUUIDHandler:(id /* block */)a2;
+ (id)findExistingFaceMatchingDimension:(id)a0 inFaces:(id)a1 ignoreSourceAssetDimensions:(BOOL)a2;
+ (id)predicatesForFacesNeedingFaceCropGeneration;
+ (id)predicateForIncludedDetectionTypes:(id)a0;
+ (void)resetCloudStateInPhotoLibrary:(id)a0;
+ (id)predicateForArchival;
+ (id)predicateToExcludeBodyOnlyDetection;
+ (long long)resetAssetForAllSyncableFacesInManagedObjectContext:(id)a0 error:(id *)a1;
+ (id)assetIDsWithAllPersonsFromPersonIDs:(id)a0 inContext:(id)a1;

- (void)willSave;
- (void)delete;
- (BOOL)validateForUpdate:(id *)a0;
- (id)payloadForChangedKeys:(id)a0;
- (void)awakeFromInsert;
- (id)payloadID;
- (id)payloadIDForTombstone:(id)a0;
- (BOOL)supportsCloudUpload;
- (BOOL)isSyncableChange;
- (BOOL)validateForInsert:(id *)a0;
- (id)debugLogDescription;
- (id)cplFullRecord;
- (BOOL)isValidForJournalPersistence;
- (void)removeFaceprint;
- (void)addClusterRejectedPerson:(id)a0;
- (void)addRejectedPersonNeedingFaceCrops:(id)a0;
- (id)associatedAssetForFaceOrTorso:(BOOL)a0 orTemporal:(BOOL)a1;
- (id)associatedPersonForFaceOrTorso:(BOOL)a0 orTemporal:(BOOL)a1;
- (void)fixAssetRelationshipsForFaceTorsoOrTemporal;
- (void)fixPersonRelationshipsForFaceTorsoOrTemporal;
- (BOOL)isTorsoOnly;
- (id)namingDescription;
- (void)setAssociatedPerson:(id)a0;
- (double)photosFaceRepresentationCenterX;
- (double)photosFaceRepresentationQuality;
- (id)syncDescription;
- (BOOL)_isFaceAndTorso;
- (BOOL)_isTemporalFace;
- (double)photosFaceRepresentationCenterY;
- (void)_fixUpTemporalRelationships;
- (BOOL)_isFaceOnly;
- (BOOL)_isNeitherFaceNorTorso;
- (BOOL)_startTimeAndDurationAreValid;
- (void)_touchPersonForPersistenceIfNeeded;
- (void)_updateFaceGroupIfNeeded;
- (BOOL)_validateForOperation:(id)a0 error:(id *)a1;
- (void)_verifyAssetRelationship;
- (void)_verifyTorsoRelationships;
- (void)addRejectedPerson:(id)a0;
- (void)migration_setAssetForTorso:(id)a0;
- (void)migration_setPersonForTorso:(id)a0;
- (double)photosFaceRepresentationBlurScore;
- (double)photosFaceRepresentationBodyCenterX;
- (double)photosFaceRepresentationBodyCenterY;
- (double)photosFaceRepresentationBodyHeight;
- (double)photosFaceRepresentationBodyWidth;
- (long long)photosFaceRepresentationClusterSequenceNumber;
- (BOOL)photosFaceRepresentationHasSmile;
- (BOOL)photosFaceRepresentationIsLeftEyeClosed;
- (BOOL)photosFaceRepresentationIsRightEyeClosed;
- (id)photosFaceRepresentationLocalIdentifier;
- (long long)photosFaceRepresentationQualityMeasure;
- (double)photosFaceRepresentationRoll;
- (double)photosFaceRepresentationSize;
- (long long)photosFaceRepresentationSourceHeight;
- (long long)photosFaceRepresentationSourceWidth;
- (void)removeAllPersonRelationships;
- (void)setAssociatedAsset:(id)a0;
- (BOOL)validForPersistenceChangedForChangedKeys:(id)a0;

@end