A SERVICE OF

logo

Appendix A: Controlling iTools from the IDL Command Line 383
iTool Developer’s Guide Retrieving Component Identifiers
ISURFACE, DIST(40)
The full object identifier for this surface visualization looks something like:
/TOOLS/SURFACE TOOL/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA
SPACE/SURFACE
If you retrieve an object reference to our surface tool using the following statement:
void = ITGETCURRENT(TOOL=surfaceTool)
you might suppose that the following statement would return the identifier string
shown above:
PRINT, surfaceTool->FindIdentifiers('surface')
In fact, this statement returns no results, since there is no object identifier in the iTool
hierarchy that consists solely of the string
'surface'.
You might next try the following statement:
PRINT, surfaceTool->FindIdentifiers('*surface*')
to match any object identifier that contains the string 'surface'. This statement
will produces many lines of output; in fact, it will list every component in the surface
tool’s object hierarchy, because each object identifier contains the string
'/TOOLS/SURFACE TOOL'.
You might next try the following statement:
PRINT, surfaceTool->FindIdentifiers('*surface')
to match any object identifier that contains the string 'surface' at the end of the
identifier. This statement will produce output that looks something like this:
/TOOLS/SURFACE TOOL/OPERATIONS/FILE/NEW/SURFACE
/TOOLS/SURFACE TOOL/CURRENT STYLE/VISUALIZATIONS/SURFACE
/TOOLS/SURFACE TOOL/CURRENT STYLE/VISUALIZATIONS/ISOSURFACE
/TOOLS/SURFACE TOOL/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA
SPACE/SURFACE
Here, a smaller number of identifiers match the pattern, but still more than you are
interested in.
Finally, you might try the following statement:
PRINT, surfaceTool->FindIdentifiers('*surface*', /VISUALIZATIONS)
This statement will match any object identifier in the visualization layer that contains
the string
'surface'. It will produce output that looks something like this:
/TOOLS/SURFACE TOOL/WINDOW/VIEW_1/VISUALIZATION LAYER/DATA
SPACE/SURFACE