igd-geo / pasture

Rust library for point cloud processing
Apache License 2.0
69 stars 9 forks source link

First support for 3D Tiles format #6

Closed Mortano closed 3 years ago

Mortano commented 3 years ago

Adds rudimentary support for the 3D Tiles format, in particular the .pnts format for storing point data that 3D Tiles defines. To do so, a new module tiles3d as been added to pasture_io which provides the PntsReader and PntsWriter types, as well as the Tileset type to write tileset.json files.

This PR also includes some extensions to the capabilities of point buffers. In particular, the PointBufferWriteable trait has been extended so that it is possible to clear, resize and splice a point buffer. The resize operation creates default points, which is very helpful if you don't know the exact point layout, and splice can be used to overwrite ranges within a point buffer without allocating new memory.