Example #1
0
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);
    }
}
Example #2
0
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);
}
Example #4
0
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()
Example #5
0
    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();
  }
}
Example #7
0
/**
 * 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);
}
Example #8
0
/**
 * 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());
}
Example #9
0
/**
 * 連続ベジェ曲線の描画
 * @param app アピアランス
 * @param points 点の配列
 */
void
Path::drawBeziers(tTJSVariant points)
{
	vector<PointF> ps;
	getPoints(points, ps);
	path.AddBeziers(&ps[0], (int)ps.size());
}
Example #10
0
/**
 * 多角形の描画
 * @param app アピアランス
 * @param points 点の配列

 */
void
Path::drawPolygon(tTJSVariant points)
{
	vector<PointF> ps;
	getPoints(points, ps);
	path.AddPolygon(&ps[0], (int)ps.size());
}
Example #11
0
/**
 * 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;
}
Example #13
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;
}
Example #14
0
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");
		}
	}
}
Example #20
0
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));
    }
}
Example #21
0
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");
}
Example #22
0
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()));
}
Example #23
0
	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;
	}
Example #24
0
 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);

    }
}
Example #26
0
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);
}
Example #28
0
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);
    }
  }
}
Example #29
0
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));
  }
}