asmaloney / asmaloney/libE57Format

Spherical coordinate out of range restriction ?

Open
#319 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.