Пример #1
0
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QMainWindow::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: openFile(); break;
        case 1: applyChanges(); break;
        case 2: saveFile(); break;
        case 3: exit(); break;
        case 4: effects(); break;
        case 5: zoom(); break;
        case 6: resize(); break;
        case 7: crop(); break;
        case 8: rotateRight(); break;
        case 9: rotateLeft(); break;
        case 10: mirror(); break;
        case 11: reflection(); break;
        case 12: grayScale(); break;
        case 13: xray(); break;
        case 14: sepia(); break;
        default: ;
        }
        _id -= 15;
    }
    return _id;
}
Пример #2
0
bool gsRayTest::cast(gsRay& ray, const gkString& prop, gsGameObject* excludeObj)
{
	if (prop.empty() && !excludeObj)
		return m_ray->collides(ray);
	else{
		xrayFilter xray(excludeObj?excludeObj->get():0, prop, "");
		gkVector3 from(ray.getOrigin());
		gkVector3 to(ray.getOrigin()+ray.getDirection()*100);
		return m_ray->collides(from,to,xray);
	}
}
Пример #3
0
void		init_dda(t_env env, t_ray ray, t_dda *dda)
{
	dda->map_x = (int)(ray.pos_x);
	dda->map_y = (int)(ray.pos_y);
	dda->delta_dist_x = sqrt(1. + (ray.dir_y * ray.dir_y) / (ray.dir_x *\
		ray.dir_x));
	dda->delta_dist_y = sqrt(1. + (ray.dir_x * ray.dir_x) / (ray.dir_y *\
		ray.dir_y));
	dda->hit = 0;
	xray(dda, ray);
	yray(dda, ray);
}
Пример #4
0
Файл: see.c Проект: zakk/quasar
int see(struct board_t *brd,DWORD move)
{
    BITBOARD attacks,tmp;
    int p,captured[64];
    int pcsval[7]={PAWNVAL,KNIGHTVAL,BISHOPVAL,ROOKVAL,QUEENVAL,INFINITY,0};
    short from,to,promote,side,ncapt,d,sq;

    from=move&0x3F;
    to=(move>>6)&0x3F;
    promote=(((move>>18)&PROMOTE)?(TRUE):(FALSE));
    side=brd->color;
    ncapt=1;
    
    attacks=attacks_to_square(brd,to);

    p=((((move>>18)&ENPASSANT))?(PAWNVAL):(pcsval[brd->board[to]]));
    captured[0]=p;

    p=pcsval[brd->board[from]];
    CLEARBIT(attacks,from);

    if(promote==TRUE)
	p=promotion_value(move);

    if((d=directions[to][from])!=-1)
	attacks|=xray(brd,from,to,d);

    side^=1;
    
    while(attacks)
    {
	if(side==WHITE)
	{
	    if((tmp=brd->pcs[WHITE][PAWN]&attacks))		sq=FIRSTONE(tmp);
	    else if((tmp=brd->pcs[WHITE][KNIGHT]&attacks))	sq=FIRSTONE(tmp);
	    else if((tmp=brd->pcs[WHITE][BISHOP]&attacks))	sq=FIRSTONE(tmp);
	    else if((tmp=brd->pcs[WHITE][ROOK]&attacks))	sq=FIRSTONE(tmp);
	    else if((tmp=brd->pcs[WHITE][QUEEN]&attacks))	sq=FIRSTONE(tmp);
	    else if(setmask[brd->king[WHITE]]&attacks)		sq=brd->king[WHITE];
	    else break;
	}
	else
	{
	    if((tmp=brd->pcs[BLACK][PAWN]&attacks))		sq=FIRSTONE(tmp);
	    else if((tmp=brd->pcs[BLACK][KNIGHT]&attacks))	sq=FIRSTONE(tmp);
	    else if((tmp=brd->pcs[BLACK][BISHOP]&attacks))	sq=FIRSTONE(tmp);
	    else if((tmp=brd->pcs[BLACK][ROOK]&attacks))	sq=FIRSTONE(tmp);
	    else if((tmp=brd->pcs[BLACK][QUEEN]&attacks))	sq=FIRSTONE(tmp);
	    else if(setmask[brd->king[BLACK]]&attacks)		sq=brd->king[BLACK];
	    else break;
	}

	captured[ncapt]=-captured[ncapt-1]+p;
	p=pcsval[brd->board[sq]];

	CLEARBIT(attacks,sq);
	
	if((d=directions[to][sq])!=-1)
	    attacks|=xray(brd,sq,to,d);

	side^=1;
	ncapt++;
    }

    while(--ncapt)
	if(captured[ncapt]>-captured[ncapt-1])
	    captured[ncapt-1]=-captured[ncapt];

    return captured[0];
}