void BlockEdgeSimilarDetector::Run() { #ifdef BED_OUTPUT_DEBUG_INFO drowDebugResult = image.clone(); if (drowDebugResult.channels() == 1) cv::cvtColor(drowDebugResult, drowDebugResult, CV_GRAY2BGR); doUp(); doDown(); doLeft(); doRight(); #else thread t1 = thread(std::mem_fn(&BlockEdgeSimilarDetector::doUp), this); thread t2 = thread(std::mem_fn(&BlockEdgeSimilarDetector::doDown), this); thread t3 = thread(std::mem_fn(&BlockEdgeSimilarDetector::doLeft), this); thread t4 = thread(std::mem_fn(&BlockEdgeSimilarDetector::doRight), this); t1.join(); t2.join(); t3.join(); t4.join(); #endif //double maxdiff = (maxdiff_X > maxdiff_Y) ? maxdiff_X : maxdiff_Y; //int maxDeep = (maxDeep_X > maxDeep_Y) ? maxDeep_X : maxDeep_Y; //stringstream ss; //ss << "BED定标消息:最大不相似度=" << maxdiff << ",缺陷最大深度 = " << maxDeep << "pix" << endl; //MFCConsole::Output(ss.str()); }
void GameScene::onTouchEnded(Touch* touch, Event* event) { Point pos = touch->getLocation(); SimpleGestures rtn = recognizer->endPoint(pos); switch (rtn) { case SimpleGesturesLeft: doLeft(); doCheck(); setScore(score); break; case SimpleGesturesRight: doRight(); doCheck(); setScore(score); break; case SimpleGesturesUp: doUp(); doCheck(); setScore(score); break; case SimpleGesturesDown: doDown(); doCheck(); setScore(score); break; case SimpleGesturesNotSupport: case SimpleGesturesError: log("not support or error touch,use geometricRecognizer!!"); break; default: break; } }
void BlockEdgeLineDetector::Run() { #ifdef BELD_OUTPUT_DEBUG_INFO drowDebugResult = image.clone(); if (drowDebugResult.channels() == 1) cv::cvtColor(drowDebugResult, drowDebugResult, CV_GRAY2BGR); doUp(); doDown(); doLeft(); doRight(); #else thread t1 = thread(std::mem_fn(&BlockEdgeLineDetector::doUp), this); thread t2 = thread(std::mem_fn(&BlockEdgeLineDetector::doDown), this); thread t3 = thread(std::mem_fn(&BlockEdgeLineDetector::doLeft), this); thread t4 = thread(std::mem_fn(&BlockEdgeLineDetector::doRight), this); t1.join(); t2.join(); t3.join(); t4.join(); #endif minLengthPix = minLengthPix == 9999 ? 0 : minLengthPix; minDeepPix = minDeepPix == 9999 ? 0 : minDeepPix; stringstream ss; ss << "BLED定标消息:最大崩边长度=" << maxLengthPix << "pix,最大深度 = " << maxDeepPix << "pix" << endl; ss << "BLED定标消息:最小崩边长度=" << minLengthPix << "pix,最小深度 = " << minDeepPix << "pix" << endl; MFCConsole::Output(ss.str()); }
void GameScene::onTouchEnded(Touch *touch, Event *unused_event){ Point pos = touch->getLocation(); SimpleGestures gesture = recognizer->endPoint(pos); switch (gesture) { case SimpleGesturesLeft: doLeft(); log("left"); break; case SimpleGesturesRight: doRight(); log("right"); break; case SimpleGesturesUp: doUp(); log("up"); break; case SimpleGesturesDown: doDown(); log("dowm"); break; default: break; } createCardNumber(true); }
//事件监听回调:触摸结束 void HelloWorld::onTouchEnded(cocos2d::Touch *touch, cocos2d::Event *unused_event) { //获取X轴和Y轴的移动范围 Point touchPoint=touch->getLocation(); //获取OpenGL坐标(即cocos2d-x坐标,原点在左下角) endX=firstX - touchPoint.x; endY=firstY - touchPoint.y; //判断X轴和Y轴的移动距离,如果X轴的绝对值大,则向左右滑动,如果Y轴的绝对值大,则向上下滑动 if(abs(endX) > abs(endY)) { //手势向左右 //判断向左还是向右 if(endX+5>0) { //向左 doLeft(); //判断游戏是否还能继续 doCheckGameOver(); } else { //向右 doRight(); //判断游戏是否还能继续 doCheckGameOver(); } } else { //手势向上下 //判断手势向上还是向下 if(endY+5>0) { //向下 doDown(); //判断游戏是否还能继续 doCheckGameOver(); } else { //向上 doUp(); //判断游戏是否还能继续 doCheckGameOver(); } } }
void GameScene::onTouchEnded(Touch* touch, Event* event) { //得到触摸结束时坐标 Point endTouch = touch->getLocation(); //获取OpenGL坐标,以左下角为原点 //计算手指在X,Y移动的距离 endX = beginX - endTouch.x; endY = beginY - endTouch.y; if (abs(endX) > abs(endY)) { //如果X轴移动的距离大于Y轴,则是左右移动 if (endX + 5 > 0) { //向左移动 doLeft(); createCardNumber(); doCheck(); setScore(score); } else { //向右移动 doRight(); createCardNumber(); doCheck(); setScore(score); } } else //否则是上下移动 { if (endY + 5 > 0) { //向下移动 doDown(); createCardNumber(); doCheck(); setScore(score); } else { //向上移动 doUp(); createCardNumber(); doCheck(); setScore(score); } } }
PartList::PartList(QWidget *parent, ModelViewerWidget *modelWidget, LDHtmlInventory *htmlInventory) :QDialog(parent),PartListPanel(), modelWidget(modelWidget), m_htmlInventory(htmlInventory) { setupUi(this); connect( upButton, SIGNAL( clicked() ), this, SLOT( doUp() ) ); connect( downButton, SIGNAL( clicked() ), this, SLOT( doDown() ) ); connect( okButton, SIGNAL( clicked() ), this, SLOT( doOk() ) ); connect( cancelButton, SIGNAL( clicked() ), this, SLOT( doCancel() ) ); connect( showModelButton, SIGNAL( clicked() ), this, SLOT( doShowModel() ) ); connect( fieldOrderView, SIGNAL( currentItemChanged(QListWidgetItem *, QListWidgetItem *) ), this, SLOT( doHighlighted(QListWidgetItem *, QListWidgetItem *) ) ); modelViewer = modelWidget->getModelViewer(); // fieldOrderView->header()->hide(); // fieldOrderView->setSorting(-1); }
void HelloWorld::onTouchEnded(Touch *touch, Event *unused_event){ Point touchPo = touch->getLocation(); endX = firstX - touchPo.x; endY = firstY - touchPo.y; if (abs(endX) > abs(endY)){//绝对值 //左右 if (endX+5>0){ //左边 if (doLeft()){ autoCreateCardNumber(); doCheckGameOver(); } }else{ //右边 if (doRight()){ autoCreateCardNumber(); doCheckGameOver(); } } }else{ //上下 if (endY + 5 < 0){ //上 if (doUp()){ autoCreateCardNumber(); doCheckGameOver(); } }else{ //下 if (doDown()){ autoCreateCardNumber(); doCheckGameOver(); } } } }