[gdal-dev] Bindings for the histogram method of band
Ari Jolma
ari.jolma at tkk.fi
Wed Jul 23 06:44:37 EDT 2008
Howard Butler kirjoitti:
>
> On Jul 22, 2008, at 9:48 AM, Ari Jolma wrote:
>
>> The trac.osgeo.org does not answer so I'll put this here.
>>
>> Hobu, would it be ok to have (int len, int *output) typemap. They can
>> be used in GetHistogram method like this (note that the API is same
>> for C# but it must use different typemaps. From Band.i:
>>
>> %typemap(check) (int len, int *output)
>> {
>> /* %typemap(check) (int len, int *output) */
>> if ($1 < 1) $1 = 1; /* stop idiocy */
>> $2 = (int *)CPLMalloc( $1 * sizeof(int) );
>> }
>
>
> Ari,
>
> This isn't too different from what I proposed except for I think that
> abusing the check typemap like that (malloc'ing the integer array) is
> a recipe for disaster. The check typemap could possibly be run
> multiple times, right? Otherwise, it looks pretty close to what I had
> for a proposal http://trac.osgeo.org/gdal/changeset/14941 .
Yes.. in fact I just merged the two signatures (which are the same),
changed the default nBuckets to 256 (as in GDAL docs) and added the (int
len, int *output) typemap for non-c#. Ok, so you're suggesting I make
that typemap #ifdef Perl. I don't think check is ever run multiple times
for one match. Using check typemap seems to be the only possibility, if
I want to keep the signature unchaged (I was first proposing a change to
it in the trac message).
I'm for generic typemaps and returning an integer array from a C
function with (int len, int *output) pattern is one IMHO.
Ok, I'll commit this change so that it does nothing for other languages
than Perl.
Cheers,
Ari
>
> I'm open to changing the GetHistogram function signature within Band.i
> however you guys wish (ideally to support just using (int len, int
> *output) and not having a special typemap for just this function), and
> while it would be nice that we wouldn't need the #ifdefs for every
> possible language we might ever support ;), it's not the end of the
> world either...
>
> Howard
>
>
>
--
Prof. Ari Jolma
Geoinformatiikka / Geoinformatics
Teknillinen Korkeakoulu / Helsinki University of Technology
tel: +358 9 451 3886 address: POBox 1200, 02015 TKK, Finland
Email: ari.jolma at tkk.fi URL: http://www.tkk.fi/~jolma
More information about the gdal-dev
mailing list