View Single Post
  #2  
Old 08-25-2009, 09:40 AM
farshizzo farshizzo is offline
WorldViz Team Member
 
Join Date: Mar 2003
Posts: 2,849
Did you follow the single display example on the vizcave documentation page? What you are trying to accomplish seems very similar to that example. It sounds like you are not properly attaching the tracker to the viewpoint. Your cave setup code should look something like this:
Code:
cave = vizcave.Cave()
wall = vizcave.Wall(upperLeft  = (-.1585, .3409, .1739+.05),
                    upperRight = ( .1959, .3339, .1852+.05),
                    lowerLeft  = (-.2029, .0795, .1459+.05),
                    lowerRight = ( .2169, .0782, .1593+.05))
cave.addWall(wall)

fobTracker = .... #Code that creates FOB tracker

# Automatically update the cave with the tracker
cave.setTracker(pos= fobTracker )

# CaveView object is used to manipulate viewpoint origin within cave
caveorigin = vizcave.CaveView(fobTracker)
You don't need to manually update the cave, the cave.setTracker command will do this for you. If your virtual viewpoint origin differs from the physical tracker origin, then you can use the caveorigin object to change it. The object behaves like a standard node objects so you can call setPosition, setEuler, etc...

The SPI module handles the projection matrices itself, so it won't work with vizcave. Also, vizcave is meant to work with projections on flat surfaces, so a curved surface like the Elumens dish will not be compatible with it.
Reply With Quote