diff options
author | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2014-11-06 10:46:49 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2014-11-06 10:48:41 +0200 |
commit | bc317e1ea56c85a41413a5ddde4112623a1b4913 (patch) | |
tree | e51b2b78f81940cfc70b49953308197080cd368f /tests/qmlperf/datagenerator.cpp | |
parent | 03cbebd97354b7251e87dcde8adc6b49eba973e5 (diff) | |
parent | 46ef32d424d7e0209e52528286e31f656c654289 (diff) |
Merge branch 'develop'
Change-Id: I2f27b074a095cd449a92778be4681f5e56590e17
Diffstat (limited to 'tests/qmlperf/datagenerator.cpp')
-rw-r--r-- | tests/qmlperf/datagenerator.cpp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/qmlperf/datagenerator.cpp b/tests/qmlperf/datagenerator.cpp new file mode 100644 index 00000000..4819f59d --- /dev/null +++ b/tests/qmlperf/datagenerator.cpp @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVisualization module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +#include "datagenerator.h" +#include <QDebug> + +using namespace QtDataVisualization; + +Q_DECLARE_METATYPE(QScatter3DSeries *) + +DataGenerator::DataGenerator(QObject *parent) : + QObject(parent) +{ + qRegisterMetaType<QScatter3DSeries *>(); +} + +DataGenerator::~DataGenerator() +{ + qDebug() << __FUNCTION__; +} + +void DataGenerator::generateData(QScatter3DSeries *series, uint count) +{ + QScatterDataArray *dataArray = new QScatterDataArray; + dataArray->resize(count); + QScatterDataItem *ptrToDataArray = &dataArray->first(); + + float rand_max = float(RAND_MAX); + for (uint i = 0; i < count; i++) { + ptrToDataArray->setPosition(QVector3D(float(qrand()) / rand_max, + float(qrand()) / rand_max, + float(qrand()) / rand_max)); + ptrToDataArray++; + } + + series->dataProxy()->resetArray(dataArray); +} + +void DataGenerator::add(QScatter3DSeries *series, uint count) +{ + QScatterDataArray appendArray; + appendArray.resize(count); + + float rand_max = float(RAND_MAX); + for (uint i = 0; i < count; i++) { + appendArray[i].setPosition(QVector3D(float(qrand()) / rand_max, + float(qrand()) / rand_max, + float(qrand()) / rand_max)); + } + + series->dataProxy()->addItems(appendArray); +} |