Extended IDL Help

This page was created by the IDL library routine mk_html_help. For more information on this routine, refer to the IDL Online Help Navigator or type:

     ? mk_html_help

at the IDL command line prompt.

Last modified: Fri Feb 2 17:45:09 2001.


List of Routines


Routine Descriptions

ADD_TAG

[Next Routine] [List of Routines]
 Project     :	SDAC

 Name        :	ADD_TAG

 Purpose     :	add a tag to a structure

 Explanation :	

 Use         : NEW_STRUCT=ADD_TAG(STRUCT,TAG,NAME)

 Inputs      :	STRUCT = input structure
             : TAG = tag variable to add (scalar or vector)
             : NAME = tag name (scalar or vector)

 Opt. Inputs :	None.

 Outputs     :	NEW_STRUCT = new structure

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	COPY_STRUCT

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Structure handling

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 7 November 1994

(See .//add_tag.pro)


CLEAR_STRUCT

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	CLEAR_STRUCT

 Purpose     :	set all field values in a structure to zero

 Explanation :	initializes field values by setting to 0 or blank
               strings as appropriate.

 Use         : NEW_STRUCT=CLEAR_STRUCT(STRUCT)

 Inputs      :	STRUCT = input structure

 Opt. Inputs :	None.

 Outputs     :	NEW_STRUCT = initialized original structure

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	NEW_STRUCT (recursively for nested structures)

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Structure handling

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 22 September 1994

(See .//clear_struct.pro)


CONCAT_STRUCT

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	CONCAT_STRUCT

 Purpose     :	concatanate two structures

 Explanation :	concatanates two structures by using COPY_STRUCT to
               avoid the problem of concatanating two differently named
               structures.

 Use         : NEW_STRUCT=CONCAT_STRUCT(STRUCT1,STRUCT2)

 Inputs      :	STRUCT1,2 = input structures

 Opt. Inputs :	None.

 Outputs     :	NEW_STRUCT = concatanated structure

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	COPY_STRUCT

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Structure handling

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 22 September 1994

(See .//concat_struct.pro)


COPY_STRUCT

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : COPY_STRUCT
               
 Purpose     : Copies one structure to another (with options).
               
 Explanation : Copy all Fields with matching Tags names (except for 
               "except_Tags" from one structure array to another structure 
               array (may be different).  Can also recursively copy from/to 
               structures nested within structures.
               
 Use         : IDL> copy_struct, struct_From, struct_To
                    copy_struct, struct_From, struct_To, EXCEPT=["imag","tag"]
                    copy_struct, struct_From, struct_To, /RECUR_FROM
    
 Inputs      : struct_From -  structure array to copy from.
               struct_To   -  structure array to copy values to.
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: NF_copied = incremented by total # of Fields copied.
               
 Keywords    : EXCEPT_TAGS = string array of Tag names to ignore (NOT to copy).

               SELECT_TAGS = Tag names to copy (takes priority over EXCEPT).

               /RECUR_FROM = option to search for Tag names
                             in sub-structures of struct_From,
                             and then call copy_struct recursively
                             for those nested structures.
               /RECUR_TO = search for sub-structures of struct_To,
                           and then call copy_struct recursively
                           for those nested structures.
               /RECUR_TANDEM = call copy_struct recursively
                               for the sub-structures with matching
                               Tag names in struct_From and struct_To
                (for use when Tag names match but structure types differ).

 Calls       : For option SELECT_TAGS calls pro match.

 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, structures
               
 Prev. Hist. : Frank Varosi STX @ NASA/GSFC

 Written     : CDS version, CDP, RAL, 23-Aug-94
               
 Modified    : 

 Version     : Version 1, 23-Aug-94

(See .//copy_struct.pro)


DSP_STRUCT

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : DSP_STRUCT
               
 Purpose     : Display contents of a structure as a pulldown menu.
               
 Explanation : A pulldown menu is created representing all the
		levels of "introspection" of the structure variable.

		If a tag in a structure is an array, it's "written out"
		if it's less than SIZE, which by default is set to 30.

		It may be used as a standalone widget or as part of a
		menu. In the latter case, it generates a pulldown button
		that unfolds the structure.
               
 Use         : DSP_STRUCT, DATA_STRUCTURE
    
 Inputs      : DATA_STRUCTURE: Any IDL structure.
               
 Opt. Inputs : None.
               
 Outputs     : None.
               
 Opt. Outputs: None.
               
 Keywords    : TITLE: The title of the menu/button.

		SIZE: Controls the maximum size of arrays to be expanded

		ON_BASE: The base to place the button on if it's supposed
			to be a subpart of another widget hierarchy.
			
		ALONE: Set to make it be a stand-alone widget application.

 Calls       : DATATYPE(), TRIM()

 Common      : None.
               
 Restrictions: None.
               
 Side effects: 
               
 Category    : CDS, QL, DISPLAY, UTILITY
               
 Prev. Hist. : Requested simultaneously by the Goddard & Rutherford
		people, independent of each other.

 Written     : SVHH, 15 January 1994
               
 Modified    : SVHH, Documentation added March 1994, stand-alone mode added.

 Version     : 1.0

(See .//dsp_struct.pro)


JOIN_STRUCT

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	JOIN_STRUCT

 Purpose     :	join two structures

 Explanation :	concatanates two structures by using COPY_STRUCT to
               avoid the problem of concatanating two differently named
               structures.

 Use         : NEW_STRUCT=JOIN_STRUCT(STRUCT1,STRUCT2)

 Inputs      :	STRUCT1,2 = input structures

 Opt. Inputs :	None.

 Outputs     :	NEW_STRUCT = concatanated structure

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	COPY_STRUCT

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Structure handling

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 22 September 1994

(See .//join_struct.pro)


MATCH_STRUCT

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SDAC

 Name        :	MATCH_STRUCT

 Purpose     :	check if two structures are identical

 Explanation :	cross-checks type and value of each field

 Use         : STATUS=MATCH_STRUCT(STRUCT1,STRUCT2)

 Inputs      :	S1, S2 = input structures

 Opt. Inputs :	None.

 Outputs     :	STATUS = 1/0 is input structure are/are not identical

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	DATATYPE

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Structure handling

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC/GSFC)

 Modified    : To handle arrays of strings.  CDP, 27-Feb-95
               Removed redunant string check. DMZ, 1-March-95

 Version     :	Version 3, 1-March-95

(See .//match_struct.pro)


REM_TAG

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SDAC

 Name        :	REM_TAG

 Purpose     :	remove a tag from a structure

 Explanation :	

 Use         : NEW_STRUCT=REM_TAG(STRUCT,TAG)

 Inputs      :	STRUCT = input structure
             : TAG = array of tag names to remove

 Opt. Inputs :	None.

 Outputs     :	NEW_STRUCT = new structure

 Opt. Outputs:	None.

 Keywords    :	NAME = new name for output structure

 Calls       :	COPY_STRUCT

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Structure handling

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 7 November 1994

(See .//rem_tag.pro)


REP_TAG

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SDAC

 Name        :	REP_TAG

 Purpose     :	Replace a tag name in structure

 Explanation :	

 Use         : NEW_STRUCT=REP_TAG(STRUCT,OLD_TAG,NEW_TAG)

 Inputs      :	STRUCT = input structure
             : OLD_TAG = old tag name
             : NEW_TAG = new tag name

 Opt. Inputs :	None.

 Outputs     :	NEW_STRUCT = new structure

 Opt. Outputs:	None.

 Keywords    :	NAME = new name for output structure

 Calls       :	None.

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Structure handling

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 7 November 1994

(See .//rep_tag.pro)


SHOW_STRUCT

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : SHOW_STRUCT
               
 Purpose     : Display contents and breakdown of an IDL structure.
               
 Explanation : Displays in a widget the contents of a structure.  Embedded
               structures are unpacked.
               
 Use         : IDL> show_struct, str_name
    
 Inputs      : str_name  - name of structure to be viewed.
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : DSP_STRUCT

 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, structure
               
 Prev. Hist. : Just a packaged version of S V Haugan's DSP_STRUCT with the
               /alone keyword.

 Written     : C D Pike, RAL, 21-Apr-94
               
 Modified    : 

 Version     : Version 1, 21-Apr-94

(See .//show_struct.pro)


SPLIT_STRUCT

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	SPLIT_STRUCT

 Purpose     :	split two structures apart

 Explanation :

 Use         : SPLIT_STRUCT,STRUCT,INDEX,S1,S2

 Inputs      :	STRUCT = input structure to split
               INDEX  = index (or tag name) at which to break off structure

 Opt. Inputs :	None.

 Outputs     :	S1, S2 = split structures

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Structure handling

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 22 January 1995

(See .//split_struct.pro)


TAG_EXIST

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : TAG_EXIST()
               
 Purpose     : To test whether a tag name exists in a structure.
               
 Explanation : Routine obtains a list of tagnames and tests whether the
               requested one exists or not. The search is recursive so 
               if any tag names in the structure are themselves structures
               the search drops down to that level.
               
 Use         : IDL>  status = tag_exist(str, tag)
    
 Inputs      : str  -  structure variable to search
               tag  -  tag name to search for
               
 Opt. Inputs : None
               
 Outputs     : Function returns 1 if tag name exists or 0 if it does not.
               
 Opt. Outputs: None
               
 Keywords    : INDEX = index of matching tag

 Calls       : None

 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, structure
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 18-May-94
               
 Modified    : Version 1.1, D Zarro, ARC/GSFC, 27-Jan-95
               Passed out index of matching tag

 Version     : Version 1.1, 27-Jan-95

(See .//tag_exist.pro)


WHERE_TAG

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : WHERE_TAG()
               
 Purpose     : Select subscripts of elements in structure array. 
               
 Explanation : Searches the input structure for the nominated tag name
               and returns the index of those tags whose value is within
               the range set or whose value matches that requested.
               
 Use         : IDL> w = where_tag(str, TAG_NAME="tag_name", RANGE=[-1,2] )
		IDL> w = where_tag(str, TAG_NAME="tag_name", VAL=0 )
		IDL> w = where_tag(str, TAG_NAME="tag_name", VAL=[1,2,3,4] )
    
 Inputs      : Str    -  structure array to search.

               
 Opt. Inputs : None
               
 Outputs     : Function returns indices found
		Nfound = # of occurences found.
               
 Opt. Outputs: None
               
 Keywords    : TAG_NAME   = string specifying Tag Name
               TAG_NUMBER = otherwise give the Tag Number,
               RANGE      = [min,max] range to search for in Struct,
               VALUES     = one or array of numbers to match for in Str.
               ISELECT    = specifies indices to select only part of 
                            structure array, (use it to recycle subscripts 
                            from previous searches).
	        /NOPRINT   = suppress informational messages about nothing 
                            found.

 Calls       : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Utilities, Structures
               
 Prev. Hist. :

 Written     : Written 1990 Frank Varosi STX @ NASA/GSFC
               
 Modified    : CDS version C D Pike, RAL, 8-Jun-93
               Fixed it to stop printing "Tag  not found" even when
               /noprint given.  CDP, 30-Sep-94

 Version     : Version 2, 30-Sep-94

(See .//where_tag.pro)


XSTRUCT

[Previous Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	XSTRUCT

 Purpose     : widget display of fields within an arbitrary structure

 Explanation :
              Arranges structures in a matrix format with the tag
              name in label widget and the tag value in a text widget.
              If wbase and wtags exist, then widget is just updated
              with input field values.

 Use         : xstruct,stc

 Inputs      : STC = structure name

 Opt. Inputs : None.

 Outputs     : None.

 Opt. Outputs: None.

 Keywords    :
              NX = # of columns by which to arrange widgets (def=2)
              WTAGS = text widget id's for each tag
              WBASE = parent widget base into which place structure
              GROUP = event id of widget that calls XSTRUCT
              JUST_REG = if set, then just register widget
              TITLE = optional widget title
              XOFF, YOFF = offset of structure base relative to calling widget

 Calls       : xmatrix

 Common      : None.

 Restrictions: 
             Input must be a structure.
             Cannot yet safely handle arrays of structures or nested structures

 Side effects: None.

 Category    : Widgets

 Prev. Hist. : None.

 Written     :	Zarro (ARC/GSFC) 20 August 1994

 Modified    :

 Version     : 1

(See .//xstruct.pro)