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


C++ btDiscreteDynamicsWorld::stepSimulation方法代码示例

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


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

示例1: update

void triMeshApp::update()
{
	
	m_dynamicsWorld->stepSimulation(1.0f, 10);
	
	double now = getElapsedSeconds();
	double dt = now - lastTime;
	lastTime = now;
	
	bool objectsErased = false;
	
	for(int i = 0; i < mObjects.size(); i++)
	{
		mObjects[i]->update(dt);
		
		if(mObjects[i]->lifetime > MAX_LIFETIME)
		{
			mObjects.erase(mObjects.begin() + i);
			objectsErased = true;
		}
	}
	
	if(objectsErased)
		activateAllObjects(m_dynamicsWorld);
	
	yrot += dt * 36.0;
	if(yrot >=360.0) yrot = 0.0;
	
}
开发者ID:jdduke,项目名称:Cinder,代码行数:29,代码来源:triMeshApp.cpp

示例2: frameStarted

      // frame listener
   bool frameStarted(const FrameEvent &evt)
    {
      mKeyboard->capture();

        // update physics simulation
      dynamicsWorld->stepSimulation(evt.timeSinceLastFrame,50);
        return mContinue;
    }
开发者ID:Doctatur,项目名称:OgreBulletKinect,代码行数:9,代码来源:BulletHelloWorld.cpp

示例3: update

	void update()
	{
		if( mCapture->checkNewFrame() ) {
			delete mTexture;
			mTexture = new gl::Texture( mCapture->getSurface() );
		}
		
		if( ! mPaused )
			dynamicsWorld->stepSimulation(1.0f, 10);
	}
开发者ID:AaronMeyers,项目名称:Cinder,代码行数:10,代码来源:bullettest.cpp

示例4: drawEvent

void BulletExample::drawEvent() {
    GL::defaultFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth);

    /* Housekeeping: remove any objects which are far away from the origin */
    for(Object3D* obj = _scene.children().first(); obj; )
    {
        Object3D* next = obj->nextSibling();
        if(obj->transformation().translation().dot() > 100*100)
            delete obj;

        obj = next;
    }

    /* Step bullet simulation */
    _bWorld.stepSimulation(_timeline.previousFrameDuration(), 5);

    /* Draw the cubes */
    if(_drawCubes) _camera->draw(_drawables);

    /* Debug draw. If drawing on top of cubes, avoid flickering by setting
       depth function to <= instead of just <. */
    if(_drawDebug) {
        if(_drawCubes)
            GL::Renderer::setDepthFunction(GL::Renderer::DepthFunction::LessOrEqual);

        _debugDraw.setTransformationProjectionMatrix(
            _camera->projectionMatrix()*_camera->cameraMatrix());
        _bWorld.debugDrawWorld();

        if(_drawCubes)
            GL::Renderer::setDepthFunction(GL::Renderer::DepthFunction::Less);
    }

    swapBuffers();
    _timeline.nextFrame();
    redraw();
}
开发者ID:mosra,项目名称:magnum-examples,代码行数:37,代码来源:BulletExample.cpp

示例5: step

void BulletWrapper::step(TimeDelta deltaTime)
{
  m_DynamicsWorld->stepSimulation((btScalar)deltaTime);
}
开发者ID:FutingFan,项目名称:hackstate,代码行数:4,代码来源:PhysicsLayer.cpp

示例6: RenderDbg

    void RenderDbg(bool debug, float dt) {
        dynamicsWorld->stepSimulation(dt,0);//ms / 1000000.f);
		if (debug) dynamicsWorld->debugDrawWorld();
    }
开发者ID:AcnodeLabs,项目名称:Athenaeum,代码行数:4,代码来源:CEasyBullet.hpp


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