/// <summary> /// 加载配置文件 /// </summary> /// <param name="file">文件路径</param> public void LoadFromFile(string file) { try { if (string.IsNullOrEmpty(file)) { throw new ArgumentException("无效路径/文件不存在"); } CalibrationParam calibrationParam = JsonSerialization.DeserializeObjectFromFile <CalibrationParam>(file); if (calibrationParam != null) { CalibrationParam = calibrationParam; } else { CalibrationParam = new CalibrationParam(); } } catch (Exception ex) { OnMessageRaised(MessageLevel.Err, ex.Message, ex); } finally { } }
/// <summary> /// 创建BaseCalibreationViewModel新实例 /// </summary> /// <param name="calibParam">标定参数</param> public CalibrationViewModel(CalibParam calibParam) { CalibrationParam = new CalibrationParam(); if (calibParam != null) { foreach (var item in calibParam.CalibPointList) { CalibrationParam.CalibPointList.Add(new CalibrationPoint(item)); } CalibrationParam.InvMatrix = calibParam.InvMatrix; CalibrationParam.Matrix = calibParam.Matrix; CalibrationParam.IsValid = calibParam.IsValid; } calibrationPointLocations.Clear(); foreach (ECalibrationPointLocation item in Enum.GetValues(typeof(ECalibrationPointLocation))) { calibrationPointLocations.Add(item); } sceneManager = SceneManager.GetInstance(); UpdateScenes(); //foreach (ECalibrationPointLocation item in Enum.GetValues(typeof(ECalibrationPointLocation))) //{ // calibrationPointLocations.Add(item, (Attribute.GetCustomAttribute(item.GetType().GetField(item.ToString()), typeof(DescriptionAttribute)) as DescriptionAttribute).Description); //} }