public void Create_fault(LINE l0) { fault2d f = new fault2d(l0); PAINT.model_special_pl.Insert(l0.p1); PAINT.model_special_pl.Insert(l0.p2); f.GetOGL(PAINT); f.Set_ge_pl(this.Get_ge_pl()); f.Generate_eadge(); model_l.Insert(f); }
private void DE_LL(fault2d f1, fault2d f2) { util u1 = new util(); if (!Is_Conflict(f1, f2)) { return; } else { CD_po_together(f1, f2); } }
private void CD_po_together(fault2d f1, fault2d f2) { util u1 = new util(); PO f1s, f1d, f2s, f2d, ptm, p1t, p2t, p3t; f1s = f1.l0.p1; f1d = f1.l0.p2; f2s = f2.l0.p1; f2d = f2.l0.p2; //判断f1、f2的状态 #region judge topo if (f1s.Me_to_po_length(f2d) == 0) { ptm = f2d; f2d = f2s; f2s = ptm; } //u1.InFile(u1.infopath, "ihere11"); if (f1d.Me_to_po_length(f2s) == 0) { ptm = f1d; f1d = f1s; f1s = ptm; } //u1.InFile(u1.infopath, "ihere12"); if (f1d.Me_to_po_length(f2d) == 0) { ptm = f1d; f1d = f1s; f1s = ptm; ptm = f2d; f2d = f2s; f2s = ptm; } //u1.InFile(u1.infopath, "ihere13"); #endregion judge topo p1t = u1.Po_vec_f(f1s, u1.cal_vec(f1s, f1d).unitVector(), 4); p2t = u1.Po_vec_f(f2s, u1.cal_vec(f2s, f2d).unitVector(), 4); p3t = new PO((p1t.x + p2t.x) / 2, (p1t.y + p2t.y) / 2); p1t.key = 1; p2t.key = 1; p3t.key = 1; PAINT.ll_tag.Insert(new LINE(f1s, p3t)); PAINT.pl_tag.Insert(p1t); PAINT.pl_tag.Insert(p2t); PAINT.pl_tag.Insert(p3t); Cal_new_edge_po_insert(f1, f1s, p3t); Cal_new_edge_po_insert(f2, f2s, p3t); }
private void Create_boundary_model() { util u1 = new util(); Node <PO> pnt = plane.edge_pl.Head; fault2d f; while (pnt.Next != null) { f = new fault2d(new LINE(pnt.Data, pnt.Next.Data)); f.boundary = true; f.GetOGL(this.PAINT); f.Set_ge_pl(this.ge_p_l); f.Generate_eadge(); model_l.Insert(f); pnt = pnt.Next; } f = new fault2d(new LINE(pnt.Data, plane.edge_pl.Head.Data)); f.boundary = true; f.GetOGL(this.PAINT); f.Set_ge_pl(this.ge_p_l); f.Generate_eadge(); model_l.Insert(f); }