|
Object Programming: Working with Surface Objects |
|
With a little programming, we can create an application that allows the user to display a surface object and transform its model tree interactively using the mouse.
| Example Code Example code is located in surf_track.pro in the examples/doc/objects subdirectory of the IDL distribution. Enter .EDIT surf_track.pro at the IDL command line to open the file in an IDL Editor window. |
This example uses IDL widgets to create a graphical user interface to an object tree. The SURF_TRACK procedure creates a surface object from user-specified data (or from default data, if none is specified), and places the surface object in an IDL draw widget. The SURF_TRACK interface allows the user to specify several attributes of the object hierarchy via pull-down menus. Finally, the SURF_TRACK procedure uses the example trackball object (see Interactive 3D Transformations for details) to allow the user to rotate the surface in three dimensions.
Call the SURF_TRACK procedure without an argument to use the default surface (a Bessel function) or with a two-dimensional array as its argument:
; Make up some data: zdata = DIST(40) SURF_TRACK, zdata
We encourage you to inspect the code in surf_track.pro for hints on how to create a widget application around a draw widget that uses Object Graphics. Note especially that the SURF_TRACK procedure is well-behaved when it exits, destroying all of the objects it creates so as not to tie up memory with leftover objects for which object references are no longer available.
![]() |
IDL Online Help (March 06, 2007)