Changeset 4174


Ignore:
Timestamp:
05/25/04 14:13:57 (21 years ago)
Author:
merck
Message:
Changes to accomodate Dislpay of Spots ot bigger search window.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/AMC/activemirrorcontrol/activemirrorcontrol/videoframe.cpp

    r3401 r4174  
    9494        windowPainter->drawImage( 0,0, *m_pImage );
    9595
    96   // Overlay camera center if it was determined from the LEDs
    97   if( m_iCenterX != -1 )
    98         windowPainter->setPen( Qt::white );
    99   windowPainter->drawEllipse( m_iCenterX-2, m_iCenterY-2, 5, 5);
    100         windowPainter->drawEllipse( m_iCenterX-4, m_iCenterY-4, 9, 9);
     96        // Overlay camera center if it was determined from the LEDs
     97        if( m_iCenterX > 1 )
     98        {
     99                windowPainter->setPen( Qt::white );
     100                windowPainter->drawEllipse( m_iCenterX-2, m_iCenterY-2, 5, 5);
     101                windowPainter->drawEllipse( m_iCenterX-4, m_iCenterY-4, 9, 9);
     102        }
    101103
    102104        // Overlay Spots
     
    149151        {
    150152                windowPainter->setPen( Qt::green );
    151                 windowPainter->drawRect( m_iRefX-4, m_iRefY-4, 9, 9 );
     153                if( m_iCenterX > 1 )
     154                {
     155                        // Adapt spot for shift of camera center.
     156                        int iDx, iDy;
     157                        iDx = m_iCenterX - CAMERA_X;
     158                        iDy = m_iCenterY - CAMERA_Y;
     159                        windowPainter->drawRect( m_iRefX+iDx-4, m_iRefY+iDy-4, 9, 9 );
     160                } else
     161                        windowPainter->drawRect( m_iRefX-4, m_iRefY-4, 9, 9 );
    152162        }
    153163
     
    200210                        }
    201211                }
    202                
     212
    203213        }
    204214}
     
    249259                m_qrROI.setRight( x );
    250260        else
    251         {       
     261        {
    252262                if( x == m_qrROI.left() )
    253263                        m_qrROI.setRight( event->x() -1 );
     
    258268                m_qrROI.setBottom( y );
    259269        else
    260         {       
     270        {
    261271                if( y == m_qrROI.bottom() )
    262272                        m_qrROI.setBottom( event->y() -1 );
     
    265275        }
    266276        if ( m_qrROI.isValid() );
    267         m_pSpotThread->setROI( m_qrROI );               
     277        m_pSpotThread->setROI( m_qrROI );
    268278}
    269279
     
    277287                m_qrROI.setTop( event->y() );
    278288                m_qrROI.setBottom( event->y() -1 );
    279                 m_pSpotThread->setROI( m_qrROI );               
     289                m_pSpotThread->setROI( m_qrROI );
    280290        }
    281291        if( event->button() == MidButton )
     
    365375    // Check if this spot is compatible with the spot of the
    366376                // upper left LED
    367     if ( pActualSpot->contains( LED1_X, LED1_Y ) )
    368                 {
    369                         dX1 = pActualSpot->getX() + (CAMERA_X - LED1_X);       
     377    if ( pActualSpot->contains2( LED1_X, LED1_Y ) )
     378                {
     379                        dX1 = pActualSpot->getX() + (CAMERA_X - LED1_X);
    370380                        dY1 = pActualSpot->getY() + (CAMERA_Y - LED1_Y);
    371381                        dX += dX1; dY += dY1;
    372382                        m_qlLEDs.append( new VideoSpot( pActualSpot->getX(), pActualSpot->getY()) );
    373383      iNumLEDs++;
    374                 }       
     384                }
    375385    // Check if this spot is compatible with the spot of the
    376386                // upper right LED
    377     else if ( pActualSpot->contains( LED2_X, LED2_Y ) )
    378                 {
    379                         dX2 = pActualSpot->getX() + (CAMERA_X - LED2_X);       
     387    else if ( pActualSpot->contains2( LED2_X, LED2_Y ) )
     388                {
     389                        dX2 = pActualSpot->getX() + (CAMERA_X - LED2_X);
    380390                        dY2 = pActualSpot->getY() + (CAMERA_Y - LED2_Y);
    381391                        dX += dX2; dY += dY2;
    382392                        m_qlLEDs.append( new VideoSpot( pActualSpot->getX(), pActualSpot->getY()) );
    383393      iNumLEDs++;
    384                 }       
     394                }
    385395    // Check if this spot is compatible with the spot of the
    386396                // lower left LED
    387     else if ( pActualSpot->contains( LED3_X, LED3_Y ) )
    388                 {
    389                         dX3 = pActualSpot->getX() + (CAMERA_X - LED3_X);       
     397    else if ( pActualSpot->contains2( LED3_X, LED3_Y ) )
     398                {
     399                        dX3 = pActualSpot->getX() + (CAMERA_X - LED3_X);
    390400                        dY3 = pActualSpot->getY() + (CAMERA_Y - LED3_Y);
    391401                        dX += dX3; dY += dY3;
    392402                        m_qlLEDs.append( new VideoSpot( pActualSpot->getX(), pActualSpot->getY()) );
    393403      iNumLEDs++;
    394                 }       
     404                }
    395405    // Check if this spot is compatible with the spot of the
    396406                // lower right LED
    397     else if ( pActualSpot->contains( LED4_X, LED4_Y ) )
    398                 {
    399                         dX4 = pActualSpot->getX() + (CAMERA_X - LED4_X);       
     407    else if ( pActualSpot->contains2( LED4_X, LED4_Y ) )
     408                {
     409                        dX4 = pActualSpot->getX() + (CAMERA_X - LED4_X);
    400410                        dY4 = pActualSpot->getY() + (CAMERA_Y - LED4_Y);
    401411                        dX += dX4; dY += dY4;
     
    408418  if( iNumLEDs != 0)
    409419        {
    410                 m_iCenterX = (int) rint(dX / iNumLEDs); 
     420                m_iCenterX = (int) rint(dX / iNumLEDs);
    411421                m_iCenterY = (int) rint(dY / iNumLEDs);
    412 //              qDebug("Center %d %d", m_iCenterX, m_iCenterY); 
     422//              qDebug("Center %d %d", m_iCenterX, m_iCenterY);
    413423        }
    414424  qDebug("Center at: %d %d -- with %d LEDs",m_iCenterX, m_iCenterY, iNumLEDs );
Note: See TracChangeset for help on using the changeset viewer.