private void CreateFaceModel(FaceModelData data) { this.Model = data.ProduceFaceModel(); this.ModelBuilder.Dispose(); this.ModelBuilder = null; this.CollectionCompleted = true; if (this.Name == null) { foreach (var face in DatabaseManager.AllFaces) { double diff = 0; foreach (FaceShapeDeformations fs in Enum.GetValues(typeof(FaceShapeDeformations))) { if (fs != FaceShapeDeformations.Count) { diff += Math.Abs(face.Deformations[fs] - this.Model.FaceShapeDeformations[fs]); } } if (diff < threshold) { this.Name = face.Name; break; } } } }
void collectFaceModelCompleted(FaceModelData faceModelData) { print("Model created!"); faceModel = faceModelData.ProduceFaceModel(); faceModelBuilder.Dispose(); faceModelBuilder = null; IsFaceModelCollectCompleted = true; }