Using IDL Objects
The IDL Object Graphics system is a collection of pre-defined object classes, each of which is designed to encapsulate a particular visual representation. Actions (such as the modification of attributes, or data picking) may be performed on instances of these object classes by calling corresponding pre-defined methods. These objects are designed for building complex three-dimensional data visualizations.
For example, the IDLgrAxis object provides an encapsulation of all of the components associated with a graphical representation of an axis. One of the actions that can be performed on an axis is retrieving the current value of one or more of its attributes (such as its color, tick values, or data range). This action may be performed via the IDLgrAxis::GetProperty method. See Graphic Objects—Visualization in the functional category "Object Class Library" (IDL Quick Reference) for a complete listing of these types of objects.
Object Graphics should be thought of as a collection of building blocks. In order to display something on the screen, the user selects the appropriate set of blocks and puts them together so that as a group they provide a visual result. In this respect, Object Graphics are quite different than Direct Graphics. A single line of code is unlikely to produce a complete visualization. Furthermore, a basic understanding of the IDL object system is required (for instance, how to create an object, how to call a method, how to destroy an object, etc.). Because of the level at which these objects are presented, Object Graphics are aimed at application programmers rather than command line users.
Object Graphics do not interact in any way with the system variables (such as !P, !X, !Y, and !Z). Each graphic object is intended to encapsulate all of the information required to fully describe itself. Reliance on external structures is not condoned. The advantage of this approach is that once an object is created, it will always behave in the same way even if the system state is modified by another program, or if the object is moved to another user's IDL session, where the system state may have been customized in a different way than the state in which the object was originally defined.
Object Graphics are designed for building interactive three-dimensional visualization applications. Direct manipulation tools (such as the Trackball object) are provided to aid the application developer. Selection and data picking are also built in, so the developer can spend less time working out data projection issues and more time focusing on domain specific data analysis and visualization features. The IDL Intelligent Tools (iTools) are good examples of currently available applications built using Object Graphics. For more information, see the iTools User's Guide. Additional examples based on Object Graphics can be found in the IDL demo.