diff cmd/tin2octree/builder.go @ 729:b0bd242ff821

Removed vertex duplicate.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sat, 22 Sep 2018 22:14:31 +0200
parents b17e3ce53285
children
line wrap: on
line diff
--- a/cmd/tin2octree/builder.go	Sat Sep 22 21:58:15 2018 +0200
+++ b/cmd/tin2octree/builder.go	Sat Sep 22 22:14:31 2018 +0200
@@ -4,6 +4,8 @@
 	"encoding/binary"
 	"io"
 	"log"
+
+	"gemma.intevation.de/gemma/pkg/octree"
 )
 
 type treeBuilder struct {
@@ -13,7 +15,7 @@
 	index  []int32
 }
 
-var cubes = [8][2]vertex{
+var cubes = [8][2]octree.Vertex{
 	makeCube(0),
 	makeCube(1),
 	makeCube(2),
@@ -24,20 +26,20 @@
 	makeCube(7),
 }
 
-func makeCube(i int) [2]vertex {
-	var d vertex
+func makeCube(i int) [2]octree.Vertex {
+	var d octree.Vertex
 	if i&1 == 1 {
-		d.x = 0.5
+		d.X = 0.5
 	}
 	if i&2 == 2 {
-		d.y = 0.5
+		d.Y = 0.5
 	}
 	if i&4 == 4 {
-		d.z = 0.5
+		d.Z = 0.5
 	}
-	return [2]vertex{
-		vertex{0.0, 0.0, 0.0}.add(d),
-		vertex{0.5, 0.5, 0.5}.add(d),
+	return [2]octree.Vertex{
+		octree.Vertex{0.0, 0.0, 0.0}.Add(d),
+		octree.Vertex{0.5, 0.5, 0.5}.Add(d),
 	}
 }
 
@@ -60,7 +62,7 @@
 
 func (tb *treeBuilder) buildRecursive(
 	triangles []int32,
-	min, max vertex,
+	min, max octree.Vertex,
 	depth int,
 ) int32 {
 	if len(triangles) <= 16 || depth > 8 {
@@ -77,12 +79,12 @@
 		0, 0, 0, 0,
 		0, 0, 0, 0)
 
-	bbox := interpolate(min, max)
+	bbox := octree.Interpolate(min, max)
 
-	bboxes := make([][2]vertex, len(cubes))
+	bboxes := make([][2]octree.Vertex, len(cubes))
 
 	for i := range cubes {
-		bboxes[i] = [2]vertex{
+		bboxes[i] = [2]octree.Vertex{
 			bbox(cubes[i][0]),
 			bbox(cubes[i][1]),
 		}
@@ -97,15 +99,15 @@
 		v2 := tb.t.vertices[triangle[2]]
 
 		l := v0
-		l.minimize(v1)
-		l.minimize(v2)
+		l.Minimize(v1)
+		l.Minimize(v2)
 
 		h := v0
-		h.maximize(v1)
-		h.maximize(v2)
+		h.Maximize(v1)
+		h.Maximize(v2)
 
 		for i := range bboxes {
-			if !(h.less(bboxes[i][0]) || bboxes[i][1].less(l)) {
+			if !(h.Less(bboxes[i][0]) || bboxes[i][1].Less(l)) {
 				quandrants[i] = append(quandrants[i], tri)
 			}
 		}