Mercurial > gemma
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