void Navigator::StopScale(m2::PointD const & pt1, m2::PointD const & pt2, double timeInSec) { DoScale(pt1, pt2, timeInSec); ASSERT_EQUAL(m_LastPt1, pt1, ()); ASSERT_EQUAL(m_LastPt2, pt2, ()); m_InAction = false; }
void Layer::Scale( double* scale, int nSampleMethod ) { double rscale[3]; for ( int i = 0; i < 3; i++ ) rscale[i] = scale[i] / m_dScale[i]; DoScale( rscale, nSampleMethod ); for ( int i = 0; i < 3; i++ ) m_dScale[i] = scale[i]; ResetTranslate(); this->SendBroadcast( "LayerTransformed", this, this ); }
void GLWidget::mouseReleaseEvent( QMouseEvent *e) { //TODO:When some pressed mouse button is release if (e->button() == Qt::RightButton) { Rotating = false; DoRotate(e->pos(), lastMousePoint); } else if (e->button() == Qt::LeftButton) { Scaling = false; DoScale(e->pos(), lastMousePoint); } updateGL(); }
void GLWidget::mouseMoveEvent( QMouseEvent *e ) { //TODO: when the mouse is moved! if ((e->buttons() & Qt::RightButton) && Rotating) { DoRotate(e->pos(), lastMousePoint); lastMousePoint = e->pos(); } else if ((e->buttons() & Qt::LeftButton) && Scaling) { DoScale(e->pos(), lastMousePoint); lastMousePoint = e->pos(); } updateGL(); }