메모

topography 수정 건 참고

Lucky-John 2021. 7. 31. 07:41

// ex) sectionName : "Analysis"
// ex) itemName : "topoDefaultOverlayCMaps"
// ex) type : Defs.MapOverlayType.Meridian

// Utils.cs
public static Defs.MapOverlayType setDefaultMapOverlayForCurvatureMaps(

        String configFilePath, Defs.MapOverlayType type)
{
    IniParser parser = new IniParser(configFilePath);

    var item = Defs.kCMapDefaultOverlayTypeList.Find((x) => x.Item2 == type);
    if (item == default(Tuple<int, Defs.MapOverlayType>))
       return Defs.MapOverlayType.None;

     parser.SetSetting("Analysis", "topoDefaultOverlayCMaps", ConverTo.String(item.Item1));
}

public static Defs.MapOverlayType getDefaultMapOverlayForCurvatureMaps(String configFilePath)
{
     IniParser parser = new IniParser(configFilePath);

     var strValue = parser.GetSetting("Analysis", "topoDefaultOverlayCMaps");
     if (strValue == null)
        return Defs.MapOverlayType.None;

      var item = Defs.kCMapDefaultOverlayTypeList.Find((x) => x.Item1 == int.Parse(strValue));
      if (item == default(Tuple<int, Defs.MapOverlayType>))
         return Defs.MapOverlayType.None;

      return item.Item2;
}


// SinglePageBodyDetail.xaml.cs
private void MapItemSelected(MapView mapView, string mapName)
{
     var mapData = Utils.getMapDataBy(DataAccessor.Ins.SelfMeas, mapName);
     if (mapData == null)
        return;

     var mna = DataHdlr.getMNA(DataAccessor.Ins.SelfMeas, mapData.Item1);

    mapView.setMapData(mapData, mna, DataAccessor.Ins.SelfMeas.ExamInfo.DataDir);

      // default overlay
     Defs.MapOverlayType overlayType;
      if (Utils.isCurvatureMap(mapData.Item1))
      {
         overlayType = Utils.getDefaultMapOverlayForCurvatureMaps(DataAccessor.Ins.UserConfigFilePath);
       }
      else
      {
         overlayType = Utils.getDefaultMapOverlayForThicknessMaps(DataAccessor.Ins.UserConfigFilePath);
     }

     mapView.setOverlayType(overlayType);

     mapView.updateDisplay();
}