当前位置: 首页>>代码示例>>Python>>正文


Python World.loadSimulation方法代码示例

本文整理汇总了Python中world.World.loadSimulation方法的典型用法代码示例。如果您正苦于以下问题:Python World.loadSimulation方法的具体用法?Python World.loadSimulation怎么用?Python World.loadSimulation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在world.World的用法示例。


在下文中一共展示了World.loadSimulation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Test

# 需要导入模块: from world import World [as 别名]
# 或者: from world.World import loadSimulation [as 别名]
class Test(unittest.TestCase):
    def setUp(self):
        self.world = World(None)
        self.world.start()
        
        
    def testWorld(self):
        self.world.loader.filename = 'ballformation.sim'
        self.world.loadSimulation(True)
        amount = len(self.world.objects)
        first_item = self.world.objects.keys()[0]
        self.world.deleteObject(first_item)
        amount2 = len(self.world.objects)
        self.assertEqual(amount-1, amount2)
        
        self.world.addObject(AstronomicalObject(vector(0,0,0), vector(0,0,0),0,sphere(position=(0,0,0), make_trail=False),0), 'newObject')
        self.assertEqual(len(self.world.objects), amount)
        self.world.close()
        scene.visible = 0

    def testSimulation(self):
        self.world.loader.filename = 'ballformation.sim'
        self.world.loadSimulation(True)
        self.world.startSimulation()
        sleep(3)
        self.world.stopSimulation()
开发者ID:jannekem,项目名称:aksimulaattori2012,代码行数:28,代码来源:testworld.py

示例2: ControlWindow

# 需要导入模块: from world import World [as 别名]
# 或者: from world.World import loadSimulation [as 别名]
class ControlWindow(QtGui.QWidget):
    def __init__(self):
        super(ControlWindow, self).__init__()
        self.world = World(self)
        self.simulation_on = False  # used to set the simulation speed display to zero if False
        self.add_object_window = None
        self.selector = None
        self.collision = False
        self.collision_text = ''
        self.initUI()

    def initUI(self):

        self.setGeometry(820, 30, 300, 0)
        self.setWindowTitle('Control Window')

        # create informational elements
        self.statusbar = QtGui.QStatusBar(self)
        self.statusbar.showMessage('Ready')
        self.sim_speed_label = QtGui.QLabel('Simulation speed: ')
        self.sim_speed_value = QtGui.QLabel('0 /s')
        velocity_scale = QtGui.QLabel('Velocity scale')
        acceleration_scale = QtGui.QLabel('Acceleration scale')
        self.reference_label = QtGui.QLabel('Default')
        
        # create control elements
        # buttons
        btn_start = QtGui.QPushButton('Start/Stop', self)
        btn_load = QtGui.QPushButton('Load simulation', self)
        btn_reload = QtGui.QPushButton('Reload simulation', self)
        btn_clear = QtGui.QPushButton('Clear', self)
        btn_camera = QtGui.QPushButton('Camera', self)
        
        # sliders
        velocity_vector_scale = QtGui.QSlider(QtCore.Qt.Horizontal, self)
        acceleration_vector_scale = QtGui.QSlider(QtCore.Qt.Horizontal, self)
        acceleration_vector_gain = QtGui.QSlider(QtCore.Qt.Horizontal, self)  # sets the gain value for acceleration
        acceleration_vector_gain.setMinimum(1)
        acceleration_vector_gain.setMaximum(100000)

        # add object window
        self.add_object_window = AddObjectWindow(self.world)

        # time step settings
        timestep_label = QtGui.QLabel('Timestep:')
        self.timestep_value_label = QtGui.QLabel('{}'.format(self.world.getTimeStep()))
        timestep_set_button = QtGui.QPushButton('Set', self)
        self.timestep_edit = QtGui.QLineEdit(self)

        # checkboxes
        self.chkbx_trails = QtGui.QCheckBox('Show trails', self)
        self.chkbx_vectors = QtGui.QCheckBox('Show vectors', self)

        # set timers
        self.speedtimer = QtCore.QTimer()   # updates the updates per second value
        self.speedtimer.setInterval(1000)
        self.speedtimer.start()
        
        # set widget layout
        grid = QtGui.QGridLayout()
        grid.addWidget(btn_start, 0, 0)
        grid.addWidget(btn_load, 0, 1)
        grid.addWidget(btn_reload, 0, 2)
        grid.addWidget(btn_clear, 0, 3)
        
        grid.addWidget(self.sim_speed_label, 1, 0)
        grid.addWidget(self.sim_speed_value, 1, 1)
        
        grid.addWidget(timestep_label, 3,0)
        grid.addWidget(self.timestep_value_label, 3, 1)
        grid.addWidget(self.timestep_edit, 3, 2)
        grid.addWidget(timestep_set_button, 3, 3)
        
        grid.addWidget(self.chkbx_trails, 4,0)
        grid.addWidget(btn_camera, 4, 2)
        grid.addWidget(self.reference_label, 4, 3)
        grid.addWidget(self.chkbx_vectors, 4, 1)

        grid.addWidget(velocity_scale, 6,0)
        grid.addWidget(velocity_vector_scale, 6,1)
        grid.addWidget(acceleration_scale, 7, 0)
        grid.addWidget(acceleration_vector_scale, 7, 1)
        grid.addWidget(acceleration_vector_gain, 7, 2)
        grid.addWidget(self.add_object_window,8,0,1,-1)
        grid.addWidget(self.statusbar, 9,0,1,-1)

        
        self.setLayout(grid)


        # set button tooltips
        btn_start.setToolTip('Start/pause simulation')
        timestep_set_button.setToolTip('Set simulation timestep')
        btn_clear.setToolTip('Clear all objects')

        # connect controls
        btn_load.clicked.connect(self.loadSimulation)
        btn_reload.clicked.connect(self.reloadSimulation)
        btn_start.clicked.connect(self.startStop)
        btn_clear.clicked.connect(self.clearObjects)
#.........这里部分代码省略.........
开发者ID:jannekem,项目名称:aksimulaattori2012,代码行数:103,代码来源:controlwindowpyqt.py


注:本文中的world.World.loadSimulation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。