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

Home » Public Forums » archive » Re: IVolume/isosurface
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: IVolume/isosurface [message #49199 is a reply to message #49197] Fri, 07 July 2006 10:23 Go to previous messageGo to previous message
Michael Galloy is currently offline  Michael Galloy
Messages: 1114
Registered: April 2006
Senior Member
Kenneth P. Bowman wrote:
> In article <12ar2fms945fc42@corp.supernews.com>,
> "Karl Schultz" <k_remove_schultz@ittvis.com> wrote:
>
>>> Can an IVolume display more than one isosurface? If not, why not?
>>>
>> You need to re-select the volume to add another Isosurface.
>

Karl's suggestion will fix this programmatic example too. You just need
to insert a

vol_obj->select

after creating an isosurface (and before creating the next isosurface).
See the code below.

Mike
--
www.michaelgalloy.com

>
> IVOLUME, var, /NO_SAVEPROMPT, OVERPLOT = itool_id
>
> vol_id = itool_obj -> FindIdentifiers('*DATA SPACE/VOLUME*', /VISUALIZATIONS) ;Get volume viz object identifier
> vol_obj = itool_obj -> GetByIdentifier(vol_id) ;Get volume viz object reference
> vol_obj -> SetProperty, RENDER_EXTENTS = 0 ;Turn off walls
> vol_obj -> SetProperty, HIDE = 1 ;Hide volume (for exporting images)
>
> isosurface_op_id = itool_obj -> FindIdentifiers('*ISOSURFACE*', /OPERATIONS) ;Get isosurface operator identifier
> isosurface_op_obj = itool_obj -> GetByIdentifier(isosurface_op_id) ;Get isosurface operator object reference
> isosurface_op_obj -> SetProperty, SHOW_EXECUTION_UI = 0 ;Turn off isosurface operator user interface
> FOR i = 0, N_ELEMENTS(isovalues)-1 DO BEGIN
> isosurface_op_obj -> SetProperty, _ISOVALUE0 = isovalues[i] ;Set isosurface value to pv_value
> rc = itool_obj -> DoAction(isosurface_op_id)
;Make isosurface

vol_obj->select ; need to select volume again here

> ENDFOR
>
> isosurface_id = itool_obj -> FindIdentifiers('*DATA SPACE/ISOSURFACE*', /VISUALIZATIONS) ;Get isosurface object identifier(s)
> PRINT, isosurface_id
> FOR i = 0, N_ELEMENTS(isovalues)-1 DO BEGIN
> isosurface_obj = itool_obj -> GetByIdentifier(isosurface_id[i]) ;Get isosurface object reference
> isosurface_obj -> SetProperty, SOURCE_COLOR = 1, $ ;Set color source to "user"
> FILL_COLOR = isocolor, $ ;Set color
> TRANSPARENCY = 20 ;Set transparency
> itool_obj -> RefreshCurrentWindow ;Refresh window
> iTPropertyReport, itool_obj, isosurface_id[i] ;Print list of isosurface properties
> ENDFOR
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: reading past leading and training bytes
Next Topic: Re: Avoid loop in matrix operation

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

Current Time: Sat Oct 11 07:47:24 PDT 2025

Total time taken to generate the page: 0.79880 seconds