//DEBUG private void _ButtonDebugLoadMeshFromFileAndSetReference_Click(object sender, RoutedEventArgs e) { this._ButtonDebugLoadMeshFromFileAndSetReference.IsEnabled = false; Task t = Task.Factory.StartNew(() => { Microsoft.Win32.OpenFileDialog dialog = new Microsoft.Win32.OpenFileDialog(); dialog.FileName = ""; dialog.Title = "Load Mesh/es to set as reference"; dialog.Filter = "STL Mesh Files|*.stl|All Files|*.*"; int loop = 0; while (true == dialog.ShowDialog()) { loop++; if (loop == 1) { _DataManager.DebugSetReferenceCloud(new DataIntegration.PointCloud(dialog.FileName)); _DataManager.currentReferenceCloud.downsamplePointcloud(Config.ServerConfigManager._ServerConfigObject.serverAlgorithmConfig.downsamplingFactor); } else { DataIntegration.PointCloud pcl = new DataIntegration.PointCloud(dialog.FileName); pcl.downsamplePointcloud(Config.ServerConfigManager._ServerConfigObject.serverAlgorithmConfig.downsamplingFactor); double[,] transformationMatrix = new double[4, 4]; this.Dispatcher.Invoke(() => { DebugTransformationMatrix traWin = new DebugTransformationMatrix(); traWin.ShowDialog(); transformationMatrix = traWin.transformationMatrix; }); _DataManager.currentReferenceCloud.addPointcloudToReference(pcl, transformationMatrix, Config.ServerConfigManager._ServerConfigObject.serverAlgorithmConfig.ICP_perform, Config.ServerConfigManager._ServerConfigObject.serverAlgorithmConfig.ICP_indis); } } }); t.ContinueWith((continuation) => { this.Dispatcher.Invoke(() => { UpdateClientConnectionSatus(); this._DataManager_OnNewPointPicturesEvent(_DataManager.currentReferenceCloud.pictures); this._ButtonSelectPlanes.IsEnabled = true; this._ButtonEuclidianScan.IsEnabled = true; this._ButtonDebugLoadMeshFromFileAndSetReference.IsEnabled = true; }); }); }
//DEBUG private void _ButtonDebugLoadMeshFromFileAndScan_Click(object sender, RoutedEventArgs e) { Microsoft.Win32.OpenFileDialog dialog = new Microsoft.Win32.OpenFileDialog(); dialog.Title = "Load Mesh to scan"; dialog.FileName = ""; dialog.Filter = "STL Mesh Files|*.stl|All Files|*.*"; if (true == dialog.ShowDialog()) { Task t = new Task(() => { DataIntegration.PointCloud pcl = new DataIntegration.PointCloud(dialog.FileName); pcl.downsamplePointcloud(Config.ServerConfigManager._ServerConfigObject.serverAlgorithmConfig.downsamplingFactor); _DataManager._DataIntegrationManager_OnNewScanProcessEvent(pcl); }); t.ContinueWith((continuation) => UpdateClientConnectionSatus()); t.Start(); } }