void DiagrammarInterface::LaunchWorld() { glSetCurrentContextPPAPI(context_.pp_resource()); world_.Read(CreateJsonObject("/http/path_simple.json")); world_.Start(); drawer_ = new NaClDrawer(world_); SimulationLoop(); }
int main(int argc, char* argv[]) { omp_set_nested(1); stepMode = true; GPUSystem = new System(1); GPUSystem->mTimeStep = .001; GPUSystem->mEndTime = 35; GPUSystem->mNumObjects = 1; GPUSystem->mIterations = 100; GPUSystem->mTolerance = 1e-5; GPUSystem->mOmegaContact = .9; GPUSystem->mOmegaBilateral = .2; GPUSystem->mUseOGL = 1; float mMu = .5; float mWallMu = .5; if (argc == 2) { numY = atoi(argv[1]); } else { cout << "ARGS: number of particle layers in y direction" << endl; exit(1); } float container_R = 10.0, container_T = .1; ChQuaternion<> quat(1, 0, 0, 0); ChVector<> lpos(0, 0, 0); CHBODYSHAREDPTR L = CHBODYSHAREDPTR(new CHBODY); CHBODYSHAREDPTR R = CHBODYSHAREDPTR(new CHBODY); CHBODYSHAREDPTR F = CHBODYSHAREDPTR(new CHBODY); CHBODYSHAREDPTR B = CHBODYSHAREDPTR(new CHBODY); CHBODYSHAREDPTR BTM = CHBODYSHAREDPTR(new CHBODY); CHBODYSHAREDPTR FREE = CHBODYSHAREDPTR(new CHBODY); ChQuaternion<> quat2(1, 0, 0, 0); quat2.Q_from_AngAxis(PI / 6.0, ChVector<> (1, 0, 0)); //GPUSystem->InitObject(L, 100000, ChVector<> (-container_R, 0, 0), quat, mWallMu, mWallMu, 0, true, true, -20, -20); //GPUSystem->InitObject(R, 100000, ChVector<> (container_R, 0, 0), quat, mWallMu, mWallMu, 0, true, true, -20, -20); //GPUSystem->InitObject(F, 100000, ChVector<> (0, 0, -container_R), quat, mWallMu, mWallMu, 0, true, true, -20, -20); //GPUSystem->InitObject(B, 100000, ChVector<> (0, 0, container_R), quat, mWallMu, mWallMu, 0, true, true, -20, -20); GPUSystem->InitObject(BTM, 1, ChVector<> (0, -container_R, 0), quat, mWallMu, mWallMu, 0, true, true, -1000, -20000); //GPUSystem->AddCollisionGeometry(L, BOX, ChVector<> (container_T, container_R, container_R), lpos, quat); //GPUSystem->AddCollisionGeometry(R, BOX, ChVector<> (container_T, container_R, container_R), lpos, quat); //GPUSystem->AddCollisionGeometry(F, BOX, ChVector<> (container_R, container_R, container_T), lpos, quat); //GPUSystem->AddCollisionGeometry(B, BOX, ChVector<> (container_R, container_R, container_T), lpos, quat); GPUSystem->AddCollisionGeometry(BTM, BOX, ChVector<> (container_R, container_T, container_R), lpos, quat); //GPUSystem->FinalizeObject(L); //GPUSystem->FinalizeObject(R); //GPUSystem->FinalizeObject(F); //GPUSystem->FinalizeObject(B); GPUSystem->FinalizeObject(BTM); ((ChLcpSolverGPU*) (GPUSystem->mSystem->GetLcpSolverSpeed()))->SetContactFactor(.6); GPUSystem->Setup(); SimulationLoop(argc, argv); return 0; }
void Game::Update(float delta) { if (mPause) return; if (start == 0) startTimer(); // Process any commands received from clients processCommands(); // Run physics update loop SimulationLoop(delta); }