void drawTriangle(int x1, int y1, int x2, int y2, int x3, int y3, int r, int g, int b) { Points p1, p2, p3; p1 = getPoints(x1,y1,x2,y2); p2 = getPoints(x1,y1,x3,y3); p3 = getPoints(x2,y2,x3,y3); int i, limit; if(p1.neff <= p2.neff) limit = p1.neff; else limit = p2.neff; for(i=0; i<limit; i++) { drawLine(p1.tabPoint[i].X, p1.tabPoint[i].Y, p2.tabPoint[i].X, p2.tabPoint[i].Y,r,g,b); drawLine(p1.tabPoint[p1.neff - i -1].X, p1.tabPoint[p1.neff - i -1].Y, p2.tabPoint[i].X, p2.tabPoint[i].Y,r,g,b); } if(p1.neff <= p3.neff) limit = p1.neff; else limit = p3.neff; for(i=0; i<limit; i++) { drawLine(p1.tabPoint[i].X, p1.tabPoint[i].Y, p3.tabPoint[i].X, p3.tabPoint[i].Y,r,g,b); drawLine(p1.tabPoint[p1.neff - i -1].X, p1.tabPoint[p1.neff - i -1].Y, p3.tabPoint[i].X, p3.tabPoint[i].Y,r,g,b); } if(p2.neff <= p3.neff) limit = p2.neff; else limit = p3.neff; for(i=0; i<limit; i++) { drawLine(p2.tabPoint[i].X, p2.tabPoint[i].Y, p3.tabPoint[i].X, p3.tabPoint[i].Y,r,g,b); drawLine(p2.tabPoint[p2.neff - i -1].X, p2.tabPoint[p2.neff - i -1].Y, p3.tabPoint[i].X, p3.tabPoint[i].Y,r,g,b); } }
void Game::onTaskAnswered() { bool oldFinished = isFinished(); m_tasksAnswered++; if(m_currentTask->isCorrect()) m_tasksAnsweredCorrectly++; emit tasksAnsweredChanged(m_tasksAnswered); // Adding points if (getMode()==Mode::DRAG) { setPoints(getPoints() + m_currentTask->getScore()); } else { if(m_currentTask->isCorrect()){ int receivedPoints = 50 * getMultiplier(); setPoints(getPoints() + receivedPoints); setMultiplier(getMultiplier()+1); } else { setMultiplier(1); } } bool newFinished = isFinished(); if(oldFinished != newFinished)emit finishedChanged(newFinished); }
bool SortFuzzyFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const { QString _left = sourceModel()->data(left).toString(); QString _right = sourceModel()->data(right).toString(); if (m_fuzzyfilter=="") return QSortFilterProxyModel::lessThan(left,right); return getPoints(_left)<getPoints(_right); }
void Mesh ::getBoundingBox(BoundingBox &b) const { b.setEmpty(); // iterate over positions for(PointList::const_iterator p = getPoints().begin(); p != getPoints().end(); ++p) { b.addPoint(*p); } // end for p } // end Mesh::getBoundingBox()
HRGN Path::CreateNativeRegion() const { int point_count = getPoints(NULL, 0); scoped_array<SkPoint> points(new SkPoint[point_count]); getPoints(points.get(), point_count); scoped_array<POINT> windows_points(new POINT[point_count]); for(int i=0; i<point_count; ++i) { windows_points[i].x = SkScalarRound(points[i].fX); windows_points[i].y = SkScalarRound(points[i].fY); } return ::CreatePolygonRgn(windows_points.get(), point_count, ALTERNATE); }
void PurchaseEditor::addItemToList() { ProductInfo pInfo; Azahar *myDb = new Azahar; myDb->setDatabase(db); bool ok=false; if (ui->editCode->text().isEmpty()) ui->editCode->setFocus(); else if (ui->editDesc->text().isEmpty()) ui->editDesc->setFocus(); else if (ui->editPoints->text().isEmpty()) ui->editPoints->setFocus(); else if (ui->editCost->text().isEmpty()) ui->editCost->setFocus(); else if (ui->editTax->text().isEmpty()) ui->editTax->setFocus(); else if (ui->editFinalPrice->text().isEmpty()) ui->editFinalPrice->setFocus(); else if (ui->editQty->text().isEmpty() || ui->editQty->text()=="0") ui->editQty->setFocus(); else if ((ui->editUtility->text().isEmpty() && ui->editFinalPrice->text().isEmpty()) || ui->editFinalPrice->text().toDouble()<=ui->editCost->text().toDouble() ) ui->editFinalPrice->setFocus(); else if (ui->groupBoxedItem->isChecked() && (ui->editItemsPerBox->text().isEmpty() || ui->editItemsPerBox->text()=="0")) ui->editItemsPerBox->setFocus(); else if (ui->groupBoxedItem->isChecked() && (ui->editPricePerBox->text().isEmpty() || ui->editPricePerBox->text()=="0")) ui->editPricePerBox->setFocus(); else ok = true; if (ok) { ProductInfo info = myDb->getProductInfo( QString::number( getCode() ) ); //FIX BUG: dont allow enter new products.. dont know why? new code on 'continue' statement. if (info.code == 0) { //new product info.code = getCode(); info.stockqty = 0; //new product info.lastProviderId=1; //for now.. fixme in the future } //update p.info from the dialog info.desc = getDescription(); info.price = getPrice(); info.cost = getCost(); info.tax = getTax1(); info.extratax= getTax2(); info.photo = getPhotoBA(); info.units = getMeasureId(); info.category= getCategoryId(); info.utility = getProfit(); info.points = getPoints(); info.purchaseQty = getPurchaseQty(); info.validDiscount = productExists; //used to check if product is already on db. if (info.isAGroup) { // get each product fo the group/pack QStringList list = gelem.split(","); for (int i=0; i<list.count(); ++i) { QStringList tmp = list.at(i).split("/"); if (tmp.count() == 2) { //ok 2 fields qulonglong code = tmp.at(0).toULongLong(); pInfo = myDb->getProductInfo(QString::number(code)); pInfo.purchaseQty = getPurchaseQty(); pInfo.validDiscount = true; // all grouped products exists insertProduct(pInfo); ///inserting each product of the group } // correct fields }//for each element } else insertProduct(info); resetEdits(); ui->editCode->setFocus(); } }
/** * Closed cardinal spline の描画 * @param app アピアランス * @param points 点の配列 * @pram tension tension */ void Path::drawClosedCurve2(tTJSVariant points, REAL tension) { vector<PointF> ps; getPoints(points, ps); path.AddClosedCurve(&ps[0], (int)ps.size(), tension); }
/** * Closed cardinal spline の描画 * @param app アピアランス * @param points 点の配列 */ void Path::drawClosedCurve(tTJSVariant points) { vector<PointF> ps; getPoints(points, ps); path.AddClosedCurve(&ps[0], (int)ps.size()); }
/** * 連続ベジェ曲線の描画 * @param app アピアランス * @param points 点の配列 */ void Path::drawBeziers(tTJSVariant points) { vector<PointF> ps; getPoints(points, ps); path.AddBeziers(&ps[0], (int)ps.size()); }
/** * 多角形の描画 * @param app アピアランス * @param points 点の配列 */ void Path::drawPolygon(tTJSVariant points) { vector<PointF> ps; getPoints(points, ps); path.AddPolygon(&ps[0], (int)ps.size()); }
/** * cardinal spline の描画 * @param app アピアランス * @param points 点の配列 * @param offset * @param numberOfSegments * @param tension tension */ void Path::drawCurve3(tTJSVariant points, int offset, int numberOfSegments, REAL tension) { vector<PointF> ps; getPoints(points, ps); path.AddCurve(&ps[0], (int)ps.size(), offset, numberOfSegments, tension); }
int main(int argc, char* argv[]) { if (argc < 2) { printf("Usage: ./holder <option> [prefetch]\n"); printf("Potential options are 'sort', 'block', or 'none'\n"); printf("For the third option, you can either specify 'prefetch' or leave it blank.\n"); exit(1); } nbody_t* points = getPoints(); if (argv[2] && !strcmp(argv[2], "prefetch")) { if (!strcmp(argv[1], "sort")) timeSortedPrefetch(points); else if (!strcmp(argv[1], "block")) timeBlockedPrefetch(points); else if (!strcmp(argv[1], "none")) timeRegularPrefetch(points); else printf("Invalid option\n"); } else { if (!strcmp(argv[1], "sort")) timeSorted(points); else if (!strcmp(argv[1], "block")) timeBlocked(points); else if (!strcmp(argv[1], "none")) timeRegular(points); else printf("Invalid option\n"); } free(points); return 0; }
std::unique_ptr<FieldVerticalPlane> FieldCalculatorVertical::calculatePlane(const Project* p, ProgressTracker& tracker, glm::vec3 from, glm::vec3 to, glm::vec2 spacing) { auto field = FieldVerticalPlane::createEmptyField(from, to, spacing); const auto points = field->getPoints(); const auto sites = p->getSites(); int celldone = 0; const int totalcell = p->getNCells(true); for (const Site& s : sites) { const auto cells = s.getCells(); for (const Cell& c : cells) { if (!running) return field; if (!c.isActive()) continue; ++celldone; tracker.notify_subprogress("Celle (" + std::to_string(celldone) + "/" + std::to_string(totalcell) + ")", (int)((double)100 * celldone / totalcell)); field->accumulateSquare(calculateSquarePlaneForField(points, dtm.get(), c)); } } field->sqrt(); return field; }
void CParallelogram :: GetBorders(double* minx, double* maxx, double* miny, double* maxy) { getPoints().goFirst(); do { double x = getPoints().getValue().getX(); double y = getPoints().getValue().getY(); if (x > *maxx) *maxx = x; if (x < *minx) *minx = x; if (y > *maxx) *maxy = y; if (y < *minx) *miny = y; } while (getPoints().goNext()); };
void FFigure::drawView(FigView* view) { if (!noViewUpdate) { members_flat = flatList(); sortMembersByDepth(); members_flat_valid = true; vector<YaVecElm*>::iterator members_iter; for ( members_iter = members_flat.begin(); members_iter != members_flat.end(); ++members_iter ) { //cout << "DRAWING: "; //(*members_iter)->debugPrint(cout, true, 10); (*members_iter)->draw(view); } if (showMarkers) { vector<PosInt> points; unsigned int i; getPoints(points, markersHierarchical, markers4Compounds); cout << "DRAWING MARKERS:" << points.size() << endl; for (i=0; i<points.size(); i++) { view->drawMarker(points[i]/scale_fact); } } viewIsDirty = false; } else { viewIsDirty = true; } }
void mode2 (FILE *in, FILE *out) { int ln = 0, pn = 0; TLine *lines = getLines(in, &ln); //build tree using lines Tree T = buildTree(lines, ln); free(lines); lines = NULL; //reads points after building tree (better memory usage) TPoint *points = getPoints(in, &pn); labelRegions(T, points, pn); free(points); points = NULL; printTree(out, T); fprintf(out, "\n"); localizePoints(in, out, T); destroyTree(&T); }
void mode1 (FILE *in, FILE *out) { //line number and point number int ln = 0, pn = 0; //get lines TLine *lines = getLines(in, &ln); //get points TPoint *points = getPoints(in, &pn); //read tree from file Tree T = readTree(in, lines); //need lines no longer free(lines); lines = NULL; //label regions using points labelRegions(T, points, pn); //need points no longer free(points); points = NULL; //print tree printTree(out, T); fprintf(out, "\n"); //solve all points localizePoints(in, out, T); destroyTree(&T); }
CVoxel_8 Cloud::boundingBox() { QVector<QVector3D> lTab = getPoints(); CVoxel_8 Bounding_Box; double xmax,ymax,zmax,xmin,ymin,zmin; xmax=ymax=zmax=-100000; xmin=ymin=zmin=100000; for(int i=0; i<lTab.size();i++) { xmax = qMax(lTab[i].x(), xmax); xmin = qMin(lTab[i].x(), xmin); ymax = qMax(lTab[i].y(), ymax); ymin = qMin(lTab[i].y(), ymin); zmax = qMax(lTab[i].z(), zmax); zmin = qMin(lTab[i].z(), zmin); } Bounding_Box.Put_Vertex(0,xmin,ymin,zmin); Bounding_Box.Put_Vertex(1,xmax,ymin,zmin); Bounding_Box.Put_Vertex(2,xmax,ymin,zmax); Bounding_Box.Put_Vertex(3,xmin,ymin,zmax); Bounding_Box.Put_Vertex(4,xmin,ymax,zmin); Bounding_Box.Put_Vertex(5,xmax,ymax,zmin); Bounding_Box.Put_Vertex(6,xmax,ymax,zmax); Bounding_Box.Put_Vertex(7,xmin,ymax,zmax); return Bounding_Box; }
void parseInput() { while (!feof(stdin)) { if (fgets(command_line,MAX_LINE_SIZE + 2,stdin) == NULL) break; if (strlen(command_line) > MAX_LINE_SIZE) { printf("Command too long, can not parse\n"); goto_next_line(stdin); } else { missing_argc = 0; sprintf(command_name,""); argc = sscanf(command_line,"%s %d,%d,%d",command_name,&(intv[0]),&(intv[1]),&(intv[2])); if (check_command(COMMAND_GET_POINTS,2)) getPoints(intv[0]); else if (check_command(COMMAND_NEW_MEMBER,3)) newMember(intv[0],intv[1]); else if (check_command(COMMAND_NEW_INVITED_MEMBER,4)) newInvitedMember(intv[0],intv[1],intv[2]); else if (check_command(COMMAND_FORBID_MEMBERSHIP,3)) forbidMembership(intv[0],intv[1]); else if (check_command(COMMAND_GET_TLC_PERSON,2)) getTlcPerson(intv[0]); else if (check_command(COMMAND_GET_FRIENDLIEST_PEOPLE,2)) getFriendliestPeople(intv[0]); else if (check_command(COMMAND_GET_MEMBERS_ADDRESSES,2)) getMembersAddresses(intv[0]); else if (check_command(COMMAND_PYRAMID_BONUS,2)) pyramidBonus(intv[0],intv[1]); else if (check_command(COMMAND_EXIT,1)) break; else if (missing_argc > 0) printf("Missing %d argument(s) in command %s!\n",missing_argc,command_name); else if (argc > 0) printf("Illegal command!\n"); } } }
void Canvas::drawGraph(int n) { pixmap.fill(Qt::white); QPainter painter(&pixmap); painter.setRenderHint(QPainter::Antialiasing, true); const int R = 3; std::vector<QPoint> points = getPoints(n); painter.setPen(QPen(QBrush(Qt::black), 0.5)); for (size_t i = 0; i < points.size(); ++i) { for (size_t j = i; j < points.size(); ++j) { painter.drawLine(points[i], points[j]); } } painter.setPen(Qt::black); painter.setBrush(QBrush(Qt::black)); for (size_t i = 0; i < points.size(); ++i) { painter.drawEllipse(points[i].rx() - R, points[i].ry() - R, 2*R, 2*R); QPoint c = geometry().center(); int labelX = (int)(1.12*(points[i].rx() - c.rx())) + c.rx() - 4; int labelY = (int)(1.12*(points[i].ry() - c.ry())) + c.ry() + 5; painter.drawText(QPoint(labelX, labelY), QString("%1").arg(i)); } }
float CTown::getAttrib(string str) { if (str == "trainingTime")return (getPPOn(eTownSlider::army)) / 100.0f; if (str == "moraleDelta")return (getPPOn(eTownSlider::army)) / 20.0f; if (str == "baseMorale")return (getPPOn(eTownSlider::army) / 3 + 70) / 100.0f; if (str == "population")return getPoints() / getMap()->getRegion(region)->getBasePoints()*getMap()->getRegion(region)->getStat("population"); }
void ConnectorComponent::getDistancesFromEnds (int x, int y, double& distanceFromStart, double& distanceFromEnd) const { float x1, y1, x2, y2; getPoints (x1, y1, x2, y2); distanceFromStart = juce_hypot (x - (x1 - getX()), y - (y1 - getY())); distanceFromEnd = juce_hypot (x - (x2 - getX()), y - (y2 - getY())); }
template<class T> Point3<T> Triangle3D<T>::getSupportPoint(const Vector3<T> &direction) const { T maxPointDotDirection = getPoints()[0].toVector().dotProduct(direction); Point3<T> maxPoint = getPoints()[0]; for(unsigned int i=1;i<3; ++i) { T currentPointDotDirection = getPoints()[i].toVector().dotProduct(direction); if(currentPointDotDirection > maxPointDotDirection) { maxPointDotDirection = currentPointDotDirection; maxPoint = getPoints()[i]; } } return maxPoint; }
void extractLibmvReconstructionData(InputOutputArray K, OutputArray Rs, OutputArray Ts, OutputArray points3d) { getCameras(Rs, Ts); getPoints(points3d); getIntrinsics().copyTo(K.getMat()); }
void CaptureInterfacesDialog::updateStatistics(void) { //guint diff; QList<int> *points = NULL; if (!stat_cache_) { // Start gathering statistics using dumpcap // We crash (on OS X at least) if we try to do this from ::showEvent. stat_cache_ = capture_stat_start(&global_capture_opts); } if (!stat_cache_) return; for (int row = 0; row < ui->tbInterfaces->rowCount(); row++) { //bool checked = (ui->tbInterfaces->item(row, 0)->checkState() == Qt::Checked) ? true : false; //points = new QList<int>(); // for (if_idx = 0; if_idx < global_capture_opts.all_ifaces->len; if_idx++) { // device = g_array_index(global_capture_opts.all_ifaces, interface_t, if_idx); // QString device_name = ui->tbInterfaces->item(row, INTERFACE)->text(); // if (device_name.compare(device.name) || device.hidden || device.type == IF_PIPE) // continue; //diff = 0; // if (capture_stats(stat_cache_, device.name, &stats)) { // if ((int)(stats.ps_recv - device.last_packets) >= 0) { // diff = stats.ps_recv - device.last_packets; // } // device.last_packets = stats.ps_recv; // } points = ui->tbInterfaces->item(row, TRAFFIC)->data(Qt::UserRole).value<QList<int> *>(); emit getPoints(row, points); //ui->tbInterfaces->item //ui->tbInterfaces->setItemDelegateForColumn(TRAFFIC, new SparkLineDelegate()); //points = new QList<int>(); //QTableWidgetItem *ti = new QTableWidgetItem(); //ti->setData(Qt::UserRole, qVariantFromValue(points)); QTableWidgetItem *ti = ui->tbInterfaces->item(ui->tbInterfaces->rowCount()-1, TRAFFIC); ti->setData(Qt::UserRole, qVariantFromValue(points)); //ui->tbInterfaces->setItem(ui->tbInterfaces->rowCount()-1, TRAFFIC, ti); //points->append(diff); ui->tbInterfaces->viewport()->update(); // global_capture_opts.all_ifaces = g_array_remove_index(global_capture_opts.all_ifaces, if_idx); // g_array_insert_val(global_capture_opts.all_ifaces, if_idx, device); } }
void ConeGeometry::updateInfoBox() { pointEdit0->setText(QString::number(getPoints()[0])); pointEdit1->setText("0.0"); pointEdit2->setText("-1.0"); pointEdit3->setText("0.0"); pointEdit4->setText("0.0"); pointEdit5->setText("1.0"); radiusEdit0->setText("0.5"); radiusEdit1->setText("0.5"); }
/* virtual */ void GestureThrower::mouseReleased(int xx, int yy, int btn) { if (active) { // TODO, edge instead w and h Gesture::rescale(this->w, this->points); // DrawerWidget is suppose to have width = height (a square) this->g = Gesture::build_from_centroids(getPoints(), centroids); this->setGesture(g); } DrawerWidget::mouseReleased(xx, yy, btn); }
void getPoints(int u, int p, ll a, ll b, int c){ for(int v: E[u]) { if(p != v){ ll na = a + abs(px[u] - px[v]); ll nb = b + abs(py[u] - py[v]); int nc = (c == -1 ? v : c); // assign new color if not exists pts[npts++] = {na, nb, nc, POINT}; pts[npts++] = {W - na, H - nb, nc, QUERY}; getPoints(v, u, na, nb, nc); } } }
WaveFile * markOutFileByA0(SimpleGraphData *data) { SPTK_SETTINGS * sptk_settings = SettingsDialog::getSPTKsettings(); WaveFile * waveFile = data->file_data; qDebug() << "waveOpenHFile" << LOG_DATA; int size = littleEndianBytesToUInt32(waveFile->dataChunk->chunkDataSize); qDebug() << "file size " << size << LOG_DATA; int intensiveSize = data->d_intensive_norm.x; qDebug() << "intensive size " << intensiveSize << LOG_DATA; double scaleFactor = 1.0 * size / CHAR_BIT_RECORD / intensiveSize; qDebug() << "scaleFactor " << scaleFactor << LOG_DATA; double intensiveLimit = 1.0 * sptk_settings->dp->markoutA0limit / 100; qDebug() << "intensiveLimit " << intensiveLimit << LOG_DATA; Points points = getPoints( intensiveSize, data->d_intensive_norm, scaleFactor, intensiveLimit, sptk_settings->dp->relative_limit ); int waveDataSize = littleEndianBytesToUInt32(waveFile->dataChunk->chunkDataSize); char* waveData = (char*) malloc(waveDataSize); memcpy(waveData, waveFile->dataChunk->waveformData, waveDataSize); qDebug() << "waveData " << waveData << LOG_DATA; qDebug() << "waveDataSize " << waveDataSize << LOG_DATA; qDebug() << "NUMBER_OF_CHANNELS " << NUMBER_OF_CHANNELS << LOG_DATA; qDebug() << "RECORD_FREQ " << RECORD_FREQ << LOG_DATA; qDebug() << "SIGNIFICANT_BITS_PER_SAMPLE " << SIGNIFICANT_BITS_PER_SAMPLE << LOG_DATA; qDebug() << "pointsCount " << points.pointsCount << LOG_DATA; qDebug() << "pointsOffset " << points.pointsOffset << LOG_DATA; qDebug() << "pointsLenght " << points.pointsLenght << LOG_DATA; qDebug() << "pointsLabel " << points.pointsLabels << LOG_DATA; return makeWaveFileFromRawData( waveData, waveDataSize, NUMBER_OF_CHANNELS, RECORD_FREQ, SIGNIFICANT_BITS_PER_SAMPLE, points.pointsCount, points.pointsOffset, points.pointsLenght, points.pointsLabels ); }
void threadMain3() { Scatterplot plot; CplxVec v(1024); for(int i=0;i<10;i++) { getPoints(v.begin(), v.end()); plot.setNewData(v.begin(), v.end()); boost::this_thread::sleep(boost::posix_time::milliseconds(100)); } }