Example #1
0
        //产生相应模块
        public well2d Create_Vertical_Well(PO center)
        {
            well2d well = new well2d(center.x, center.y);

            well.GetOGL(PAINT);
            well.Set_ge_pl(this.Get_ge_pl());
            //well.Set_initial_pl(this.initial_pl);
            well.Generate_eadge();
            model_l.Insert(well);
            return(well);
        }
Example #2
0
        private void DE_WW(well2d w1, well2d w2)
        {
            util u1 = new util();

            if (!Is_Conflict(w1, w2))
            {
                return;
            }
            else
            {
                CD_well_well(w1, w2);
            }
        }
Example #3
0
        //处理两个直井之间的冲突
        private void CD_well_well(well2d w1, well2d w2)
        {
            util u1 = new util();
            PO   mid, p1, p2;

            mid   = new PO();
            mid.x = (w1.center.x * w1.ro + w2.center.x * w2.ro) / (w1.ro + w2.ro);
            mid.y = (w1.center.y * w1.ro + w2.center.y * w2.ro) / (w1.ro + w2.ro);
            p1    = u1.po_vertical(mid, w1.center, w2.center, 5);
            p2    = u1.po_vertical(mid, w2.center, w1.center, 5);
            u1.InFile(u1.tri_num, "-------------------IN well");
            Cal_new_edge_po_insert(w1, p1, p2);
            u1.InFile(u1.tri_num, "-------------------end well1");
            Cal_new_edge_po_insert(w2, p1, p2);
            u1.InFile(u1.tri_num, "-------------------end well");
        }
Example #4
0
        public void START()
        {
            util   u1 = new util();
            well2d w1 = new well2d();

            w1.GetOGL(PAINT);
            w1.Set_ge_pl(ge_p_l);
            w1.Set_initial_pl(initial_pl);
            center = w1.center;
            model_l.Insert(w1);
            plane = new plane2d();
            plane.GetOGL(PAINT);
            plane.Set_ge_pl(ge_p_l);
            plane.Generate_eadge();
            Create_boundary_model();
            Generate_allmodel_edge_po();
            DealModuleConflict();
            plane.Get_model_l(model_l); //把模块链给plane
            plane.GenerateNetPo();      //plane根据自己的边界和模块产生点
            Generate_allmodel_po();     //产生所有模块的点
        }