Hi saravanan.balak,
You just need to use the below code to switch between viewpoints by loading and removing the appropriate models at runtime.
Beelow is the code for switching between 2 viewpoints but only one single (you can use 2 models and load and remove/unload at runtime and changes the view points.
Code:
import viz
import vizact
import vizconnect
import viztask
# start the vizconnect session stored in the given directory
vizconnect.go("vizconnect_config.py")
# oriMode sets what the viewpoint is resetting to. For example...
# vizconnect.VIEWPOINT_MATCH_DISPLAY
# matches orientation of the display to the orientation of the viewpoint
#
# vizconnect.VIEWPOINT_MATCH_FEET
# matches orientation of the feet to the orientation of the viewpoint
#
# vizconnect.VIEWPOINT_MATCH_BASE
# matches orientation of the base object (transport, avatar, tracker) to the orientation of the viewpoint
#
# Similar for posMode
oriMode = vizconnect.VIEWPOINT_MATCH_DISPLAY
posMode = vizconnect.VIEWPOINT_MATCH_FEET
# Add a viewpoint.
vp1 = vizconnect.addViewpoint( pos=[-13.24803, 12.28260, 8.83578],
euler=[90, 0, 0],
posMode=posMode,
oriMode=oriMode,
constant=False,
)
vp2 = vizconnect.addViewpoint( pos=[-17.24803, 4.28260, 5.83578],
euler=[90, 0, 0],
posMode=posMode,
oriMode=oriMode,
constant=False,
)
# Displays are added to viewpoints, the viewpoint will traverse the scenegraph to
# determine if the display is attached to an avatar, tracker, etc in order to
# perform the requested resets.
#vp1.add(vizconnect.getDisplay())
# add an environment
viz.add('piazza.osgb')
display = vizconnect.getDisplay()
def viewTask():
while True:
vp1.add(display)
vizconnect.resetViewpoints()
print'before 1st waitkeydown '
yield viztask.waitKeyDown(' ')
vp1.remove(display)
vp2.add(display)
vizconnect.resetViewpoints()
print'before 2nd waitkeydown '
yield viztask.waitKeyDown(' ')
vp2.remove(display)
viztask.schedule( viewTask() )
Thanx&Regards
Mr.Rajnish Vishwakarma