[vtkusers] Z-Order of vtkRenderer,vtkImageActor,vtkTextActor

Shang Mu smu.email at gmail.com
Sat Sep 2 12:22:06 EDT 2006


Tom,

Sorry I don't have more solutions. It seems the problem comes from 
overlaping viewports but not actors. My code worked for 2d and 3d actors in 
the same viewport (actually in the same renderer as well). And the document 
for SetDisplayLocationToForeground only mentions about overlapping actors 
but not viewports.

By the way, since vtkTextActor inherits from vtkActor2D, you should be able 
to directly use the method without the cast "((vtkActor2D *)myTextActor)->". 
I wrote "actor2d.GetProperty()..." only because I copied it out directly 
from my Python code and actor2d was my actor's name. Sorry for any 
confusion.

good luck
Shang

----- Original Message ----- 
From: "Thomas Lambertz" <thomas at hexerei-software.de>
To: <vtkusers at vtk.org>
Sent: Saturday, September 02, 2006 9:51 AM
Subject: Re: [vtkusers] Z-Order of vtkRenderer,vtkImageActor,vtkTextActor


> Hi Shang,
>
> thanks for your hint.
>
> Looking into the online-documentation for the vtkProperty2D-class i found:
>
> void vtkProperty2D::SetDisplayLocationToForeground
>
> "The DisplayLocation is either background or foreground.  [...] If it is 
> background [seemes to be a typo - must be foreground] , then this 2D actor 
> will be drawn in front of all 3D props and background 2D actors."
>
>
> There are no overlapping vtkActor2D and my vtkImageActors are such 3D 
> props - so this should solve my problem.
>
> I implemented your advise in this way:
>
> ((vtkActor2D 
> *)myTextActor)->GetProperty()->SetDisplayLocationToForeground();
>
>
> Unfortunately the text is still invisible. Removing the vtkImageActors 
> gives me the correct text, order of adding the renderers didnt change 
> this.
>
> Any suggestions ?
>
> regards,
> Tom
>
>
> Shang Mu schrieb:
>> try this:
>> actor2d.GetProperty().SetDisplayLocationToForeground/Foreground() or 
>> SetDisplayLocation(int)
>>
>> http://www.vtk.org/doc/nightly/html/classvtkProperty2D.html#aff92a7410107d67198f73fb1af85b9c
>>
>> Shang
>>
>> ----- Original Message ----- From: "Thomas Lambertz" 
>> <thomas at hexerei-software.de>
>> To: <vtkusers at vtk.org>
>> Sent: Friday, September 01, 2006 9:06 PM
>> Subject: [vtkusers] Z-Order of vtkRenderer,vtkImageActor,vtkTextActor
>>
>>
>>> Hi there,
>>>
>>> i have a problem with providing some text-information for dicom-slices.
>>>
>>> Each slice is represented by a vtkImageActor and a vtkRenderer. All 
>>> vtkRenderers are arranged like a chessboard using their SetViewport() 
>>> method. There is no overlapping and all went fine.
>>>
>>> I thought i could add some text-information by adding another 
>>> vtkRenderer with a vtkTextActor. This renderer could use the hole 
>>> RenderWindow - (SetViewport(0.0,0.0,1.0,1.0)). But whatever order of 
>>> RenderWindow->AddRenderer() i choose - the text is never visible. By 
>>> omitting the slice-renderer i see the text - so the TextActor/Renderer 
>>> seemes to work (and is only hidden behind them ?).
>>> But:
>>> By adding the TextActor to each sliceRenderer the text is visible. But 
>>> that´s not a real solution as all sliceRenderer are restricted by their 
>>> viewport-settings - and i dont want to add the TextActor to all of them 
>>> only to see the hole text.
>>>
>>> It looks to me as i am struggling with the z-order of these renderers. 
>>> The order of adding the renderer seemes not to solve my problem.
>>> What am i doing wrong ? Can i set an z-order by hand ? Should i use 
>>> another classes for my problem ?
>>>
>>> Any suggestions are very appreciated.
>>>
>>> Thanks in advance,
>>> Tom
>>>
>>>
>>> _______________________________________________
>>> This is the private VTK discussion list. Please keep messages on-topic. 
>>> Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>>
>
> _______________________________________________
> This is the private VTK discussion list. Please keep messages on-topic. 
> Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers 




More information about the vtkusers mailing list