示例#1
0
        public MDViewModel(IMovementDetection mdModel)
        {
            _mdModel = mdModel;
            _mdModel.CanStartRefScanChanged += MDModel_CanStartRefScanChanged;
            _mdModel.CanDetectChanged       += MDModel_CanDetectChanged;
            _mdModel.MDVectorChanged        += MDModel_MDVectorChanged;

            StartRefScan = new DelegateCommand(_mdModel.StartRefScan, () => { return(_mdModel.CanStartRefScan); });
            Detect       = new DelegateCommand(_mdModel.Detect, () => { return(_mdModel.CanDetect); });
        }
示例#2
0
        public MainViewModel(
            Dispatcher dispatcher,
            IEventAggregator eventAggregator,
            ISeriesSelectorController seriesSelectorController,
            IUiModeChanges uiModeModel,
            ITargetLocation targetModel,
            ITransformation transformationInterface,
            IStripsViewerLayoutController viewerLayoutController,
            ICalibration calibrationInterface,
            IMovementDetection movementDetectionModel,
            ILocateXD locateXDModel,
            IStripsManager stripsManager,
            IACPC acpcInterface,
            IRigidNPR rigidNPRInterface)
        {
            _dispatcher               = dispatcher;
            _eventAggregator          = eventAggregator;
            _seriesSelectorController = seriesSelectorController;

            _uiModeModel                        = uiModeModel;
            _uiModeModel.ModeChanged           += (s, a) => UiModeChanged?.Invoke(s, a);
            _uiModeModel.LayerVisiblityChanged += (s, a) => LayerVisibilityChanged?.Invoke(s, a);

            _viewerLayoutController = viewerLayoutController;
            _stripsManager          = stripsManager;
            _rigidNPR = rigidNPRInterface;

            ACPC = new TargetViewModel(targetModel, transformationInterface, calibrationInterface, acpcInterface);

            MD      = new MDViewModel(movementDetectionModel);
            XDCalib = new XDCalibViewModel(locateXDModel);

            SwitchLayoutCommand      = new DelegateCommand <StripsViewerLayout>(SwitchLayout);
            AppWorkingOcurredCommand = new DelegateCommand(() => _eventAggregator.GetEvent <AppWorkingEvent>().Publish());

            StripsViewerLayouts = new ObservableCollection <StripsViewerLayout>(_viewerLayoutController.Layouts);

            _seriesSelectorController.SeriesSelected += OnSeriesSelected;
            _stripsManager.Changed += OnStripsManagerChanged;
        }