public ROI ConvertToProgROI(GeoDataGridViewModel raw, GeoDataGridViewModel[] dependROIs, int _circleDistanceSetting)
 {
     var model = convertToProgGraphicModel(raw, dependROIs);
     ROI progROI = null;
     switch (model.GeoType)
     {
         case MeasureType.Angle:
             progROI = new ROIProgAngle(model);
             break;
         case MeasureType.Circle:
         case MeasureType.PointCircle:
             progROI = new ROIProgCircle(model) { CircleDistanceSetting = _circleDistanceSetting };
             break;
         case MeasureType.CrossPoint:
             progROI = new ROIProgPoint(model);
             break;
         case MeasureType.Distance:
         case MeasureType.DistanceX:
         case MeasureType.DistanceY:
             progROI = new ROIProgDistance(model);
             break;
         case MeasureType.SymmetryLine:
             progROI = new ROIProgSymmetryLine(model);
             break;
     }
     return progROI;
 }
 public ROIProgDistance ConvertToROIProgDistance(ProgGraphicModel raw)
 {
     ROIProgDistance model = new ROIProgDistance(raw);
     return model;
 }