Пример #1
0
 /// <summary>
 /// Loads the last setting that has been saved previously.
 /// </summary>
 public void LoadLastSetting()
 {
     if (savedSetting != null)
     {
         InitFromSetting(savedSetting);
         savedSetting = null;
     }
 }
Пример #2
0
    /// <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;
    }
Пример #3
0
        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;
            }
        }
Пример #4
0
        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;
            }
        }
Пример #5
0
 public InterpolationSetting(InterpolationSetting pSetting)
 {
     InitFromSetting(pSetting);
 }
Пример #6
0
 /// <summary>
 /// Saves the current setting to be loaded at a later time.
 /// </summary>
 public void SaveCurrentSetting()
 {
     savedSetting = new InterpolationSetting(this);
 }