2013-09-26 06:17:09 +00:00
|
|
|
/****************************************************************************
|
|
|
|
|
**
|
2015-04-14 10:35:51 +00:00
|
|
|
** Copyright (C) 2015 The Qt Company Ltd
|
2013-09-26 06:17:09 +00:00
|
|
|
** All rights reserved.
|
2015-04-14 10:35:51 +00:00
|
|
|
** For any questions to The Qt Company, please use contact form at http://qt.io
|
2013-09-26 06:17:09 +00:00
|
|
|
**
|
2014-11-07 08:07:00 +00:00
|
|
|
** This file is part of the Qt Data Visualization module.
|
2013-09-26 06:17:09 +00:00
|
|
|
**
|
2014-11-07 08:07:00 +00:00
|
|
|
** Licensees holding valid commercial license for Qt may use this file in
|
|
|
|
|
** accordance with the Qt License Agreement provided with the Software
|
|
|
|
|
** or, alternatively, in accordance with the terms contained in a written
|
2015-04-14 10:35:51 +00:00
|
|
|
** agreement between you and The Qt Company.
|
2013-09-26 06:17:09 +00:00
|
|
|
**
|
|
|
|
|
** If you have questions regarding the use of this file, please use
|
2014-11-07 08:07:00 +00:00
|
|
|
** contact form at http://qt.io
|
2013-09-26 06:17:09 +00:00
|
|
|
**
|
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
#ifndef SURFACEDATA_H
|
|
|
|
|
#define SURFACEDATA_H
|
|
|
|
|
|
2014-02-21 11:41:03 +00:00
|
|
|
#define NOMINMAX
|
|
|
|
|
|
2013-09-26 06:17:09 +00:00
|
|
|
#include "QKinectWrapper.h"
|
2013-09-27 04:43:40 +00:00
|
|
|
#include <QtDataVisualization/Q3DScatter>
|
2013-09-27 05:50:03 +00:00
|
|
|
#include <QtDataVisualization/Q3DBars>
|
2013-09-27 04:43:40 +00:00
|
|
|
#include <QtDataVisualization/Q3DSurface>
|
2013-09-27 10:10:31 +00:00
|
|
|
#include <QtDataVisualization/QScatterDataProxy>
|
|
|
|
|
#include <QtDataVisualization/QBarDataProxy>
|
|
|
|
|
#include <QtDataVisualization/QHeightMapSurfaceDataProxy>
|
2013-09-26 10:30:08 +00:00
|
|
|
#include <QTextEdit>
|
2013-09-26 06:17:09 +00:00
|
|
|
|
|
|
|
|
using namespace QtDataVisualization;
|
|
|
|
|
|
|
|
|
|
class SurfaceData : public QObject
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
public:
|
2013-09-27 08:24:42 +00:00
|
|
|
explicit SurfaceData(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars,
|
|
|
|
|
QTextEdit *statusLabel);
|
2013-09-26 06:17:09 +00:00
|
|
|
~SurfaceData();
|
|
|
|
|
|
|
|
|
|
void start();
|
|
|
|
|
void stop();
|
|
|
|
|
|
|
|
|
|
void updateData();
|
|
|
|
|
void updateStatus(QKinect::KinectStatus status);
|
|
|
|
|
|
|
|
|
|
void setDistance(int distance);
|
2013-09-26 10:30:08 +00:00
|
|
|
void scrollDown();
|
2013-09-27 05:50:03 +00:00
|
|
|
void setData(const QImage &image);
|
2013-09-26 10:30:08 +00:00
|
|
|
void useGradientOne();
|
|
|
|
|
void useGradientTwo();
|
2013-09-27 08:24:42 +00:00
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
enum VisualizationMode {
|
|
|
|
|
Surface = 0,
|
|
|
|
|
Scatter,
|
2013-11-28 06:19:37 +00:00
|
|
|
MeshBars
|
2013-09-27 08:24:42 +00:00
|
|
|
};
|
2013-09-26 06:17:09 +00:00
|
|
|
|
2015-06-17 11:01:44 +00:00
|
|
|
public Q_SLOTS:
|
2013-09-26 06:17:09 +00:00
|
|
|
void setResolution(int selection);
|
2013-09-27 08:24:42 +00:00
|
|
|
void changeMode(int mode);
|
2013-09-26 06:17:09 +00:00
|
|
|
|
|
|
|
|
private:
|
2014-01-31 07:48:08 +00:00
|
|
|
Q3DTheme *m_thermalTheme;
|
|
|
|
|
Q3DTheme *m_highlightTheme;
|
2013-09-26 06:17:09 +00:00
|
|
|
Q3DSurface *m_surface;
|
2013-09-27 08:24:42 +00:00
|
|
|
Q3DScatter *m_scatter;
|
|
|
|
|
Q3DBars *m_bars;
|
2013-09-26 10:30:08 +00:00
|
|
|
QTextEdit *m_statusArea;
|
2013-09-26 06:17:09 +00:00
|
|
|
bool m_resize;
|
|
|
|
|
QSize m_resolution;
|
2013-09-27 08:24:42 +00:00
|
|
|
int m_resolutionLevel;
|
|
|
|
|
VisualizationMode m_mode;
|
2013-09-27 10:10:31 +00:00
|
|
|
QScatterDataArray *m_scatterDataArray;
|
|
|
|
|
QBarDataArray *m_barDataArray;
|
2013-09-26 06:17:09 +00:00
|
|
|
QKinect::QKinectWrapper m_kinect;
|
|
|
|
|
};
|
|
|
|
|
|
2013-09-27 08:24:42 +00:00
|
|
|
class ContainerChanger : public QObject
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
explicit ContainerChanger(QWidget *surface, QWidget *scatter, QWidget *bars,
|
|
|
|
|
QWidget *buttonOne, QWidget *buttonTwo);
|
|
|
|
|
~ContainerChanger();
|
|
|
|
|
|
2015-06-17 11:01:44 +00:00
|
|
|
public Q_SLOTS:
|
2013-09-27 08:24:42 +00:00
|
|
|
void changeContainer(int container);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
QWidget *m_surface;
|
|
|
|
|
QWidget *m_scatter;
|
|
|
|
|
QWidget *m_bars;
|
|
|
|
|
QWidget *m_button1;
|
|
|
|
|
QWidget *m_button2;
|
|
|
|
|
};
|
|
|
|
|
|
2013-09-26 06:17:09 +00:00
|
|
|
#endif
|