예제 #1
0
        /// <summary>
        /// Sets up
        /// </summary>
        /// <param name="selectedMeasurementMethod"></param>
        /// <returns></returns>
        public bool SetupMeasurementMethod(MeasurementMethodEnum selectedMeasurementMethod)
        {
            PositionBuffer.Clear();

            _selectedMeasurementMethod?.Subscriptions.Clear();
            SelectedMeasurementMethod  = selectedMeasurementMethod;
            _selectedMeasurementMethod = _measurementMethodFactory.GetMeasurementMethod(selectedMeasurementMethod);
            _measurementSource.OnNext(_selectedMeasurementMethod);

            return(true);
        }
        public IMeasurementMethod GetMeasurementMethod(MeasurementMethodEnum method)
        {
            switch (method)
            {
            case MeasurementMethodEnum.OneHoleMeasurementMethod:
                return(new OneHoleMeasurementMethod());

            case MeasurementMethodEnum.TwoHolesMeasurementMethod:
                return(new TwoHolesMeasurementMethod());

            case MeasurementMethodEnum.SurfaceParalellismMeasurementMethod:
                return(new SurfaceParalellismMeasurementMethod());

            case MeasurementMethodEnum.SurfacePerpendicularityMeasurementMethod:
                return(new SurfacePerpendicularityMeasurementMethod());

            default:
                return(null);
            }
        }