void GridNavigationComponent::DrawDebug() { if (!m_drawDebug || !m_activePath) return; glm::mat4 viewMatrix = glm::inverse(Engine.GetActiveCamera().GetTransform().GetTransformationMatrix()); glm::vec2 drawPosition(viewMatrix[3]); // get the x and y component from the vec3 for (unsigned int i = 0; i < m_activePath->path.size() - 1; i++) { glm::vec2 pos1 = m_activePath->path[i] + drawPosition; sf::CircleShape circle; circle.setRadius(5); circle.setFillColor(sf::Color::Black); circle.setPosition(sf::Vector2f(pos1.x - 5, pos1.y - 5)); Engine.GetWindow().draw(circle); glm::vec2 pos2 = m_activePath->path[i + 1] + drawPosition; sf::Vertex line[] { sf::Vertex(sf::Vector2f(pos1.x, pos1.y)), sf::Vertex(sf::Vector2f(pos2.x, pos2.y)) }; Engine.GetWindow().draw(line, 2, sf::Lines); } }
void drawParticles() { // Draw the particle set for (int i = 0; i < NUMBER_OF_PARTICLES; i++) { drawPosition(xArray[i], yArray[i]); } }
void Render::draw(DrawVariables* dw) { if (m_engine == nullptr) return; drawBoard(dw, m_engine->getBoard().getRows(), m_engine->getBoard().getCols()); drawPosition(dw); if (m_engine->getGameState() == GameState::GAME_OVER) { // draw the win line over the winners pieces static const std::map<WinDir, Coordinate> s_winDir{ { WinDir::EAST, {0,1} }, { WinDir::SOUTH, {1,0} }, { WinDir::SOUTH_EAST, {1,1} }, { WinDir::SOUTH_WEST, {1,-1} } }; PosInfo winInfo = m_engine->getGameOverInfo(); Coordinate coordStart, coordEnd; coordStart = winInfo.winpos; coordEnd = { coordStart.x + s_winDir.at(winInfo.windir).x * (m_engine->getWinRowLenght() - 1), coordStart.y + s_winDir.at(winInfo.windir).y * (m_engine->getWinRowLenght() - 1) }; drawWinLine(dw, coordStart, coordEnd); } }
void ImageLabel::paintEvent(QPaintEvent *event) { QWidget::paintEvent(event); if(mPixmap.isNull()) return; QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); QSize pixmapSize = mPixmap.size(); pixmapSize.scale(event->rect().size(), Qt::KeepAspectRatio); QPixmap scaledPixmap = mPixmap.scaled(pixmapSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); QPoint drawPosition(event->rect().width() / 2 - scaledPixmap.width() / 2, event->rect().height() / 2 - scaledPixmap.height() / 2); painter.drawPixmap(drawPosition, scaledPixmap); }
void Constraint::draw() { if (m_scanConstraint) { m_color = s_scanColor; }else if (satisfied()) { m_color = s_satisfiedColor; }else { m_color = s_unsatisfiedColor; } glColor3fv(m_color); switch (m_type) { case Invalid: break; case Position: drawPosition(); break; case Distance: drawDistance(); break; case Angle: drawAngle(); break; case Torsion: drawTorsion(); break; } }
GameState Menu::Run() { FPS_Initial(); running = true; bKeyUP = bKeyDOWN = bKeyENTER = bKeyESCAPE = false; state = GameState::menu; while (running) { aTick++; handleEvent(); SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 60, 60)); for (int i = 0; i < positions.size(); i++) { drawPosition(positions[i], i); } FPS_Fn(); SDL_Flip(screen); } return state; }
// Functions that draw on the screen void forward40cmdraw() { double lastMotorValue = 0; double distanceMoved = 0; double currentDistance; nSyncedMotors = synchAB; nSyncedTurnRatio = 100; nMotorEncoder[motorA] = 0; motor[motorA] = motorPower; while(nMotorEncoder[motorA] < wheelMoveLimit) { currentDistance = nMotorEncoder[motorA]; distanceMoved = currentDistance - lastMotorValue; x = x + distanceMoved * cos(theta); y = y + distanceMoved * sin(theta); drawPosition(); lastMotorValue = currentDistance; } motor[motorA] = 0; // turn the motors off. }
bool UKinect::pollSkeleton() { if (NULL != sensor) { // // Attempt to get the color frame hr = sensor->NuiSkeletonGetNextFrame(0, &skeletonFrame); if (FAILED(hr)) { cerr << "[UKinect] WARNING: Skeleton pool." << endl; return false; } // // smooth out the skeleton data if (skeletonFilter.as<int>() == 0) { //sensor->NuiTransformSmooth(&skeletonFrame, NULL); } else if (skeletonFilter.as<int>() == 1) { //const NUI_TRANSFORM_SMOOTH_PARAMETERS DefaultParams = {0.5f, 0.5f, 0.5f, 0.05f, 0.04f}; sensor->NuiTransformSmooth(&skeletonFrame, NULL); } else if (skeletonFilter.as<int>() == 2) { const NUI_TRANSFORM_SMOOTH_PARAMETERS SomewhatLatentParams = { 0.5f, 0.1f, 0.5f, 0.1f, 0.1f }; sensor->NuiTransformSmooth(&skeletonFrame, &SomewhatLatentParams); } else { const NUI_TRANSFORM_SMOOTH_PARAMETERS VerySmoothParams = { 0.7f, 0.3f, 1.0f, 1.0f, 1.0f }; sensor->NuiTransformSmooth(&skeletonFrame, &VerySmoothParams); } // // process skeleton frame if interaction function enabled if (interaction) { Vector4 v; sensor->NuiAccelerometerGetCurrentReading(&v); hr = interactionStream->ProcessSkeleton(NUI_SKELETON_COUNT, skeletonFrame.SkeletonData, &v, skeletonFrame.liTimeStamp); if (FAILED(hr)) { cerr << "[UKinect] ERROR: Process skeleton failed (for interaction purpose)." << endl; return false; } } vector<int> skelIDs; // these are used in face tracking vector<int> skelTrackedIDs = UpdateTrackedSkeletons(); // << use this to set tracked for (int i = 0; i < NUI_SKELETON_COUNT; ++i) { NUI_SKELETON_TRACKING_STATE trackingState = skeletonFrame.SkeletonData[i].eTrackingState; if (NUI_SKELETON_POSITION_ONLY == trackingState) skelIDs.push_back((int)skeletonFrame.SkeletonData[i].dwTrackingID); } // Save vectors to UVars skeletonIDs = skelIDs; skeletonTrackedIDs = skelTrackedIDs; if (skeletonVisualization) { DWORD t_width, t_height; NuiImageResolutionToSize((NUI_IMAGE_RESOLUTION)colorResolution.as<int>(), t_width, t_height); if ((color) && (skeletonVisualizationOnColor.as<int>())) skeletonCVMat = colorCVMat.clone(); // use color image as a background if color function enabled else skeletonCVMat = Mat(Size(static_cast<int>(t_width), static_cast<int>(t_height)), CV_8UC3, CV_RGB(0, 0, 0)); for (int i = 0; i < NUI_SKELETON_COUNT; ++i) { NUI_SKELETON_TRACKING_STATE trackingState = skeletonFrame.SkeletonData[i].eTrackingState; if (NUI_SKELETON_TRACKED == trackingState) { // We're tracking the skeleton, draw it drawSkeleton(skeletonFrame.SkeletonData[i]); drawPosition(skeletonFrame.SkeletonData[i]); } else if (NUI_SKELETON_POSITION_ONLY == trackingState) { // we've only received the center point of the skeleton, draw that drawPosition(skeletonFrame.SkeletonData[i]); } drawOutOfFrame(skeletonFrame.SkeletonData[i]); } // Save CV image to UImage skeletonBin.image.width = skeletonCVMat.cols; skeletonBin.image.height = skeletonCVMat.rows; skeletonBin.image.size = skeletonCVMat.cols * skeletonCVMat.rows * 3; skeletonBin.image.data = skeletonCVMat.data; skeletonImage = skeletonBin; } return true; } cerr << "[UKinect] ERROR: Skeleton pool error." << endl; return false; }
void ReportPrintSetting::SetReportForm(QPainter &painter) { //title drawPosition(Title,"TCD检查报告单",painter,TEXT,"",25,"SimSun",true); //basic info drawPosition(Splitter1,"",painter,SPLITTER,""); drawPosition(BasicInfoTitle,"基本信息",painter,TEXT,"",15,"SimSun",true); drawPosition(MedRecordNo,"病历号:",painter); drawPosition(AdmissionNo,"住院号:",painter); drawPosition(CheckDate,"检查日期:",painter); drawPosition(PatientName,"姓名:",painter); drawPosition(Gender,"性别:",painter); drawPosition(Age,"年龄:",painter); drawPosition(Height,"身高:",painter); drawPosition(Weight,"体重:",painter); //TCD Screen shot drawPosition(TcdTitle,"TCD数据",painter,TEXT,"",15,"SimSun",true); drawPosition(Splitter2,"",painter,SPLITTER,""); // //TCD Data // drawPosition(VesselNameOne,"血管名:",painter,WIDGET,"",15,"SimSun",true); // drawPosition(VesselNameOne,"血管名:",painter); // drawPosition(DataMeanOne,"Mean:",painter); // drawPosition(DataPeakOne,"Peak:",painter); // drawPosition(DataEdvOne,"EDV:",painter); // drawPosition(DataPiOne,"PI:",painter); // drawPosition(DataRiOne,"RI:",painter); // drawPosition(DataSdOne,"S/D:",painter); // drawPosition(DataHrOne,"HR:",painter); // drawPosition(VesselNameTwo,"血管名:",painter); // drawPosition(DataMeanTwo,"Mean:",painter); // drawPosition(DataPeakTwo,"Peak:",painter); // drawPosition(DataEdvTwo,"EDV:",painter); // drawPosition(DataPiTwo,"PI:",painter); // drawPosition(DataRiTwo,"RI:",painter); // drawPosition(DataSdTwo,"S/D:",painter); // drawPosition(DataHrTwo,"HR:",painter); // drawPosition(VesselNameThree,"血管名:",painter); // drawPosition(DataMeanThree,"Mean:",painter); // drawPosition(DataPeakThree,"Peak:",painter); // drawPosition(DataEdvThree,"EDV:",painter); // drawPosition(DataPiThree,"PI:",painter); // drawPosition(DataRiThree,"RI:",painter); // drawPosition(DataSdThree,"S/D:",painter); // drawPosition(DataHrThree,"HR:",painter); // drawPosition(VesselNameFour,"血管名:",painter); // drawPosition(DataMeanFour,"Mean:",painter); // drawPosition(DataPeakFour,"Peak:",painter); // drawPosition(DataEdvFour,"EDV:",painter); // drawPosition(DataPiFour,"PI:",painter); // drawPosition(DataRiFour,"RI:",painter); // drawPosition(DataSdFour,"S/D:",painter); // drawPosition(DataHrFour,"HR:",painter); drawPosition(Splitter3,"",painter,SPLITTER,""); drawPosition(DiagnoseTitle,"医生诊断",painter,TEXT,"",15,"SimSun",true); drawPosition(Signature,"负责医师:",painter); QString notice= "此报告仅供临床医生参考,不作证明使用"; drawPosition(Notice,notice,painter); }
void ReportPrintSetting::SetReportContent(QPainter &painter) { //basic info QString recordNO = m_patientTracker->Data().patient.strChartNumber; QString admissionNO = m_patientTracker->Data().patient.strAdmissionNumber; QString checkDate = m_patientTracker->Data().patient.strDate; QString patientName = m_patientTracker->Data().patient.strName; QString gender = m_patientTracker->Data().patient.strGender; int age = m_patientTracker->Data().patient.nAge; qreal height = m_patientTracker->Data().patient.qHeight; qreal weight = m_patientTracker->Data().patient.qWeight; drawPosition(MedRecordContent,recordNO,painter); drawPosition(AdmissionContent,admissionNO,painter); drawPosition(CheckDateContent,checkDate,painter); drawPosition(NameContent,patientName,painter); drawPosition(GenderContent,gender,painter); drawPosition(AgeContent,QString::number(age),painter); drawPosition(HeightContent,QString::number(height),painter); drawPosition(WeightContent,QString::number(weight),painter); //tcd data QString img[IMGCOUNTS]; QString vessel[IMGCOUNTS]; QString mean[IMGCOUNTS]; QString peak[IMGCOUNTS]; QString edv[IMGCOUNTS]; QString pi[IMGCOUNTS]; QString ri[IMGCOUNTS]; QString sd[IMGCOUNTS]; QString hr[IMGCOUNTS]; QString filePath = m_patientTracker->GetPatientFolderPath(); for( int i=0; i<IMGCOUNTS; i++) { img[i] = filePath+"/"+m_patientTracker->Data().data[i].pictureName; vessel[i] = m_patientTracker->Data().data[i].name; mean[i] = QString::number(m_patientTracker->Data().data[i].qMean); peak[i] = QString::number(m_patientTracker->Data().data[i].qPeak); edv[i] = QString::number(m_patientTracker->Data().data[i].qEDV); pi[i] = QString::number(m_patientTracker->Data().data[i].qPI); ri[i] = QString::number(m_patientTracker->Data().data[i].qRI); sd[i] = QString::number(m_patientTracker->Data().data[i].qSD); hr[i] = QString::number(m_patientTracker->Data().data[i].qHR); //tcd data // drawPosition(VesselValueOne+8*i,vessel[i],painter); // drawPosition(MeanValueOne+8*i,mean[i],painter); // drawPosition(PeakValueOne+8*i,peak[i],painter); // drawPosition(EdvValueOne+8*i,edv[i],painter); // drawPosition(PIValueOne+8*i,pi[i],painter); // drawPosition(RIValueOne+8*i,ri[i],painter); // drawPosition(SDValueOne+8*i,sd[i],painter); // drawPosition(HRValueOne+8*i,hr[i],painter); m_tableModel->setItem(i,0,new QStandardItem(vessel[i])); m_tableModel->setItem(i,1,new QStandardItem(mean[i])); m_tableModel->setItem(i,2,new QStandardItem(peak[i])); m_tableModel->setItem(i,3,new QStandardItem(edv[i])); m_tableModel->setItem(i,4,new QStandardItem(pi[i])); m_tableModel->setItem(i,5,new QStandardItem(ri[i])); m_tableModel->setItem(i,6,new QStandardItem(sd[i])); m_tableModel->setItem(i,7,new QStandardItem(hr[i])); //drawPosition(ImgOne+i,"",painter,IMAGE,":/pic/test.png"); drawPosition(ImgOne+i,"",painter,IMAGE,img[i]); } // diagnose QString content = m_patientTracker->Data().text.text; QString doctorName = m_patientTracker->Data().text.name; drawPosition(DiagnoseContent,content,painter,TEXT,"",13,"",false); drawPosition(SignatureContent,doctorName,painter); //TCD Data drawPosition(VesselNameOne,"血管名:",painter,WIDGET,"",15,"SimSun",true); }
void draw() { drawMap(); drawPosition(x, y); drawParticles(); }
inline Drop Lake::createDrop(unsigned int time) const { return Drop(time, drawPosition()); }