Esempio n. 1
0
void
TB_MouseMotionEvent(int X, int Y)
{ vec4 q;
  
  ComputeQuat(q,LastX,LastY,X,Y);
  CombineQuats(q,Q,Q);
  LastX = X; LastY = Y;
}
Esempio n. 2
0
void OTestCArm::Draw()
{
   OQuaternion q(quat_.X(), quat_.Y(), quat_.Z(), quat_.W());
   clone_avatar->matrix() = q.ToMatrix();
   clone_avatar->draw();
   return;

   glPushMatrix();
   outer_ring_->DrawMesh(OSpecialMesh::THORUS);

   //glRotatef(angulation_, 0.0f, 1.0f, 0.0f);
   //glRotatef(rotation_, 1.0f, 0.0f, 0.0f);
   //glRotatef(dra_, 0, 0, 1);

   ////ComputeQuat();
   OMatrix4 orient = quat_.ToMatrix();
   glMultMatrixf(orient.GetSafeM());

   DrawAxes(2.4f * inner_ray_);

   glPopMatrix();
   glPushMatrix();
   float temp_dra = dra_;
   dra_ = 0.0f;
   ComputeQuat();
   orient = quat_.ToMatrix();
   glMultMatrixf(orient.GetSafeM());

  // glRotatef(angulation_, 0, 1, 0);
  // glRotatef(rotation_, 1, 0, 0);
  // glRotatef(dra_, 0, 0, 1);

   inner_ring_->DrawMesh(OSpecialMesh::THORUS);
   glTranslatef(-inner_ray_, 0.0f, 0.0f);
   rod_->DrawMesh(OSpecialMesh::CYLINDER);
   dra_ = temp_dra;
   glPopMatrix();

}