Home >> Python >> PyOSG Fourth
import osg, osgDB, osgViewer, osgGA import sys, math root = osg.Group( ) osgDB.setLibraryFilePathList(sys.path) loadedModel = osgDB.readNodeFile('cessna.osg') node = osg.PositionAttitudeTransform( ) quat = osg.Quat( ) quat.makeRotate( 0, 0, 0, 1 ) node.setAttitude( quat ) node.setPosition( osg.Vec3d( 0, 18, 0 ) ) node.setScale( osg.Vec3d( 0.3, 0.3, 0.3 ) ) node.addChild( loadedModel ) root.addChild( node ) node1 = osg.PositionAttitudeTransform( ) node1.setPosition( osg.Vec3d( 0, 9, -9 ) ) node1.setScale( osg.Vec3d( 0.3, 0.3, 0.3 ) ) node1.addChild( loadedModel ) root.addChild( node1 ) viewer = osgViewer.Viewer() viewer.setSceneData( root ) viewer.addEventHandler(osgViewer.StatsHandler()) viewer.addEventHandler(osgViewer.WindowSizeHandler()) #viewer.run() viewer.setCameraManipulator(osgGA.TrackballManipulator()) viewer.realize( ) stime = 0.0 while ( not viewer.done() ): angle = stime % (2*math.pi) quat.makeRotate( -angle, 1, 0, 0 ) node.setAttitude( quat ) node.setPosition( osg.Vec3d( 0 ,9 - 9*math.sin(angle), -9*math.cos(angle)) ) viewer.realize( ) viewer.frame( stime ) stime += 0.001
PyOSG Third | Python | PyOSG Fifth |