Plot3D bug in 8.1 [message #75912] |
Mon, 09 May 2011 06:13  |
David Grier
Messages: 35 Registered: July 2010
|
Member |
|
|
Dear Folks,
I've confirmed that the following code works in IDL 8.0.1
but fails in 8.1, even though the documentation for Plot3D
has not changed between the two versions:
x = randomu(seed, 100)
y = randomu(seed, 100)
z = randomu(seed, 100)
orb = orb()
p = plot3d(x, y, z, SYM_OBJECT = orb)
In IDL 8.0.1, this creates an object graphics plot with
spheres at the vertices.
By contrast, IDL 8.1 emits the following error message,
and no plot:
% PLOT3D: Unknown property: SYM_OBJECT
% Execution halted at: $MAIN$
This quite clearly is a bug, therefore.
Strangely enough, iplot still understands the SYM_OBJECT keyword
in IDL 8.1.
All the best,
David
|
|
|
Re: Plot3D bug in 8.1 [message #75968 is a reply to message #75912] |
Wed, 11 May 2011 11:41  |
chris_torrence@NOSPAM
Messages: 528 Registered: March 2007
|
Senior Member |
|
|
On May 9, 7:14 pm, David Grier <david.gr...@nyu.edu> wrote:
> On 5/9/11 2:05 PM, David Fanning wrote:
>
>
>
>
>
>
>
>
>
>> Paulo Penteado writes:
>
>>> If it is like Vista, I would try starting Windows Explorer with a
>>> right-click to select "Run as administrator" (or something like it),
>>> which I think would be like doing a sudo.
>
>> Yes, that normally works, but it takes more than this
>> in the Program Files directory. I think it requires
>> you to change owners somehow, too. Anyway, I just
>> saved graphic__define.pro in a local directory that
>> gets searched first, so there is no problem. Maybe
>> this is even a better solution, since there is no
>> question about which system files have been changed.
>
>> Cheers,
>
>> David
>
> Thanks very much for tracking down the source of this bug
> and even finding an arcane workaround.
>
> All the best,
>
> David
Hi David,
Thanks for reporting this bug. The SYM_OBJECT property has now been
added to the list of allowed properties for Plot, Plot3D, and Vector.
This will be available in the next version of IDL. In the meantime,
you can use the /UNDOCUMENTED keyword, just like Paulo suggested (this
was exactly why that keyword was added!).
Cheers,
Chris
ITTVIS
|
|
|
Re: Plot3D bug in 8.1 [message #75988 is a reply to message #75912] |
Mon, 09 May 2011 18:14  |
David Grier
Messages: 35 Registered: July 2010
|
Member |
|
|
On 5/9/11 2:05 PM, David Fanning wrote:
> Paulo Penteado writes:
>
>> If it is like Vista, I would try starting Windows Explorer with a
>> right-click to select "Run as administrator" (or something like it),
>> which I think would be like doing a sudo.
>
> Yes, that normally works, but it takes more than this
> in the Program Files directory. I think it requires
> you to change owners somehow, too. Anyway, I just
> saved graphic__define.pro in a local directory that
> gets searched first, so there is no problem. Maybe
> this is even a better solution, since there is no
> question about which system files have been changed.
>
> Cheers,
>
> David
>
>
Thanks very much for tracking down the source of this bug
and even finding an arcane workaround.
All the best,
David
|
|
|
Re: Plot3D bug in 8.1 [message #75993 is a reply to message #75912] |
Mon, 09 May 2011 11:05  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Paulo Penteado writes:
> If it is like Vista, I would try starting Windows Explorer with a
> right-click to select "Run as administrator" (or something like it),
> which I think would be like doing a sudo.
Yes, that normally works, but it takes more than this
in the Program Files directory. I think it requires
you to change owners somehow, too. Anyway, I just
saved graphic__define.pro in a local directory that
gets searched first, so there is no problem. Maybe
this is even a better solution, since there is no
question about which system files have been changed.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Plot3D bug in 8.1 [message #75994 is a reply to message #75912] |
Mon, 09 May 2011 10:51  |
penteado
Messages: 866 Registered: February 2018
|
Senior Member Administrator |
|
|
On May 9, 2:47 pm, David Fanning <n...@idlcoyote.com> wrote:
> It must involve somehow taking over ownership of the
> files from the "installer," but either I can't follow
> directions (pretty likely) or Windows wants to make it
> so hard you need a Ph.D. in Computer Science to do it.
If it is like Vista, I would try starting Windows Explorer with a
right-click to select "Run as administrator" (or something like it),
which I think would be like doing a sudo.
|
|
|
Re: Plot3D bug in 8.1 [message #75995 is a reply to message #75912] |
Mon, 09 May 2011 10:47  |
penteado
Messages: 866 Registered: February 2018
|
Senior Member Administrator |
|
|
On May 9, 2:19 pm, David Fanning <n...@idlcoyote.com> wrote:
> Paulo Penteado writes:
>> By the way, could not this kind of debugging qualify me to report bugs
>> directly to ITTVIS, instead of having to go through their Brazilian
>> representative, as it seems I am required to do, just because they
>> issued my license?
>
> I don't know about that, but anyone who can follow iTool
> code and find bugs should get an automatic three-year
> membership in the IEPA. I'll forward you name to the
> Committee. You should be hearing something shortly
> (within a year or two, I should think). :-)
>
> http://www.idlcoyote.com/misc_tips/iepa.php
I can even answer the most recent test question: in Brazil a new 1-
year academic license cost me about 4 months' worth of health
insurance; a renew, about half that. By last year's prices, a
commercial fixed license would be almost 3 years of insurance, and a
commercial floating license would be about 5 years.
|
|
|
Re: Plot3D bug in 8.1 [message #75996 is a reply to message #75912] |
Mon, 09 May 2011 10:47  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Paulo Penteado writes:
> The fix for ITTVIS to do: in line 1405 of graphic__define.pro, inside
> Plot3D::QueryProperty, add 'SYM_OBJECT' to the properties array. I
> verified that this fixes the problem.
This is terrible embarrassing, but I can't make this change
because I can't write into the ITTVIS directory. Nor have
I been able to figure out how to change the permissions
on these kinds of directories in Windows 7. (Right clicking,
selecting Permissions, etc., *appears* to work, but it doesn't
actually work.)
I know this is a Windows 7 thing, but does anyone know
how to do this? Dick Jackson was pointing out a useful
trick to me the other day that involved writing something
into the Help directory, and I tried for 45 minutes to get
that to work without success, too.
It must involve somehow taking over ownership of the
files from the "installer," but either I can't follow
directions (pretty likely) or Windows wants to make it
so hard you need a Ph.D. in Computer Science to do it.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Plot3D bug in 8.1 [message #75997 is a reply to message #75912] |
Mon, 09 May 2011 10:19  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Paulo Penteado writes:
> By the way, could not this kind of debugging qualify me to report bugs
> directly to ITTVIS, instead of having to go through their Brazilian
> representative, as it seems I am required to do, just because they
> issued my license?
I don't know about that, but anyone who can follow iTool
code and find bugs should get an automatic three-year
membership in the IEPA. I'll forward you name to the
Committee. You should be hearing something shortly
(within a year or two, I should think). :-)
http://www.idlcoyote.com/misc_tips/iepa.php
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Plot3D bug in 8.1 [message #75999 is a reply to message #75912] |
Mon, 09 May 2011 10:09  |
penteado
Messages: 866 Registered: February 2018
|
Senior Member Administrator |
|
|
On May 9, 1:26 pm, David Fanning <n...@idlcoyote.com> wrote:
> Paulo Penteado writes:
>> I can confirm the bug, and that it was not present in 8.0. My guess is
>> that it came from the _strict_extra that started being used in the
>> Graphics routines, with sym_object ending up left out somewhere along
>> the way.
>
> That would make sense, except that it doesn't explain why
> it worked before. For it to be trapped by _STRICT_EXTRA
> it would have to be mis-spelled in the code. If it is
> mis-spelled, how did it work before?
Ok, that was a naive first guess. I had noticed that in 8.1 checking
for invalid arguments appeared in Graphics, so I just guessed it was
_strict_extra, as had been suggested here (by you, if I remember
right).
But it is a bit more involved. In 8.1 the Graphics class got a new
method, VerifyProperty, to do the checking and throw an error if a
property is not found. It determines the valid properties from the
QueryProperty method of the right class, which is where the error
lies, since 8.0: Plot3D::QueryProperty does not have SYM_OBJECT among
its properties. In 8.0 it was no problem, because any nonexistent
properties were ignored. It flared up now that there is checking.
The fix for ITTVIS to do: in line 1405 of graphic__define.pro, inside
Plot3D::QueryProperty, add 'SYM_OBJECT' to the properties array. I
verified that this fixes the problem.
The fix that you can do, to get it to work, without changing source
code: Use the new 'undocumented' keyword (itself, amusingly,
undocumented), which disables the checking:
p=plot3d(/test,sym_object=orb(),/undocumented)
By the way, could not this kind of debugging qualify me to report bugs
directly to ITTVIS, instead of having to go through their Brazilian
representative, as it seems I am required to do, just because they
issued my license?
|
|
|
Re: Plot3D bug in 8.1 [message #76002 is a reply to message #75912] |
Mon, 09 May 2011 09:26  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Paulo Penteado writes:
> I can confirm the bug, and that it was not present in 8.0. My guess is
> that it came from the _strict_extra that started being used in the
> Graphics routines, with sym_object ending up left out somewhere along
> the way.
That would make sense, except that it doesn't explain why
it worked before. For it to be trapped by _STRICT_EXTRA
it would have to be mis-spelled in the code. If it is
mis-spelled, how did it work before?
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|