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 #90205 is a reply to message #90204] Tue, 10 February 2015 14:30 Go to previous messageGo to previous message
chris_torrence@NOSPAM is currently offline  chris_torrence@NOSPAM
Messages: 528
Registered: March 2007
Senior Member
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
[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:14:45 PDT 2025

Total time taken to generate the page: 0.00487 seconds