mirror of https://github.com/qt/qtdatavis3d.git
107 lines
2.7 KiB
C++
107 lines
2.7 KiB
C++
/******************************************************************************
|
|
**
|
|
** Copyright (C) 2015 The Qt Company Ltd.
|
|
** Contact: http://www.qt.io/licensing/
|
|
**
|
|
** This file is part of the Qt Data Visualization module.
|
|
**
|
|
** $QT_BEGIN_LICENSE:COMM$
|
|
**
|
|
** Commercial License Usage
|
|
** Licensees holding valid commercial Qt licenses may use this file in
|
|
** accordance with the commercial license agreement provided with the
|
|
** Software or, alternatively, in accordance with the terms contained in
|
|
** a written agreement between you and The Qt Company. For licensing terms
|
|
** and conditions see http://www.qt.io/terms-conditions. For further
|
|
** information use the contact form at http://www.qt.io/contact-us.
|
|
**
|
|
** $QT_END_LICENSE$
|
|
**
|
|
******************************************************************************/
|
|
|
|
#ifndef SURFACEDATA_H
|
|
#define SURFACEDATA_H
|
|
|
|
#define NOMINMAX
|
|
|
|
#include "QKinectWrapper.h"
|
|
#include <QtDataVisualization/Q3DScatter>
|
|
#include <QtDataVisualization/Q3DBars>
|
|
#include <QtDataVisualization/Q3DSurface>
|
|
#include <QtDataVisualization/QScatterDataProxy>
|
|
#include <QtDataVisualization/QBarDataProxy>
|
|
#include <QtDataVisualization/QHeightMapSurfaceDataProxy>
|
|
#include <QTextEdit>
|
|
|
|
using namespace QtDataVisualization;
|
|
|
|
class SurfaceData : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit SurfaceData(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars,
|
|
QTextEdit *statusLabel);
|
|
~SurfaceData();
|
|
|
|
void start();
|
|
void stop();
|
|
|
|
void updateData();
|
|
void updateStatus(QKinect::KinectStatus status);
|
|
|
|
void setDistance(int distance);
|
|
void scrollDown();
|
|
void setData(const QImage &image);
|
|
void useGradientOne();
|
|
void useGradientTwo();
|
|
|
|
public:
|
|
enum VisualizationMode {
|
|
Surface = 0,
|
|
Scatter,
|
|
MeshBars
|
|
};
|
|
|
|
public Q_SLOTS:
|
|
void setResolution(int selection);
|
|
void changeMode(int mode);
|
|
|
|
private:
|
|
Q3DTheme *m_thermalTheme;
|
|
Q3DTheme *m_highlightTheme;
|
|
Q3DSurface *m_surface;
|
|
Q3DScatter *m_scatter;
|
|
Q3DBars *m_bars;
|
|
QTextEdit *m_statusArea;
|
|
bool m_resize;
|
|
QSize m_resolution;
|
|
int m_resolutionLevel;
|
|
VisualizationMode m_mode;
|
|
QScatterDataArray *m_scatterDataArray;
|
|
QBarDataArray *m_barDataArray;
|
|
QKinect::QKinectWrapper m_kinect;
|
|
};
|
|
|
|
class ContainerChanger : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit ContainerChanger(QWidget *surface, QWidget *scatter, QWidget *bars,
|
|
QWidget *buttonOne, QWidget *buttonTwo);
|
|
~ContainerChanger();
|
|
|
|
public Q_SLOTS:
|
|
void changeContainer(int container);
|
|
|
|
private:
|
|
QWidget *m_surface;
|
|
QWidget *m_scatter;
|
|
QWidget *m_bars;
|
|
QWidget *m_button1;
|
|
QWidget *m_button2;
|
|
};
|
|
|
|
#endif
|