Re: Rendering order [message #49333 is a reply to message #49326] |
Wed, 12 July 2006 21:42   |
Michael Galloy
Messages: 1114 Registered: April 2006
|
Senior Member |
|
|
Michael Galloy wrote:
> Kenneth P. Bowman wrote:
>> I am drawing a fairly complicated 3-D plot using Isurface. I then
>> overplot some points using iPlot. I would like the surface to be
>> semi-transparent (I know how to do that), so that I can see the points
>> through the surface.
>> In order for this to work, the points must be rendered before the
>> surface. I would rather not re-structure my program to make this
>> work. Is there any easy way to change the rendering order so that the
>> iPlot objects are rendered before the surface? (Like a keyword to
>> iPlot? :-) )
>
> There are "Order > Bring to Front" and "Order > Send to Back" context
> menu items for graphics items in the iTools that will do the trick. Let
> me check if there is a programmatic way to access them.
OK, how about this?
x = randomu(seed, 20) * 20
y = randomu(seed, 20) * 20
z = randomu(seed, 20) * 20
d = dist(20)
isurface, d
id = itGetCurrent(tool=otool)
surfID = otool->findIdentifiers('*surface', /visualization)
result = otool->doSetProperty(surfID[0], 'Transparency', 50)
otool->refreshCurrentWindow
iplot, x, y, z, /overplot
sendToBackID = otool->findIdentifiers('*sendtoback', /operations)
result = otool->doAction(sendToBackID)
Mike
--
www.michaelgalloy.com
|
|
|