[Liblas-devel] Re: Writing Scan Angle Rank values
Howard Butler
hobu.inc at gmail.com
Thu May 1 14:50:42 EDT 2008
On May 1, 2008, at 1:11 PM, Howard Butler wrote:
> Mateusz,
>
> The specification says the following for Scan Angle:
>
> Scan Angle Rank (-90 to +90) – Left side unsigned char 1 byte *
>
> We are doing the following:
> int8_t GetScanAngleRank() const;
> void SetScanAngleRank(int8_t const& rank);
>
> int8_t is defined as:
>
> typedef signed char int8_t;
>
>
> If I write the following:
> p = point.Point()
> p.scan_angle = -90
>
> The Scan Angle returned is:
>
> Scan Angle Rank: 166
>
>
> Do you have any idea why the Scan Angle Ranks cannot be
> roundtripped? I would expect the Scan Angle Rank to be -90 in the
> file as I have set it. The specification is unclear to me. If we
> are supposed to store Scan Angle Rank as an unsigned char, how are
> we to store negative values? Are we supposed to determine +/- from
> the Scan Direction and then store 0-90 in the Scan Angle Rank?
My dumb. I was using uint8_t in the C API and clipping things off.
Sorry. Fixed in r626 http://liblas.org/changeset/626/
Howard
More information about the Liblas-devel
mailing list