2011/10/26 Peder Axensten <[email protected]>:
>> I presented bug and fix here: https://gist.github.com/1313176
>
> Should not the other two be fixed too:
>        void Point::SetClassification(Classification::bitset_type const& 
> flags) and
>        void Point::SetClassification(boost::uint8_t const& flags)?

Yes, they should.

> Maybe a few unit tests using the various SetClassification(...) to check for 
> this bug?

Patches are welcome, I guess.

> The only way to retrieve the uint8_t (m_data[15]) as a uint8_t is through 
> conversion to unsigned long and back?

Yes. This is because I decided to use std::bitset users convenience to
be able to play with bit flags easier.
LAS classification is not 1 byte, but it's 4 different kinds of
information encoded in space of 1 byte
in order to save some space. Main purpose of liblas::Classification is
to represent the classification concept
and attributes, but not its low-level implementation.

> (By static_cast<boost::uint8_t>(bits.to_ulong()).)

or syntax sugar of functional notation which is equivalent:

boost::uint8_t(bits.to_ulong()))

Best regards,
-- 
Mateusz Loskot, http://mateusz.loskot.net
Charter Member of OSGeo, http://osgeo.org
Member of ACCU, http://accu.org
_______________________________________________
Liblas-devel mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/liblas-devel

Reply via email to