/// <summary> /// Will update algorithm result according to <code>newPoint</code> and will notify UI /// </summary> /// <param name="oldPoint">saved point in algorithm result</param> /// <param name="newPoint">new point modified by UI</param> public void UpdatePoints(Point3D oldPoint, Point3D newPoint) { Point3D foundPoint = this.CreatedResult.KMatrix.Find(p3D => p3D.X.CompareTo(oldPoint.X) == 0 && p3D.Y.CompareTo(oldPoint.Y) == 0); if (foundPoint != null) { foundPoint.X = newPoint.X; foundPoint.Y = newPoint.Y; foundPoint.Z = newPoint.Z; } this.CreatedResult = this.Builder.RebuildSurface(this.CreatedResult.KMatrix); ModelDelegate.OnPointsAlgProcessed(); }
/// <summary> /// Will process collected points and pass notification to UI when algorithm result is ready /// </summary> public void ProcessData() { this.NoiseFilter.Reset(); this.CreatedResult = this.Builder.BuildSurface(this.AlgPoints.ConvertAll(hand => hand.Position)); ModelDelegate.OnPointsAlgProcessed(); }
/// <summary> /// Load algorithm result from xml /// </summary> /// <param name="layout">xml format of algorithm result</param> public void LoadRequest(XElement layout) { this.CreatedResult = this.Builder.RebuildSurface(layout); ModelDelegate.OnPointsAlgProcessed(); }