asmaloney / asmaloney/libE57Format
Potential for seeking points in CompressedVector
- Dominant language
- C++
- Stars
- 191
- Forks
- 82
- Avg merge
- 7h 21m
- Merged PRs (30d)
- 1
Description
One of the things of interest with E57 is the possibility of reading portions of a point cloud.
Ideally we wouldn't need to read from start to end, when only a specific contiguous portion of points are needed.
The specification for CompressedVector discusses index, data and ignored packets.
However, libE57Format does not appear to support writing or reading index packets.
There is a related upstream bug.
[E57 3D Imaging Format Bug #5](https://sourceforge.net/p/e57-3d-imgfmt/bug-reports/5/)
> CompressedVectorReader::seek() not finished.
I'm poking around in the implementation and getting the impression this functionality would
need to be added, both for input and output. Does anyone have any experience or success with this?
One possibility is to break the pointcloud into multiple data3D nodes, but ideally we could use that other purposes such as classification groups, or whatnot.
Contributor guide
Research direction
Start with CompressedVectorReader::seek() and inspect how the implementation handles index, data, and ignored packets. Compare the behavior with upstream E57 3D Imaging Format Bug #5 and determine the input and output requirements; done means contiguous point-cloud portions can be accessed without reading from the beginning, with index packets supported as required.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100