Exemplo n.º 1
0
int CRoWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QWidget::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: ZoomIn(); break;
        case 1: ZoomOut(); break;
        case 2: RotateUp(); break;
        case 3: RotateDown(); break;
        default: ;
        }
        _id -= 4;
    }
    return _id;
}
Exemplo n.º 2
0
bool OGLObjsCamera::HandleKeystroke( const unsigned char in_c,
                                     const bool in_bShift,
                                     const bool in_bCntrl )
{
    switch ( in_c )
    {
    case 'r' :
        if ( in_bShift == TRUE )
            SpinClockwise( s_dDeltaRot );
        else
            SpinCounterClockwise( s_dDeltaRot );
        break;

    case 'x':
        if ( in_bShift == TRUE )
            PosXAxis(  );
        else
            NegXAxis(  );
        break;

    case 'y':
        if ( in_bShift == TRUE )
            PosYAxis(  );
        else
            NegYAxis(  );
        break;

    case 'z':
        if ( in_bShift == TRUE )
            PosZAxis(  );
        else
            NegZAxis(  );
        break;


    case '1':
        RotateSelf(0, ((in_bShift == TRUE) ? -1.0 : 1.0) * s_dDeltaRot);
        break;
    case '2':
        RotateSelf(1, ((in_bShift == TRUE) ? -1.0 : 1.0) * s_dDeltaRot);
        break;
    case '3':
        RotateSelf(2, ((in_bShift == TRUE) ? -1.0 : 1.0) * s_dDeltaRot);
        break;

    case FL_Home: // up arrow
        Reset();
        break;


    case 'h': // up arrow
    case FL_Page_Up :
        if ( in_bShift == TRUE ) {
            PanIn( s_dDeltaTrans );
        } else if ( in_bCntrl == TRUE ) {
            s_dDeltaTrans *= 2.0;
        } else {
            SpinClockwise( s_dDeltaRot );
        }
        break;

    case 'l': // up arrow
    case FL_Page_Down :
        if ( in_bShift == TRUE ) {
            PanOut( s_dDeltaTrans );
        } else if ( in_bCntrl == TRUE ) {
            s_dDeltaTrans *= 2.0;
        } else {
            SpinCounterClockwise( s_dDeltaRot );
        }
        break;

    case 'i': // up arrow
    case FL_Up :
        if ( in_bShift == TRUE ) {
            PanUp( s_dDeltaTrans );
        } else if ( in_bCntrl == TRUE ) {
            s_dDeltaTrans *= 2.0;
        } else {
            RotateUp( s_dDeltaRot );
        }
        break;
    case 'm': // down arrow
    case FL_Down :
        if ( in_bShift == TRUE ) {
            PanDown( s_dDeltaTrans );
        } else if ( in_bCntrl == TRUE ) {
            s_dDeltaTrans *= 0.5;
        } else {
            RotateDown( s_dDeltaRot );
        }
        break;
    case 'j': // left arrow
    case FL_Left :
        if ( in_bShift == TRUE ) {
            PanLeft( s_dDeltaTrans );
        } else if ( in_bCntrl == TRUE ) {
            s_dDeltaRot *= 0.5;
        } else {
            RotateLeft( s_dDeltaRot );
        }
        break;
    case 'k': // right arrow
    case FL_Right :
        if ( in_bShift == TRUE ) {
            PanRight( s_dDeltaTrans );
        } else if ( in_bCntrl == TRUE ) {
            s_dDeltaRot *= 2.0;
        } else {
            RotateRight( s_dDeltaRot );
        }
        break;
    case 'p' :	// zoom
        if ( in_bShift == TRUE ) {
            PanIn( s_dDeltaTrans );

        } else if ( in_bCntrl == TRUE ) {
            s_dDeltaZoom *= 1.1;
        } else {
            SetZoom( s_dDeltaZoom * GetZoom() );
        }
        break;
    case 'n' :
        if ( in_bShift == TRUE ) {
            PanOut( s_dDeltaZoom );

        } else if ( in_bCntrl == TRUE ) {
            s_dDeltaZoom *= 0.9;
        } else {
            SetZoom( GetZoom() / s_dDeltaZoom );
        }
        break;
    default:
        //TRACE("Unknown char %d\n", Key);
        return FALSE;
    }
    return TRUE;
}
Exemplo n.º 3
0
void Cube::DoMethod(CubeRotateMethod method)
{
    switch (method)
    {
    case ROTATE_NONE:
    case ROTATE_NONEi:
        break;
    case ROTATE_FRONT:
        F();
        break;
    case ROTATE_BACK:
        B();
        break;
    case ROTATE_LEFT:
        L();
        break;
    case ROTATE_RIGHT:
        R();
        break;
    case ROTATE_UP:
        U();
        break;
    case ROTATE_DOWN:
        D();
        break;
    case ROTATE_FRONTi:
        Fi();
        break;
    case ROTATE_BACKi:
        Bi();
        break;
    case ROTATE_LEFTi:
        Li();
        break;
    case ROTATE_RIGHTi:
        Ri();
        break;
    case ROTATE_UPi:
        Ui();
        break;
    case ROTATE_DOWNi:
        Di();
        break;
    case ROTATE_WHOLEX:
        RotateUp();
        break;
    case ROTATE_WHOLEY:
        RotateLeft();
        break;
    case ROTATE_WHOLEZ:
        RotateClockwise();
        break;
    case ROTATE_WHOLEXi:
        RotateDown();
        break;
    case ROTATE_WHOLEYi:
        RotateRight();
        break;
    case ROTATE_WHOLEZi:
        RotateCounterClockwise();
        break;
    default:
        break;
    }
}