comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » EDG: Using IDL_MakeTempStruct() vs. IDL_ImportArray()
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: EDG: Using IDL_MakeTempStruct() vs. IDL_ImportArray() [message #90207 is a reply to message #90205] Tue, 10 February 2015 16:30 Go to previous messageGo to previous message
Jim  Pendleton is currently offline  Jim Pendleton
Messages: 165
Registered: November 2011
Senior Member
On Tuesday, February 10, 2015 at 3:30:50 PM UTC-7, Chris Torrence wrote:
> Hi Peter,
>
> Here's some sample code from the TIFF module, where it is creating the "info" structure:
>
> static IDL_STRUCT_TAG_DEF s_tags[] = {
> { "CHANNELS", 0, (void *) IDL_TYP_LONG },
> { "DIMENSIONS", dim_dims, (void *) IDL_TYP_LONG },
> { "HAS_PALETTE", 0, (void *) IDL_TYP_INT },
> { "IMAGE_INDEX", 0, (void *) IDL_TYP_LONG },
> { "NUM_IMAGES", 0, (void *) IDL_TYP_LONG },
> { "PIXEL_TYPE", 0, (void *) IDL_TYP_INT },
> { "TYPE", 0, (void *) IDL_TYP_STRING },
> { "BITS_PER_SAMPLE", 0, (void *) IDL_TYP_LONG },
> { "ORIENTATION", 0, (void *) IDL_TYP_LONG },
> { "PLANAR_CONFIG", 0, (void *) IDL_TYP_LONG },
> { "PHOTOMETRIC", 0, (void *) IDL_TYP_LONG },
> { "POSITION", dim_dims, (void *) IDL_TYP_FLOAT },
> { "RESOLUTION", dim_dims, (void *) IDL_TYP_FLOAT },
> { "UNITS", 0, (void *) IDL_TYP_LONG },
> { "TILE_SIZE", dim_dims, (void *) IDL_TYP_LONG },
> { "DESCRIPTION", 0, (void *) IDL_TYP_STRING },
> { "DOCUMENT_NAME", 0, (void *) IDL_TYP_STRING },
> { "DATE_TIME", 0, (void *) IDL_TYP_STRING },
> { "VERSION", 0, (void *) IDL_TYP_LONG },
> { 0 }
> };
>
> typedef struct {
> IDL_LONG channels;
> IDL_LONG dimensions[2];
> IDL_INT has_palette;
> IDL_LONG image_index;
> IDL_LONG num_images;
> IDL_INT pixel_type;
> IDL_STRING type_str;
> IDL_LONG bits_per_sample;
> IDL_LONG orientation;
> IDL_LONG planar_config;
> IDL_LONG photometric;
> float position[2];
> float resolution[2];
> IDL_LONG units;
> IDL_LONG tile_size[2];
> IDL_STRING description;
> IDL_STRING document_name;
> IDL_STRING date_time;
> IDL_LONG version;
> } ret_struct;
>
> s_def = IDL_MakeStruct(0, s_tags); /* create the struct */
> ret = (ret_struct *)
> IDL_MakeTempStructVector(s_def, 1, &vpTmp,IDL_FALSE);
>
>
> I'm not sure how much of this API is actually included in "idl_export.h", so you might be unsuccessful at getting this to compile. But hopefully it will give you a start!
>
> Cheers,
> Chris

Peter,

It looks like you just need to ensure that the tag names in your C IDL_STRUCT_TAG_DEF are uppercase only. The interpreter isn't going to handle the mixed case that you're using presently.

Jim P.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Motley library on Sourceforge
Next Topic: Linux-like touch command in IDL

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 15:09:48 PDT 2025

Total time taken to generate the page: 0.00397 seconds