diff pkg/mesh/classbreaks.go @ 5428:b8d5f1cd15fb marking-single-beam

Simplified classification. Needs testing.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 11 Jul 2021 13:08:49 +0200
parents 99f32f0dc70c
children 1222b777f51f
line wrap: on
line diff
--- a/pkg/mesh/classbreaks.go	Sat Jul 10 01:09:57 2021 +0200
+++ b/pkg/mesh/classbreaks.go	Sun Jul 11 13:08:49 2021 +0200
@@ -157,10 +157,14 @@
 	return ClassBreaks(common.DedupFloat64s(cbs))
 }
 
-func (cbs ClassBreaks) Classify(points func() (Vertex, bool)) []MultiPointZ {
-	classes := make([]MultiPointZ, len(cbs)+1)
-	for v, ok := points(); ok; v, ok = points() {
-		idx := len(cbs)
+func (cbs ClassBreaks) Classify(points MultiPointZ) []MultiPointZ {
+	if len(cbs) == 0 {
+		return nil
+	}
+	classes := make([]MultiPointZ, len(cbs))
+	for _, v := range points {
+		// Place in last class if greater than all.
+		idx := len(cbs) - 1
 		for i, cb := range cbs {
 			if v.Z <= cb {
 				idx = i