View Single Post
  #2  
Old 04-27-2012, 10:51 AM
farshizzo farshizzo is offline
WorldViz Team Member
 
Join Date: Mar 2003
Posts: 2,849
Can you post the full script you are using? I modified your setup to add a view tracker and a model and the front/bottom walls seem to line up correctly. Here is the script if you want to try it out. Use the mouse and arrow keys to navigate the virtual viewpoint around the gallery.
Code:
import viz
import vizcave
import viztracker

# Declare constants defining the CAVE dimensions
W = 3.410 # 10 feet wide
H = 2.140 #7.5 feet tall
D = 2.200 # 7.5 feet deep

C0 = -W/2,H/2,-D/2 # Front Wall: C1,C2,C5,C6
C1 = -W/2,H/2,D/2 # Left Wall: C0,C1,C4,C5
C2 = W/2,H/2,D/2 # Right Wall: C2,C3,C6,C7
C3 = W/2,H/2,-D/2 # Bottom Wall: C5,C6,C4,C7
C4 = -W/2,-H/2,-D/2
C5 = -W/2,-H/2,D/2
C6 = W/2,-H/2,D/2
C7 = W/2,-H/2,-D/2

#Create front wall
FrontWall = vizcave.Wall( upperLeft=C1, # 0, 2.286, 3.048
upperRight=C2, # 3.048, 2.286, 3.048
lowerLeft=C5, # 0, 0, 3.048
lowerRight=C6, # 3.048, 0, 3.048
name='Front Wall' )

#Create left wall
LeftWall = vizcave.Wall( upperLeft=C0,
upperRight=C1,
lowerLeft=C4,
lowerRight=C5,
name='Left Wall' )

#Create right wall
RightWall = vizcave.Wall( upperLeft=C2,
upperRight=C3,
lowerLeft=C6,
lowerRight=C7,
name='Right Wall' )

#Create bottom wall
BottomWall = vizcave.Wall( upperLeft=C5,
upperRight=C6,
lowerLeft=C4,
lowerRight=C7,
name='Bottom Wall' )

#Initialize graphics window
viz.go(viz.FULLSCREEN)
#viz.go(viz.FULLSCREEN|viz.QUAD_BUFFER)

#Create cave object
cave = vizcave.Cave()

frontWindow=viz.MainWindow
frontWindow.setSize(1,.5)
frontWindow.setPosition([0,1])
cave.addWall(FrontWall, window = frontWindow)

bottomWindow = viz.addWindow()
bottomWindow.setSize(1,.5)
bottomWindow.setPosition([0,0.5])
cave.addWall(BottomWall, window = bottomWindow)

#Create tracker object using the keyboard (WASD keys control the viewpoint, the user's eye location)
#Make the starting location for the user's eye above origin
viewtracker = viztracker.KeyboardPos()
viewtracker.setPosition(0.0,0.0,0.0)

#Pass the viewpoint tracker into the cave object so it can be automatically updated
cave.setTracker(pos=viewtracker)

#Create CaveView object for manipulating the entire cave environment
#The caveorigin is a node that can be adjusted to move the entire cave around the virtual environment
caveorigin = vizcave.CaveView(viewtracker)

#Create another tracker using the keyboard and mouse (arrow keys adjust position, mouse changes orientation)
origintracker = viztracker.KeyboardMouse6DOF()
origintracker.setPosition(0,1.5,0)

#Link the keyboard/mouse so that it moves the cave and user around the virtual environment
originlink = viz.link (origintracker, caveorigin)

#Add gallery environment model
viz.add('gallery.osgb')
Reply With Quote