public void EdgeSelection(_Point p) { foreach (Cube myCube in Model) { foreach (CubeEdge p1 in myCube.edges) { // if (p1 != selected) p1.IsPointed = false; } } foreach (Cube myCube in Model) { foreach (CubeEdge p1 in myCube.edges) { Edge[] polygon = p1.eCubeEdge(AnT.Height * 1.0); /*txtMouseX.Text = polygon[0].end.x.ToString(); * txtMouseY.Text = p.x.ToString(); * * txtMouseZ.Text = polygon[0].end.y.ToString(); * textBox1.Text = p.y.ToString();*/ if ((Math.Abs(polygon[0].end.x - p.x) <= 2) && (Math.Abs(polygon[0].end.y - p.y) <= 2)) { p1.IsPointed = true; selectedEdge_ = p1; //MessageBox.Show("yahoo!!"); return; } } } }
public CubeEdge(CubeEdge copy) { this.begin = Vertex.getCopy(copy.begin); this.end = Vertex.getCopy(copy.end); this.middle = Vertex.getCopy(copy.middle); this.IsPointed = copy.IsPointed; this.lockState = new Lock_(copy.lockState); }
public static CubeEdge getCopy(CubeEdge copy) { CubeEdge copied = new CubeEdge(); copied.begin = Vertex.getCopy(copy.begin); copied.end = Vertex.getCopy(copy.end); copied.middle = Vertex.getCopy(copy.middle); copied.IsPointed = copy.IsPointed; copied.lockState = new Lock_(copy.lockState); return(copied); }
public static Cube getCopy(Cube copy) { Cube copied = new Cube(); try { copied.primitiveName = copy.primitiveName; } catch { } for (int i = 0; i < 20; i++) { copied.vertices[i] = Vertex.getCopy(copy.vertices[i]); } copied.EnabledTransform = copy.EnabledTransform; for (int i = 0; i < 4; i++) { copied.axes[i] = Vertex.getCopy(copy.axes[i]); } for (int i = 0; i < 6; i++) { copied.faces[i] = Polygon.getCopy(copy.faces[i]); } Pair <Cube, Cube> newItem1 = new Pair <Cube, Cube>(); newItem1.First = copied; newItem1.Second = copy.Origin; GlobalVar.cubeOrigin.Add(newItem1); Pair <Cube, Cube> newItem2 = new Pair <Cube, Cube>(); newItem2.First = copied; newItem2.Second = copy.TransCube; GlobalVar.cubeTrans.Add(newItem2); //this.Origin = new Cube(copy.Origin); //this.TransCube = new Cube(copy.TransCube); copied.translation = new Translation(copy.translation); /*this.Parts = new List<Cube>(); * * foreach (Cube c in copy.Parts) * { * Cube newItem = new Cube(c); * this.Parts.Add(newItem); * }*/ Pair <Cube, List <Cube> > newItem3 = new Pair <Cube, List <Cube> >(); newItem3.First = copied; newItem3.Second = copy.Parts; GlobalVar.cubeParts.Add(newItem3); copied.IsSelected = copy.IsSelected; copied.nx = copy.nx; copied.ny = copy.ny; copied.nz = copy.nz; //this.edges = new CubeEdge[copy.edges.Length]; for (int i = 0; i < 12; i++) { copied.edges[i] = CubeEdge.getCopy(copy.edges[i]); } return(copied); }
public void InitializeEdges() { edges[0] = new CubeEdge(); edges[0].begin = vertices[0]; edges[0].end = vertices[4]; edges[0].middle = vertices[12]; edges[1] = new CubeEdge(); edges[1].begin = vertices[3]; edges[1].end = vertices[7]; edges[1].middle = vertices[15]; edges[2] = new CubeEdge(); edges[2].begin = vertices[2]; edges[2].end = vertices[6]; edges[2].middle = vertices[14]; edges[3] = new CubeEdge(); edges[3].begin = vertices[1]; edges[3].end = vertices[5]; edges[3].middle = vertices[13]; edges[4] = new CubeEdge(); edges[4].begin = vertices[4]; edges[4].end = vertices[7]; edges[4].middle = vertices[19]; edges[5] = new CubeEdge(); edges[5].begin = vertices[7]; edges[5].end = vertices[6]; edges[5].middle = vertices[18]; edges[6] = new CubeEdge(); edges[6].begin = vertices[6]; edges[6].end = vertices[5]; edges[6].middle = vertices[17]; edges[7] = new CubeEdge(); edges[7].begin = vertices[5]; edges[7].end = vertices[4]; edges[7].middle = vertices[16]; edges[8] = new CubeEdge(); edges[8].begin = vertices[0]; edges[8].end = vertices[3]; edges[8].middle = vertices[11]; edges[9] = new CubeEdge(); edges[9].begin = vertices[3]; edges[9].end = vertices[2]; edges[9].middle = vertices[10]; edges[10] = new CubeEdge(); edges[10].begin = vertices[2]; edges[10].end = vertices[1]; edges[10].middle = vertices[9]; edges[11] = new CubeEdge(); edges[11].begin = vertices[1]; edges[11].end = vertices[0]; edges[11].middle = vertices[8]; }
public void Set(ref CubeEdge e) { begin = e.begin; end = e.end; middle = e.middle; }
public bool Equals(CubeEdge e) { return((begin.Equals(e.begin)) && (end.Equals(e.end))); }