asmaloney / asmaloney/libE57Format
Spherical coordinate out of range restriction ?
- Dominant language
- C++
- Stars
- 191
- Forks
- 82
- Avg merge
- 7h 21m
- Merged PRs (30d)
- 1
Description
Hi,
6 years ago, in our company, we have developed a C# library to read .e57 files following the ASTM E2807 − 11 designation. In paragraph 5.5.3 on page 2, it is stipulated that spherical coordinates must fall within the following range: -π < θ ≤ π.
Today one of our clients has a file where the "SphericalAzimuth" value is approximately -2π. This file is therefore flagged as erroneous for us unless we adjust the value back within the interval (-π, π].
I am not sure which software the client used to reorient their point cloud, probably Revit. Anyway, CloudCompare can open this file without any issues, whereas FreeCAD cannot. I try to understand why CloudCompare can open it. How is this value manage by it?
Since CloudCompare uses libE57Format, I compiled the latter to directly check the value read at the source, and indeed, I get the previous value of approximately -2π.
I assume that the software used to write the file utilized libE57Format. Shouldn't there be a writing error if the values exceed the restrictions of the ASTM standard?
Is this an implementation error in libE57Format? Or is it a misinterpretation of the ASTM standard on our part due to the language?
Thanks in advance.
Contributor guide
Research direction
Start by examining the reported .e57 file and the SphericalAzimuth value read through libE57Format. Compare the approximately -2π value with the ASTM E2807 −11 range cited in the issue, and compare behavior with CloudCompare and FreeCAD. Done means establishing whether the value is invalid input, a writer error, or an interpretation issue, then documenting the conclusion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100