Re: Attempt to call undefined method: 'IDLITSYMBOL::IS3D' [message #82495 is a reply to message #82400] |
Wed, 12 December 2012 12:59  |
Paul Van Delst[1]
Messages: 1157 Registered: April 2002
|
Senior Member |
|
|
A little bit more digging found this:
-----%<-----
IDLitVisualization::Is3D
The IDLitVisualization::Is3D function method determines
whether or not this visualization is marked as being
three-dimensional.
Syntax
Result = Obj->[IDLitVisualization::]Is3D()
Return Value
Returns 1 if this visualization is marked as being
three-dimensional, or 0 if it is not three-dimensional.
Arguments
None
Keywords
None
-----%<-----
Based on this I started digging into the various class hierarchies
trying to figure out what is inherited by whom.
Following the list of <Direct> inherited objects...
IDL> help, obj_new('idlitsymbol'), /objects
** Object class IDLITSYMBOL, 1 direct superclass, 4 known methods
Superclasses:
IDLGRMODEL <Direct>
IDLGRCONTAINER
IDL_CONTAINER
IDLGRCOMPONENT
IDLITCOMPONENT
IDL> help, obj_new('idlgrmodel'), /objects
** Object class IDLGRMODEL, 1 direct superclass, 3 known methods
Superclasses:
IDLGRCONTAINER <Direct>
IDL_CONTAINER
IDLGRCOMPONENT
IDLITCOMPONENT
IDL> help, obj_new('idlgrcontainer'), /objects
** Object class IDLGRCONTAINER, 2 direct superclasses, 2 known methods
Superclasses:
IDL_CONTAINER <Direct>
IDLGRCOMPONENT <Direct>
IDLITCOMPONENT
IDL_CONTAINER has no superclasses (I think) so:
IDL> help, obj_new('idlgrcomponent'), /objects
** Object class IDLGRCOMPONENT, 1 direct superclass, 2 known methods
Superclasses:
IDLITCOMPONENT <Direct>
And IDLITCOMPONENT similarly has no superclasses.
So how can IDLITSYMBOL ever get access to the IS3D methjod of
IDLITVISUALIZATION? Via a contained object somehow?
Hmm. Let's go the other way:
IDL> help, obj_new('idlitvisualization'), /objects
** Object class IDLITVISUALIZATION, 2 direct superclasses, 6 known methods
Superclasses:
_IDLITVISUALIZATION <Direct>
_IDLITCONTAINER
_IDLITPROPERTYAGGREGATE
IDLGRMODEL
IDLGRCONTAINER
IDL_CONTAINER
IDLGRCOMPONENT
IDLITCOMPONENT
IDLITSELECTPARENT
IDLITIMESSAGING
IDLITPARAMETER <Direct>
Oi vey!
IDL> help, obj_new('_idlitvisualization'), /objects
** Object class _IDLITVISUALIZATION, 5 direct superclasses, 7 known methods
Superclasses:
_IDLITCONTAINER <Direct>
_IDLITPROPERTYAGGREGATE <Direct>
IDLGRMODEL <Direct>
IDLGRCONTAINER
IDL_CONTAINER
IDLGRCOMPONENT
IDLITCOMPONENT
IDLITSELECTPARENT <Direct>
IDLITIMESSAGING <Direct>
Crikey.
On 12/12/12 12:06, Paul van Delst wrote:
> Hello,
>
> I'm creating a graphics window and storing the id in a hash like so:
>
> gref[tag] = WINDOW( WINDOW_TITLE=tag, $
> DIMENSIONS = [600,800] )
>
> I then do a bunch of plotting and legend-ing in that window using the
> /CURRENT keyword.
>
> The "gref" variable is passed out of my procedure so that, if I decide
> to modify the plots (e.g. zoom, add arrows, text, whatever)
> interactively, I can still save it. I've done this in the past and it
> has always worked fine.
>
> Now when I try to do it I get an error:
>
> IDL> gref['afn'].save,'afn.png',height=800
> % SAVE: Attempt to call undefined method: 'IDLITSYMBOL::IS3D'.
> % Execution halted at: $MAIN$
>
> Has anyone seen this error before? Or explain it to me? I can find
> anything in the IDL help about either the object (IDLITSYMBOL) or the
> method (IS3D)
>
> Thanks for any info.
>
> cheers,
>
> paulv
>
>
> p.s. IDL> print, !version
> { x86 linux unix linux 8.2 Apr 10 2012 32 64}
>
|
|
|