On Dec 19, 2010, at 7:20 PM, Trudgett, David wrote:

> 
> Hello,
> 
> In lasschema.hpp, on lines 100 & 101 (between lines 128 and 129 in the
> new 1.6.0b3 version of the file), the HasColor() and HasTime() public
> boolean methods of the Schema class seem to have been removed. 
> 
> Was this a mistake or is there now another way to access this
> functionality?

It was intentional.  See below.  I would note that I have been working under 
the expectation that the entire C++ API is up for grabs for this 1.6.0 release 
until it goes final.  After the dust settles beyond this release, I don't 
envision it changing too much other than for a few additions here or there.


> There doesn't seem to be any mention of this change
> anywhere that I can see. I'm trying to build an application that depends
> on HasColor(), but obviously the build is now failing because there is
> no longer any HasColor().

Wow, I didn't know anyone noticed that, and more importantly, actually used it 
:)

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&)
{
}

Looking at this now, maybe we should have a real exception instead of the 
generic runtime_error.  Yes, I'm aware this design might rankle those who have 
not grown up with the notion that exceptions are not exceptional.  I'd be happy 
to hear of alternative designs, because I don't see this stuff as too engrained 
yet.

Howard_______________________________________________
Liblas-devel mailing list
Liblas-devel@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/liblas-devel

Reply via email to