public Form_BlockNameAndCorrdinate(Form callingForm, Class_BlockSect IX, Dictionary <string, int> DIX)//Form callingForm)
 {
     //修改Block
     II             = IX;
     RDExamMainForm = callingForm as Form_RDExamProgress;
     DI             = DIX;
     InitializeComponent();
 }
        private void btn_OK_Click(object sender, EventArgs e)
        {
            //將變數傳回.
            int 點數 = dataGridView1.Rows.Count;

            double[] xout = new double[] { };
            double[] yout = new double[] { };
            double   xtest;
            double   ytest;

            //Array.Resize(ref xout, 點數);
            //Array.Resize(ref yout, 點數);
            //string ss = "";
            for (int i = 0; i < 點數; i++)
            {
                double.TryParse(dataGridView1.Rows[i].Cells[0].Value.ToString(), out xtest);
                double.TryParse(dataGridView1.Rows[i].Cells[1].Value.ToString(), out ytest);
                if (i == 點數 - 1 && xtest == xout[0] && ytest == yout[0])
                {
                    break;
                }
                Array.Resize(ref xout, i + 1);
                Array.Resize(ref yout, i + 1);
                xout[i] = xtest;
                yout[i] = ytest;
                //ss = ss + ("X = " + xout[i].ToString() + " , " + yout[i].ToString());
            }

            //檢查是否為凸邊形,且點位順序為逆時針.
            //不符合時,跳出警訊.
            if (!CheckIsConvexPolygonAndCounterClockWise(xout, yout))
            {
                //失敗.
                MessageBox.Show("注意,您所輸入的Polygon形狀限定為凸邊形且點位順序應為逆時針!!", "Polygon設定失敗", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }


            //MessageBox.Show(ss);
            II      = new Class_BlockSect();
            II.稱    = nowname;// textBox_NameInput.Text;
            II.X    = xout;
            II.Y    = yout;
            II.座標點數 = xout.GetUpperBound(0) + 1;
            RDExamMainForm.BlockObj = II;
            this.Close();
        }
Beispiel #3
0
        //public Class_Block_Interface(double 混凝土方塊與方塊摩擦係數值, double 混凝土方塊與拋石摩擦係數值, double 場注土方塊與拋石摩擦係數值, double 拋石與拋石摩擦係數值, double 混凝土陸上單位體積重量值, double 混凝土水中單位體積重量值, double 拋石陸上單位體積重量值, double 拋石水中單位體積重量值, double 砂土水中單位體積重量值, double 海水單位體積重量值,double 單位體積重量)
        //{
        //    //_混凝土方塊與方塊摩擦係數 = 混凝土方塊與方塊摩擦係數值;
        //    //_混凝土方塊與拋石摩擦係數 = 混凝土方塊與拋石摩擦係數值;
        //    //_場注土方塊與拋石摩擦係數 = 場注土方塊與拋石摩擦係數值;
        //    //_拋石與拋石摩擦係數 = 拋石與拋石摩擦係數值;

        //    //_混凝土陸上單位體積重量 = 混凝土陸上單位體積重量值;
        //    //_混凝土水中單位體積重量 = 混凝土水中單位體積重量值;
        //    //_拋石陸上單位體積重量 = 拋石陸上單位體積重量值;
        //    //_拋石水中單位體積重量 = 拋石水中單位體積重量值;
        //    //_砂土水中單位體積重量 = 砂土水中單位體積重量值;
        //    //_海水單位體積重量 = 海水單位體積重量值;

        //    _單位體積重量 = 單位體積重量;

        //}
        public Class_Block_Interface(Class_BlockSect M)
        {
            //_混凝土方塊與方塊摩擦係數 = M.混凝土方塊與方塊摩擦係數;
            //_混凝土方塊與拋石摩擦係數 = M.混凝土方塊與拋石摩擦係數;
            //_場注土方塊與拋石摩擦係數 = M.場注土方塊與拋石摩擦係數;
            //_拋石與拋石摩擦係數 = M.拋石與拋石摩擦係數;

            //_混凝土陸上單位體積重量 = M.混凝土陸上單位體積重量;
            //_混凝土水中單位體積重量 = M.混凝土水中單位體積重量;
            //_拋石陸上單位體積重量 = M.拋石陸上單位體積重量;
            //_拋石水中單位體積重量 = M.拋石水中單位體積重量;
            //_砂土水中單位體積重量 = M.砂土水中單位體積重量;
            //_海水單位體積重量 = M.海水單位體積重量;
            _地震時單位體積重量  = M.地震時單位體積重量;
            _單位體積重量     = M.單位體積重量;
            _使用材質       = M.使用材質;
            _計算Moment與否 = M.計算Moment與否;
        }