Guest User

Untitled

a guest
Jan 21st, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. void BasicDemo::clientMoveAndDisplay()
  2. {
  3.     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  4.    
  5.    
  6.     float fTimeStep = 1.0/100.0;
  7.     btTransform startTransform;
  8.     startTransform.setIdentity();
  9.     for (int i = 0; i<2; i++){
  10.  
  11.         btVector3 w = vVelocity[i]/fRadius;
  12.         btVector3 axis = w.cross(btVector3(0.0,-1.0,0.0));
  13.         btQuaternion qW(axis.x(), axis.y(), axis.z(),0.0);
  14.        
  15.         qW *= qOrientation[i];
  16.        
  17.         btQuaternion plus = qOrientation[i] + qW*(fTimeStep/2.0);
  18.         plus = plus.normalize();
  19.        
  20.         qOrientation[i]=plus;
  21.         vPosition[i] += vVelocity[i]*fTimeStep;
  22.        
  23.         //input data
  24.         startTransform.setOrigin(vPosition[i]);
  25.         startTransform.setRotation(qOrientation[i]);
  26.         m_rigidBody[i]->getMotionState()->setWorldTransform(startTransform);
  27.     }
  28.    
  29.     btVector3 btween(vPosition[0].x() - vPosition[1].x(), vPosition[0].y() - vPosition[1].y(), vPosition[0].z() - vPosition[1].z());
  30.     float mag = btween.length();
  31.     btVector3 n;
  32.    
  33.     btVector3 r1 = vPosition[0]+(btween.normalize()*fRadius); //vector of direction from center of cue ball to collision
  34.     btVector3 r2 = vPosition[1]+((btween.normalize()*-1)*fRadius); //vector of pool ball
  35.    
  36.     if ( mag < fRadius+fRadius ) {
  37.         collision = true;
  38.         n = btween.normalize();
  39.        
  40.     }
  41.    
  42.     if ( collision ){
  43.         printf("%f, %f, %f\n", n.x(), n.y(), n.z());
  44.         collision = false;
  45.     }
  46.    
  47.    
  48.     // OpenGL calls
  49.     m_dynamicsWorld->debugDrawWorld();
  50.     renderme();
  51.     glFlush();
  52.     glutSwapBuffers();
  53.    
  54. }
Add Comment
Please, Sign In to add comment