Atom Tree

An IDL object graphics factory as an alternative to iTools

What does the atom tree class do?

The atom tree class manages a set of IDL graphics objects. Normally, I would manage graphics objects with a suite of classes. That is, I would have a plot visualisation, an image visualisation and so on. If I wanted a plot, I would create a plot visualisation object to do the job.

For example:

tlb = widget_base() myPlot = obj_new('MyPlotVisualisation') myPlot -> build, tlb myPlot -> SetProperty, DATAX=indgen(10), DATAY=sqrt(indgen(10)) myPlot -> show

In contrast, the atom tree holds ALL IDL graphics objects. Each visualisation is created using a method call.

For example:

tlb = widget_base() myAtomTree = obj_new('nmtkatomtree',TLB=tlb) myAtomTree -> build myAtomTree -> addScene myAtomTree -> plot, 'myPlot', indgen(10), sqrt(indgen(10)) myAtomTree -> tv, 'myImage', dist(100) myAtomTree -> show

Why use the atom tree class?

There are several advantages of a single atom tree class

However, the atom tree is only useful for managing visualisations. It is not useful for event processing or data storage.

Where to use the atom tree class?

The atom tree class is ideal for use in conjunction with the following design patterns: