/// <summary> /// Loads the last setting that has been saved previously. /// </summary> public void LoadLastSetting() { if (savedSetting != null) { InitFromSetting(savedSetting); savedSetting = null; } }
/// <summary> /// Initializes this instance from an existing InterpolationSetting /// </summary> /// <param name="pSetting">The InterpolationSetting to instantiate from.</param> private void InitFromSetting(InterpolationSetting pSetting) { warpAboveDistance = pSetting.warpAboveDistance; interpolateHeavyAboveDistance = pSetting.interpolateHeavyAboveDistance; interpolateAboveDistance = pSetting.interpolateAboveDistance; distanceStrength = pSetting.distanceStrength; warpAboveAngle = pSetting.warpAboveAngle; interpolateHeavyAboveAngle = pSetting.interpolateHeavyAboveAngle; interpolateAboveAngle = pSetting.interpolateAboveAngle; angleStrength = pSetting.angleStrength; }
public void GetParameters(ref InterpolationSetting GI) { Single minX, maxX, minY, maxY; minX = Convert.ToSingle(TB_MinX.Text); maxX = Convert.ToSingle(TB_MaxX.Text); minY = Convert.ToSingle(TB_MinY.Text); maxY = Convert.ToSingle(TB_MaxY.Text); GridDataSetting aGDP = new GridDataSetting(); aGDP.DataExtent.minX = minX; aGDP.DataExtent.maxX = maxX; aGDP.DataExtent.minY = minY; aGDP.DataExtent.maxY = maxY; aGDP.XNum = Convert.ToInt32(TB_XNum.Text); aGDP.YNum = Convert.ToInt32(TB_YNum.Text); GI.GridDataSet = aGDP; GI.InterpolationMethod = (InterpolationMethods)Enum.Parse(typeof(InterpolationMethods), CB_Method.Text, true); switch (GI.InterpolationMethod) { case InterpolationMethods.Cressman: if (TB_Radius.Text.Trim() != string.Empty) { string[] radStrs = TB_Radius.Text.Split(';'); GI.RadList = new List <double>(); for (int i = 0; i < radStrs.Length; i++) { GI.RadList.Add(double.Parse(radStrs[i])); } } else { GI.RadList = new List <double>(); } GI.MinPointNum = Convert.ToInt32(TB_MinNum.Text); break; case InterpolationMethods.IDW_Neighbors: case InterpolationMethods.IDW_Radius: GI.Radius = double.Parse(TB_Radius.Text); GI.MinPointNum = Convert.ToInt32(TB_MinNum.Text); break; } }
public void SetParameters(InterpolationSetting GI) { _GridInter = GI; TB_MinX.Text = GI.GridDataSet.DataExtent.minX.ToString(); TB_MaxX.Text = GI.GridDataSet.DataExtent.maxX.ToString(); TB_MinY.Text = GI.GridDataSet.DataExtent.minY.ToString(); TB_MaxY.Text = GI.GridDataSet.DataExtent.maxY.ToString(); TB_XNum.Text = GI.GridDataSet.XNum.ToString(); TB_YNum.Text = GI.GridDataSet.YNum.ToString(); SetXYSize(); CB_Method.Items.Add(InterpolationMethods.IDW_Radius.ToString()); CB_Method.Items.Add(InterpolationMethods.IDW_Neighbors.ToString()); CB_Method.Items.Add(InterpolationMethods.Cressman.ToString()); CB_Method.Items.Add(InterpolationMethods.AssignPointToGrid.ToString()); CB_Method.Text = GI.InterpolationMethod.ToString(); switch (GI.InterpolationMethod) { case InterpolationMethods.Cressman: string radStr = ""; for (int i = 0; i < GI.RadList.Count; i++) { radStr = radStr + GI.RadList[i].ToString() + ";"; } radStr = radStr.TrimEnd(';'); TB_Radius.Text = radStr; TB_MinNum.Text = GI.MinPointNum.ToString(); TB_UndefData.Text = GI.UnDefData.ToString(); TB_UndefData.ReadOnly = true; break; case InterpolationMethods.IDW_Neighbors: case InterpolationMethods.IDW_Radius: TB_Radius.Text = GI.Radius.ToString(); TB_MinNum.Text = GI.MinPointNum.ToString(); TB_UndefData.Text = GI.UnDefData.ToString(); TB_UndefData.ReadOnly = true; break; case InterpolationMethods.AssignPointToGrid: break; } }
public InterpolationSetting(InterpolationSetting pSetting) { InitFromSetting(pSetting); }
/// <summary> /// Saves the current setting to be loaded at a later time. /// </summary> public void SaveCurrentSetting() { savedSetting = new InterpolationSetting(this); }