[Liblas-devel] HasColor() and HasTime() removed from Schema class
public interface
Howard Butler
hobu.inc at gmail.com
Thu Dec 23 13:44:01 EST 2010
On Dec 19, 2010, at 8:38 PM, Howard Butler wrote:
> The proper way to ask for HasColor or HasTime now is to ask the schema if the color or time dimensions exist.
>
> bool bColorExists = false;
> try {
>
> liblas::Dimension const& red = schema.GetDimension("Red");
> liblas::Dimension const& green = schema.GetDimension("Green");
> liblas::Dimension const& blue = schema.GetDimension("Blue");
> bColorExists = true;
>
> } catch (std::runtime_error const&)
> {
> }
David,
I have changed this again to no longer throw an exception if nothing is found. Instead, as suggested by Mateusz, the Dimension is wrapped in a boost::optional that may be null.
boost::optional< Dimension const& > red = schema.GetDimension("Red");
boost::optional< Dimension const& > green = schema.GetDimension("Green");
boost::optional< Dimension const& > blue = schema.GetDimension("Blue");
if (red && green && blue)
bColorExists = true;
A boost::optional can be dereferenced to get the const &. For example,
red->GetName();
Thanks for the feedback. I think this is better :)
Howard
More information about the Liblas-devel
mailing list