void GeometryInteractor::mouseMove(SimpleOpenGLWidget* simpleOpenGLWidget, int x, int y) { // y window coordinates are opposite of opengl coordinates // invert y = invertY(y, simpleOpenGLWidget->getHeight()); if (m_ButtonDown) { switch (m_Button) { case Qt::LeftButton: doTranslation(simpleOpenGLWidget, m_OldX, m_OldY, x, y); break; case Qt::MidButton: doScaling(simpleOpenGLWidget, m_OldX, m_OldY, x, y); break; case Qt::RightButton: doRotation(simpleOpenGLWidget, m_OldX, m_OldY, x, y); break; default: break; } } m_OldX = x; m_OldY = y; }
void Box2DBody::setLinearVelocity(const QPointF &velocity) { if (linearVelocity() == velocity) return; mBodyDef.linearVelocity = invertY(velocity); if (mBody) mBody->SetLinearVelocity(mBodyDef.linearVelocity); emit linearVelocityChanged(); }
void GeometryInteractor::startDrag(SimpleOpenGLWidget* simpleOpenGLWidget, int x, int y, Qt::ButtonState button) { // y window coordinates are opposite of opengl coordinates // invert y = invertY(y, simpleOpenGLWidget->getHeight()); m_ButtonDown = true; m_Button = button; m_OldX = x; m_OldY = y; }
QPointF Box2DMouseJoint::getReactionForce(float32 inv_dt) const { if (mouseJoint()) return invertY(mouseJoint()->GetReactionForce(inv_dt)); return QPointF(); }
QPointF Box2DBody::getLinearVelocityFromLocalPoint(const QPointF &point) const { if (mBody) return invertY(mBody->GetLinearVelocityFromLocalPoint(mWorld->toMeters(point))); return QPointF(); }
void Box2DBody::applyForceToCenter(const QPointF &force) { if (mBody) mBody->ApplyForceToCenter(invertY(force), true); }
void Box2DBody::applyForce(const QPointF &force, const QPointF &point) { if (mBody) mBody->ApplyForce(invertY(force), mWorld->toMeters(point), true); }
void Box2DBody::applyLinearImpulse(const QPointF &impulse, const QPointF &point) { if (mBody) mBody->ApplyLinearImpulse(invertY(impulse), mWorld->toMeters(point), true); }
QPointF Box2DBody::linearVelocity() const { if (mBody) return invertY(mBody->GetLinearVelocity()); return invertY(mBodyDef.linearVelocity); }