public void Scan(Point3D point) { if (point != null) { VoidScanner.ScannerProperties.LastScanPoint = point; } if (VoidScanner.ScannerProperties.LastScanPoint == null) { return; } Cursor = Cursors.WaitCursor; Owner.Enabled = false; Task.Factory.StartNew(() => { VoidScanner.Build(VoidScanner.ScannerProperties.LastScanPoint, Axis.Z, Progress); }).ContinueWith((t) => { Owner.Enabled = true; Cursor = Cursors.Default; }, TaskScheduler.FromCurrentSynchronizationContext()); }
public MainForm() { _labelMapSet = new LabelMapSet(_scanSet, action => this.Invoke(action)); _lookupTable = new LookupTable(_scanSet); _crossChecker = new CrossChecker(_labelMapSet); _voidScanner = new VoidScanner(_scanSet, _lookupTable, () => _labelMapSet.Current, _crossChecker); _threshScanner = new ThresholdScanner(_scanSet, _lookupTable, () => _labelMapSet.Current, _crossChecker); _edgeScanner = new EdgeScanner(_scanSet, _lookupTable, () => _labelMapSet.Current, _crossChecker); InitializeComponent(); _rayCastingPropertiesView.Init(_voidScanner, new Progress(progBar), this); _thresholdPropertiesView.Init(_threshScanner, new Progress(progBar), this); edgeFinderProperties1.Init(_edgeScanner, new Progress(progBar), this); labelMapView.LabelMapSet = _labelMapSet; labelMapView.Init(); _3dView = new View.View3D(_labelMapSet); _3dView.Dock = DockStyle.Fill; _imageInterpolation = new ImageInterpolation(); _imageInterpolation.Lookup = _lookupTable; _imageInterpolation.Init(); _imageInterpolation.Dock = DockStyle.Fill; projectionViewX = new ProjectionView(Axis.X, _scanSet, _lookupTable, _labelMapSet, this); projectionViewY = new ProjectionView(Axis.Y, _scanSet, _lookupTable, _labelMapSet, this); projectionViewZ = new ProjectionView(Axis.Z, _scanSet, _lookupTable, _labelMapSet, this); _labelMapSet.LabelMapCurrentSelectionChanged += LabelMapSetOnLabelMapCurrentSelectionChanged; InitUI(); }
public void Init(VoidScanner scanner, IProgress progress, Form owner) { Owner = owner; Progress = progress; VoidScanner = scanner; UpdateView(); Parent.Tag = this; }