Re: Relationship between IDLgrXXXX and associated NG functions. Was: IDL documentation gripe - How to erase a new graphics window? [message #80120 is a reply to message #80119] |
Tue, 01 May 2012 11:33   |
chris_torrence@NOSPAM
Messages: 528 Registered: March 2007
|
Senior Member |
|
|
On Tuesday, May 1, 2012 8:48:33 AM UTC-6, Paul van Delst wrote:
> On 05/01/12 10:27, David Fanning wrote:
>> Paul van Delst writes:
>>
>>> I've started replacing the DG draw widgets in my widget apps with NG window widgets. The way I use a particular app was
>>> to plot different things based on a selection from a button group. In DG there's no worries - you just call plot and the
>>> erase happens automagically and the new plot appears. But in NG the plots just pile on top of each other. I've searched
>>> the IDL documentation for the PLOT() and WINDOW() functions but there doesn't appear to be an "Erase" method.
>>>
>>> However, when I look at the IDLgrWindow window documentation there is the Erase method listed.
>>>
>>> Which does work with the window created using Window(),e.g.
>>>
>>> IDL> w=window()
>>> % Loaded DLM: XML.
>>> IDL> p=plot(indgen(100),current=w)
>>> IDL> w.erase
>>>
>>> So, does this mean ALL IDLgrXXXX methods work with the associated NG functions (e.g. IDLgrPlot for PLOT(), IDLgrSurface
>>> for SURFACE() etc)?
>>>
>>> And what about vice-versa?
>>
>> You must be living in a perfect world!
>>
>> I would say the connection between IDLgrXXXX methods
>> and function graphics routines is "casual" at best.
>> Maybe "haphazard" or "accidental" is a better description.
>> Most things work right up until you are too committed to
>> turn back. :-)
>
> Well, you know, this is probably about the sixth or seventh time where, after a period of weeks/months of doing actual
> work, I come back to some IDL apps thinking "you know, it sure would be neat to use NG in this application". And then,
> after a day of mucking about trying to figure out the cognitive pathways that led to the NG system, I realise why I
> stopped doing this the last time.
>
> It is quite frustrating.
>
> paulv
Hi Paul,
The Erase method was officially added to the Window function in IDL 8.2, which will be available in just a few weeks. In the meantime, you could instead try using the "SetData" method to simply replace the plot data. That should actually be much faster than completely destroying the plot and recreating it.
Cheers,
Chris
ExelisVIS
|
|
|