[vtkusers] Re: Mixing 2d and 3d actors... the problem is in rendering!

Anja Ende anja.ende at googlemail.com
Fri Oct 13 10:18:04 EDT 2006


There is something really weird!!!

In the above example, when you click "P", I guess that species picking, the
actors become visible!!!!!

Ok, what is going on here???!! Please someone offer some insight!

Cheers,
Anja

On 13/10/06, Anja Ende <anja.ende at googlemail.com> wrote:
>
> I am attaching the code here that highlights the problem. It is really
> simple. If someone will try it on their machine for me, it would really
> help. It might be a hardware problem as well.... I can send the image file,
> if someone wants.
>
> Thanks,
> Anja
>
>
> //---------------------------------------------------------------------------------------------------------
>
> #include "vtkImageData.h"
> #include "vtkImageActor.h"
> #include "vtkActor2D.h"
> #include "vtkRenderWindow.h"
> #include "vtkRenderer.h"
> #include "vtkRenderWindowInteractor.h"
> #include "vtkImageMapper.h"
> #include " vtkPNGReader.h"
> #include "vtkImageChangeInformation.h"
>
> int main ()
> {
>     // Read the image
>     vtkPNGReader * cursorImage = vtkPNGReader::New();
>
> cursorImage->SetFileName("/home/pankaj/development/projects/viewer/bin/crosshair.png");
>
>     cursorImage->Update();
>     // Shift center to image data oigin
>     vtkImageChangeInformation * imageChange =
> vtkImageChangeInformation::New();
>     imageChange->SetInput(cursorImage->GetOutput());
>     imageChange->CenterImageOn();
>       // create actor2d
>     vtkImageMapper * mapper = vtkImageMapper::New();
>     mapper->SetInput(imageChange->GetOutput());
>     mapper->SetColorWindow( 256.0);
>     mapper->SetColorLevel(128.0);
>     vtkActor2D * actor2d = vtkActor2D::New();
>     actor2d->SetMapper(mapper);
>     // create actor 3d
>     vtkImageActor * actor3d = vtkImageActor::New();
>     actor3d->SetInput(imageChange->GetOutput());
>     // following lines creates our 2 layers of renderers
>     vtkRenderer *ren1 = vtkRenderer::New(); // 2d actor
>     ren1->AddViewProp(actor2d);
>     ren1->SetLayer(0); // bottom layer
>     vtkRenderer *ren2 = vtkRenderer::New();
>     ren2->AddViewProp(actor3d); // 3d actor
>     ren2->SetLayer(1); // top layer
>     vtkRenderWindow *renWin = vtkRenderWindow::New();
>     renWin->SetNumberOfLayers(2); // we have 2 layers of renderers in our
> window
>     renWin->AddRenderer(ren1);
>     renWin->AddRenderer(ren2);
>     vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); //
> an interactor
>     iren->SetRenderWindow(renWin);
>     renWin->Render();
>     iren->Start();
>
>     // We will not bother with deletions...program is ending anyways...
>     return 0;
> }
>
> //---------------------------------------------------------------------------------------------------------
>
>
>


-- 
Cheers,

Anja
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20061013/27f6c10c/attachment.htm>


More information about the vtkusers mailing list