Mercurial > gemma
changeset 1691:de09bd3b5c05
Octree: Fixed a few golint quirks and normalized logging a bit.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Sun, 30 Dec 2018 16:24:51 +0100 |
parents | b51673c1e604 |
children | f4dcbe8941a1 |
files | pkg/octree/builder.go pkg/octree/loader.go pkg/octree/tin.go pkg/octree/vertex.go |
diffstat | 4 files changed, 22 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/octree/builder.go Sun Dec 30 15:14:29 2018 +0100 +++ b/pkg/octree/builder.go Sun Dec 30 16:24:51 2018 +0100 @@ -22,6 +22,7 @@ "github.com/golang/snappy" ) +// Builder is used to turn a TIN into an Octree. type Builder struct { t *Tin nodes int @@ -57,10 +58,12 @@ } } +// NewBuilder creates a new Builder for a TIN. func NewBuilder(t *Tin) *Builder { return &Builder{t: t} } +// Build builds the Octree. func (tb *Builder) Build() { triangles := make([]int32, len(tb.t.Triangles)) @@ -72,9 +75,9 @@ tb.buildRecursive(triangles, tb.t.Min, tb.t.Max, 0) tb.index[0] = int32(len(tb.index)) - log.Printf("num nodes: %d\n", tb.index[0]) + log.Printf("info: num nodes: %d\n", tb.index[0]) - log.Printf("nodes: %d leaves: %d index %d\n", + log.Printf("info: nodes: %d leaves: %d index %d\n", tb.nodes, tb.leaves, tb.index[0]) } @@ -144,7 +147,7 @@ return int32(pos) } -func (tb *Builder) Serialize(w io.Writer) error { +func (tb *Builder) serialize(w io.Writer) error { var buf [binary.MaxVarintLen32]byte if err := binary.Write(w, binary.LittleEndian, tb.index[0]); err != nil { @@ -167,7 +170,7 @@ last = x } - log.Printf("compressed octree index in bytes: %d (%d)\n", + log.Printf("info: compressed octree index in bytes: %d (%d)\n", written, 4*len(tb.index)) return nil @@ -175,15 +178,16 @@ func (tb *Builder) writeTo(w io.Writer) error { out := snappy.NewBufferedWriter(w) - if err := tb.t.Serialize(out); err != nil { + if err := tb.t.serialize(out); err != nil { return err } - if err := tb.Serialize(out); err != nil { + if err := tb.serialize(out); err != nil { return err } return out.Flush() } +// Bytes serializes an Octree into a byte slice. func (tb *Builder) Bytes() ([]byte, error) { var buf bytes.Buffer if err := tb.writeTo(&buf); err != nil { @@ -192,6 +196,7 @@ return buf.Bytes(), nil } +// Tree returns an Octree from the Builder. func (tb *Builder) Tree() *Tree { return &Tree{ EPSG: tb.t.EPSG,
--- a/pkg/octree/loader.go Sun Dec 30 15:14:29 2018 +0100 +++ b/pkg/octree/loader.go Sun Dec 30 16:24:51 2018 +0100 @@ -30,7 +30,7 @@ return nil, err } - log.Printf("EPSG: %d\n", tree.EPSG) + log.Printf("info: EPSG: %d\n", tree.EPSG) if err := tree.Min.Read(r); err != nil { return nil, err @@ -40,7 +40,7 @@ return nil, err } - log.Printf("BBOX: [[%f, %f, %f], [%f, %f, %f]]\n", + log.Printf("info: BBOX: [[%f, %f, %f], [%f, %f, %f]]\n", tree.Min.X, tree.Min.Y, tree.Min.Z, tree.Max.X, tree.Max.Y, tree.Max.Z) @@ -49,7 +49,7 @@ return nil, err } - log.Printf("vertices: %d\n", numVertices) + log.Printf("info: vertices: %d\n", numVertices) vertices := make([]Vertex, numVertices) tree.vertices = vertices @@ -65,7 +65,7 @@ return nil, err } - log.Printf("triangles: %d\n", numTriangles) + log.Printf("info: triangles: %d\n", numTriangles) indices := make([]int32, 3*numTriangles) triangles := make([][]int32, numTriangles) @@ -93,7 +93,7 @@ return nil, err } - log.Printf("num nodes: %d\n", numNodes) + log.Printf("info: num nodes: %d\n", numNodes) tree.index = make([]int32, numNodes) entries := tree.index[1:]
--- a/pkg/octree/tin.go Sun Dec 30 15:14:29 2018 +0100 +++ b/pkg/octree/tin.go Sun Dec 30 16:24:51 2018 +0100 @@ -42,7 +42,7 @@ } func (t *Tin) FromWKB(data []byte) error { - log.Printf("data length %d\n", len(data)) + log.Printf("info: data length %d\n", len(data)) r := bytes.NewReader(data) @@ -166,7 +166,7 @@ triangles = append(triangles, triangle) } - log.Printf("bbox: [[%f, %f], [%f, %f]]\n", + log.Printf("info: bbox: [[%f, %f], [%f, %f]]\n", min.X, min.Y, max.X, max.Y) *t = Tin{ @@ -230,7 +230,7 @@ return t.FromWKB(data) } -func (t *Tin) Serialize(w io.Writer) error { +func (t *Tin) serialize(w io.Writer) error { if err := binary.Write(w, binary.LittleEndian, t.EPSG); err != nil { return err @@ -253,7 +253,7 @@ return err } } - log.Printf("vertices %d (%d)\n", len(t.Vertices), len(t.Vertices)*3*8) + log.Printf("info: vertices %d (%d)\n", len(t.Vertices), len(t.Vertices)*3*8) if err := binary.Write( w, binary.LittleEndian, uint32(len(t.Triangles))); err != nil { @@ -277,7 +277,7 @@ last = idx } } - log.Printf("compressed tin indices in bytes: %d (%d)\n", + log.Printf("info: compressed tin indices in bytes: %d (%d)\n", written, 3*4*len(t.Triangles)) return nil