System/Library/PrivateFrameworks/MediaAnalysis.framework
VCPFaceShapeModel.h
@class NSObject, VCPPnPSolver, VCPFaceTensorModel;
@protocol OS_dispatch_group, OS_dispatch_queue;
@interface VCPFaceShapeModel : NSObject {
VCPFaceTensorModel *_tensorModel;
int _numVertices;
float *_curMesh;
float *_cur2D;
int _numInternalLms;
int *_lmCoord;
float *_lmWeight;
int _numBoundaryLms;
int *_boundaryLmIndices;
int _numBoundaryVertices;
int *_boundaryVertices;
BOOL *_boundaryLandmarkValidity;
struct { float x0; float x1; int x2; } *_chPts;
BOOL *_chPtSelected;
BOOL _boundaryLmUpdated;
int _chCount;
float *_curBlendshapes;
float *_curCoeff;
float *_curExprWeights;
float *_prevExprWeights;
float *_exprWeightDiagMatrix;
float *_transformedCoeff;
float *_blendShapeDelta;
float _trans[8];
float _intrinsicMatrix[9];
float _extrinsicMatrix[12];
float _eulerAngle[3];
float _rotMatrix[9];
float _LM2D[126];
float _LM3D[189];
float *_lm3dBlendshapes;
float *_lm3dMeanBlendshapes;
float *_lm3dBlendshapeComponents;
int _numFrmsSinceLastShapeUpdate;
BOOL _shapeUpdateInProgress;
VCPPnPSolver *_poseSolver;
NSObject<OS_dispatch_group> *_updateShapeGroup;
NSObject<OS_dispatch_queue> *_updateShapeQueue;
float *_asyncBlendshapes;
float *_asyncLmBlendshapes;
float _asyncExtMat[12];
float _asyncLm2d[126];
float _asyncWeights[51];
BOOL _identityInit;
}
@property int processingMode;
@property (readonly) void *meshVertices;
@property (readonly) unsigned long long vertexCount;
@property int detectionModeCounterShapeModel;
- (void)dealloc;
- (id)initWithMode:(int)a0;
- (void).cxx_destruct;
- (id)blendShapes;
- (struct { void /* unknown type, empty encoding */ x0[4]; })getPose;
- (void)calculateBlendshapeWeights:(float *)a0 prevWeights:(float *)a1 lmBlendshapes:(float *)a2 maxIter:(int)a3;
- (void)calculateIdentityCoefficients:(float *)a0 extrinsicMatrix:(float *)a1 pts2D:(float *)a2 exprWeights:(float *)a3 lm3DMeanBlendshapes:(float *)a4 lm3DComponents:(float *)a5 maxIter:(int)a6;
- (void)calculatePosePnpSolver:(int)a0;
- (BOOL)fitOneImage:(float *)a0;
- (void)getEulerAngle:(float *)a0;
- (void)getInternal3dLandmarksCoordinates:(const float *)a0 lm3dPos:(float *)a1;
- (void)getOneInternalLandmarkCoordinates:(const float *)a0 lmCoord:(const int *)a1 lmWeight:(const float *)a2 lm3dPos:(float *)a3;
- (struct matrix<double, 6L, 1L, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout> { struct layout<double, 6L, 1L, dlib::memory_manager_stateless_kernel_1<char>, 1> { double x0[6]; } x0; })getPoseParam;
- (BOOL)isIdentityInit;
- (void)moveBoundaryLandmarks:(const float *)a0 output:(float *)a1 isInput:(BOOL)a2;
- (BOOL)optimizeProjectionMatrix:(int)a0 tracking:(BOOL)a1 firstPass:(BOOL)a2;
- (void)project3Dto2D:(float *)a0 intrinsinc:(float *)a1 extrinsic:(float *)a2 numVert:(int)a3 out2dpts:(float *)a4;
- (void)projectAndUpdateBoundary;
- (void)reestimateProjectionMatrixPnP;
- (void)resetIdentityAndExpressions;
- (int)setCameraIntrinsics:(float)a0 uc:(float)a1 vc:(float)a2;
- (int)setupModel:(int)a0;
- (BOOL)trackFaceMesh:(float *)a0;
- (void)updateBoundary3dLandmarkBlendshapes:(const float *)a0 numBlendshapes:(int)a1 pts2D:(const float *)a2 lm2D:(const float *)a3 lmBlendshapes:(float *)a4;
- (void)updateBoundaryLandmarkCoordinates:(const float *)a0 pts2D:(const float *)a1 lm2D:(const float *)a2 lm3dPos:(float *)a3;
- (void)updateBoundaryLmForShapeOptimization;
- (void)updateFocalLengthInPixels:(float)a0;
- (void)updateIdentityShape:(float *)a0;
- (void)updateIntrinsic:(float)a0 vc:(float)a1;
- (void)updateMeshAndLm3dAfterExpressionChange;
- (void)updateMeshVertices;
- (void)updateShapeCoeff:(float *)a0 extrinsicMatrix:(float *)a1 pts2D:(float *)a2 exprWeights:(float *)a3 outputblendshapes:(float *)a4;
@end