comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Plot3D bug in 8.1
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Plot3D bug in 8.1 [message #75912] Mon, 09 May 2011 06:13 Go to next message
David Grier is currently offline  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 Go to previous message
chris_torrence@NOSPAM is currently offline  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 Go to previous message
David Grier is currently offline  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 Go to previous message
David Fanning is currently offline  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 Go to previous message
penteado is currently offline  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 Go to previous message
penteado is currently offline  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 Go to previous message
David Fanning is currently offline  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 Go to previous message
David Fanning is currently offline  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 Go to previous message
penteado is currently offline  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 Go to previous message
David Fanning is currently offline  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.")
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Problem using the method List->ToArray()
Next Topic: Re: Problem using the method List->ToArray()

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 19:05:22 PDT 2025

Total time taken to generate the page: 0.00691 seconds