[vtkusers] Help!! =( NormalizedViewport -> World using vtkCoordinate
Louis Desjardins
lost_bits1110 at hotmail.com
Fri Dec 10 11:45:10 EST 2004
Thank you so much for your response Vidyadhar,
I am using vtkCoordinate sorry i should have mentioned
So just to clarify:
I have a viewport that is divided on my screen so that it takes teh top half
of my screen:
And I have an unstructured mesh which is defined in its own coodoordinate
space, world space i guess, but its constantly rotating around so we see
different views of the mesh
Now I've defined by viewport as
Ren->SetViewport( 0.5, 0.5, 1, 1)
so I guess this is Normalized Viewport
and I'vve tried using all 3 xyz now when using vtkCooridnate but it doesnt
work, (maybe i'm not seetting the z value correctly? I tried both 0 and 1?
how do i know which to use?)
or i've tried
Ren->SetViewPoint( 0.5, 0.5, 0 );
Ren->ViewToWorld();
worldValue1 = Ren->GetWorldPoint();
Ren->SetViewPoint( 1, 1, 0 );
Ren->ViewToWorld();
worldValue1 = Ren->GetWorldPoint();
which should also work, but doesnt work (again maybe the z value is wrong? I
tried it with '1' as well and didnt work)
Say that the below is my screen: and the top half is the viewport i defined:
so I just want the points I've marked in X to be in world coords:
--------------X
| |
| |
X------------ |
| |
| |
--------------
Okay thank you again,
I'll keep trying meanwhile any tips are very much appreciated!!
thank you
LD
p.s or maybe i shoudlnt be using view? shoudl i use display??
>From: "vidyadhar" <vidyadhar at lucidindia.net>
>To: "Louis Desjardins" <lost_bits1110 at hotmail.com>
>Subject: Re: [vtkusers] Help!! =( NormalizedViewport -> World using
>vtkCoordinate
>Date: Fri, 10 Dec 2004 12:42:07 +0530
>
>Hi,
>It is not clear from your message but I think you are using vtkCoordinate
>class for transformation. If that is the case then there is mistake in
>SetValue. It should get (x,y,z) coordinates, not just (x,y).
>vtkViewport itself has methods to translate like this.
>Get/SetDisplay/WorldPoint and WorldToDisplay and DisplayToWorld. Here world
>coordinates are homogeneous coordinates (x,y,z,s).
>Vidyadhar
>----- Original Message -----
>From: "Louis Desjardins" <lost_bits1110 at hotmail.com>
>To: <vtkusers at vtk.org>
>Sent: Friday, December 10, 2004 8:21 AM
>Subject: [vtkusers] Help!! =( NormalizedViewport -> World using
>vtkCoordinate
>
>
> > Okay apparantly my last message didnt go through which was:
> >
> > Hello experts
> >
> > Say I have a Viewport that is defined as:
> > Ren->SetViewport( 0.5, 0.5, 1, 1) // (x_min,y_min, x_max,y_max)
> >
> > so basically it takes some fraction of the screen (half in this case)
> >
> > I've rendered an UnstructuredGrid in this viewport, and thus I have an
>idea
> > of what my world coordinates are
> >
> > I would like to know the points defined above for my 'Ren' viewport in
>these
> > defined world coordinates
> >
> > so I would like to convert (0.5,0.5) to world coords
> > and (1,1) to world coords
> >
> > this my code:
> >
> > double *worldValue1 = new double[2];
> > double *worldValue2 = new double[2];
> >
> > ViewPortToWorld->SetCoordinateSystemToNormalizedViewport( );
> > ViewPortToWorld->SetViewport( Ren );
> > ViewPortToWorld->SetValue(0.5, 0.5);
> >
> > worldValue1 = ViewPortToWorld->GetComputedWorldValue( Ren );
> > cout<<worldValue1[0]<<" "<<worldValue1[1]<<endl;
> >
> > ViewPortToWorld->SetValue(1, 1);
> > worldValue2 = ViewPortToWorld->GetComputedWorldValue( ColorDoppler.Ren1
>);
> > cout<<worldValue2[0]<<" "<<worldValue2[1]<<endl;
> >
> > Like I said, I have an idea of what the values should be, but I dont get
>the
> > right ones
> > also, worldValue1 and worldValue2 give the exact same values!??
> >
> > Any help at all would be greatly appreciated =S
> > Thank you!
> >
> > LD
> > --------
> > .. just to add to this:
> > I've also tried:
> >
> > Ren->SetViewPoint( 0.5, 0.5, 0 );
> > Ren->ViewToWorld();
> > worldValue1 = ColorDoppler.Ren1->GetWorldPoint();
> > cout<<worldValue1[0]<<" "<<worldValue1[1]<<endl;
> >
> > Ren->SetViewPoint( 1, 1, 0 );
> > Ren->ViewToWorld();
> > worldValue1 = ColorDoppler.Ren1->GetWorldPoint();
> > cout<<worldValue1[0]<<" "<<worldValue1[1]<<endl<<endl;
> >
> > and still doesnt work :(
> >
> > sigh
> >
> >
> >
> >
>
More information about the vtkusers
mailing list