Loading draw/isogrids/hexa16.go +73 −108 Original line number Diff line number Diff line Loading @@ -538,9 +538,14 @@ func triangleId(x, y, direction int) int { return -1 } type trianglePosition struct { x, y, direction int } func subTriangleId(x, y, direction, id int) int { t1 := [][]int{ triangles := [][]trianglePosition{ []trianglePosition{ {0, 1, right}, {0, 2, right}, {0, 3, right}, Loading @@ -550,8 +555,8 @@ func subTriangleId(x, y, direction, id int) int { {1, 3, right}, {1, 2, left}, {2, 2, right}, } t2 := [][]int{ }, []trianglePosition{ {0, 1, left}, {1, 1, right}, {1, 0, left}, Loading @@ -561,8 +566,7 @@ func subTriangleId(x, y, direction, id int) int { {2, 0, left}, {2, 1, left}, {2, 2, left}, } t3 := [][]int{ }, []trianglePosition{ {3, 0, right}, {3, 1, right}, {3, 2, right}, Loading @@ -572,8 +576,8 @@ func subTriangleId(x, y, direction, id int) int { {4, 1, right}, {4, 1, left}, {5, 1, right}, } t4 := [][]int{ }, []trianglePosition{ {3, 2, left}, {4, 2, right}, {4, 2, left}, Loading @@ -583,8 +587,8 @@ func subTriangleId(x, y, direction, id int) int { {5, 1, left}, {5, 2, left}, {5, 3, left}, } t5 := [][]int{ }, []trianglePosition{ {3, 3, right}, {3, 4, right}, {3, 5, right}, Loading @@ -594,8 +598,8 @@ func subTriangleId(x, y, direction, id int) int { {4, 4, right}, {4, 4, left}, {5, 4, right}, } t6 := [][]int{ }, []trianglePosition{ {0, 4, left}, {1, 4, right}, {1, 3, left}, Loading @@ -605,51 +609,12 @@ func subTriangleId(x, y, direction, id int) int { {2, 3, left}, {2, 4, left}, {2, 5, left}, }, } if id == 0 { for i, p := range t1 { if p[0] == x && p[1] == y && (direction == p[2]) { return i } } } if id == 1 { for i, p := range t2 { if p[0] == x && p[1] == y && (direction == p[2]) { return i } } } if id == 2 { for i, p := range t3 { if p[0] == x && p[1] == y && (direction == p[2]) { return i } } } if id == 3 { for i, p := range t4 { if p[0] == x && p[1] == y && (direction == p[2]) { return i } } } if id == 4 { for i, p := range t5 { if p[0] == x && p[1] == y && (direction == p[2]) { return i } } } if id == 5 { for i, p := range t6 { if p[0] == x && p[1] == y && (direction == p[2]) { for _, t := range triangles { for i, ti := range t { if ti.x == x && ti.y == y && (direction == ti.direction) { return i } } Loading Loading
draw/isogrids/hexa16.go +73 −108 Original line number Diff line number Diff line Loading @@ -538,9 +538,14 @@ func triangleId(x, y, direction int) int { return -1 } type trianglePosition struct { x, y, direction int } func subTriangleId(x, y, direction, id int) int { t1 := [][]int{ triangles := [][]trianglePosition{ []trianglePosition{ {0, 1, right}, {0, 2, right}, {0, 3, right}, Loading @@ -550,8 +555,8 @@ func subTriangleId(x, y, direction, id int) int { {1, 3, right}, {1, 2, left}, {2, 2, right}, } t2 := [][]int{ }, []trianglePosition{ {0, 1, left}, {1, 1, right}, {1, 0, left}, Loading @@ -561,8 +566,7 @@ func subTriangleId(x, y, direction, id int) int { {2, 0, left}, {2, 1, left}, {2, 2, left}, } t3 := [][]int{ }, []trianglePosition{ {3, 0, right}, {3, 1, right}, {3, 2, right}, Loading @@ -572,8 +576,8 @@ func subTriangleId(x, y, direction, id int) int { {4, 1, right}, {4, 1, left}, {5, 1, right}, } t4 := [][]int{ }, []trianglePosition{ {3, 2, left}, {4, 2, right}, {4, 2, left}, Loading @@ -583,8 +587,8 @@ func subTriangleId(x, y, direction, id int) int { {5, 1, left}, {5, 2, left}, {5, 3, left}, } t5 := [][]int{ }, []trianglePosition{ {3, 3, right}, {3, 4, right}, {3, 5, right}, Loading @@ -594,8 +598,8 @@ func subTriangleId(x, y, direction, id int) int { {4, 4, right}, {4, 4, left}, {5, 4, right}, } t6 := [][]int{ }, []trianglePosition{ {0, 4, left}, {1, 4, right}, {1, 3, left}, Loading @@ -605,51 +609,12 @@ func subTriangleId(x, y, direction, id int) int { {2, 3, left}, {2, 4, left}, {2, 5, left}, }, } if id == 0 { for i, p := range t1 { if p[0] == x && p[1] == y && (direction == p[2]) { return i } } } if id == 1 { for i, p := range t2 { if p[0] == x && p[1] == y && (direction == p[2]) { return i } } } if id == 2 { for i, p := range t3 { if p[0] == x && p[1] == y && (direction == p[2]) { return i } } } if id == 3 { for i, p := range t4 { if p[0] == x && p[1] == y && (direction == p[2]) { return i } } } if id == 4 { for i, p := range t5 { if p[0] == x && p[1] == y && (direction == p[2]) { return i } } } if id == 5 { for i, p := range t6 { if p[0] == x && p[1] == y && (direction == p[2]) { for _, t := range triangles { for i, ti := range t { if ti.x == x && ti.y == y && (direction == ti.direction) { return i } } Loading