From: John Stone (johns_at_ks.uiuc.edu)
Date: Thu Jan 03 2008 - 01:12:44 CST

Ahmed,
  In the case of the CAVE or FreeVR, the wand position is transformed
in several places. The first transforms take place within the FreeVR and
CAVE libraries, due to settings in the .freevrrc or .caverc files that
define the visualization/tracker environment. From there, additional
transformations can be applied depending on the contents of the
.vmdsensors file. Earlier in the same piece of code, VMD is looping
over all of the periodic cell images and transforming the pick point
being tested against the wand position so that one can pick atoms in any
of the visible PBC images and get the right response from VMD.
I hope that helps clarify somewhat. Let us know if you have further
questions.

Cheers,
  John Stone
  vmd_at_ks.uiuc.edu

On Thu, Jan 03, 2008 at 08:28:31AM +0200, Ahmed Nawar wrote:
>
> Dear All
>
> My question very technical.
> Please I need the answer from VMD Programmers.
>
> In displaydevice.c :line 548
>
> // just check to see if the position is in a box centered on our
> // pointer. The pointer position should already be transformed.
> inRegion = (pntpos[0] >= fminX && pntpos[0] <= fmaxX &&
> pntpos[1] >= fminY && pntpos[1] <= fmaxY &&
> pntpos[2] >= fminZ && pntpos[2] <= fmaxZ);
>
>
> The comment say "The pointer position should already be transformed."
>
> I tried to trace the code And I found that
> the input position to the function is get from the real wand position and no transformation happened.
> But freevr picking done correctly.
>
> So please,I want to know Where is this transformation happed in the code or How?
> and how i can get the real and the transformed pointer position.
>
> Thanks,
>
> Ahmed Nawar

-- 
NIH Resource for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078