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; }
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); } }
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); }
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]; }