Ejemplo n.º 1
0
        public TargetViewModel(ITargetLocation targetModel, ITransformation transformation, ICalibration calibration, IACPC acpc)
        {
            _targetModel             = targetModel;
            _transformationInterface = transformation;
            _calibrationInterface    = calibration;
            _acpcInterface           = acpc;

            // subscribe to the event with the proper function
            // the event is TargetLocationChangedRas
            // the function when the event is fired is TargetModel_TargetLocationChangedRas
            _targetModel.TargetLocationChangedRas    += TargetModel_TargetLocationChangedRas;
            _targetModel.TargetAcPcEnabledChanged    += TargetModel_TargetAcPcEnabledChanged;
            _calibrationInterface.CalibrationChanged += CalibrationInterface_CalibrationChanged;
            _acpcInterface.ACPCLengthChanged         += ACPCInterface_ACPCLengthChanged;
            _acpcInterface.ACPCOriginUpdated         += ACPCInterface_ACPCOriginUpdated;
        }
Ejemplo n.º 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;
        }