Exemple #1
0
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;
}
Exemple #2
0
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();
}