Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
@@ -0,0 +1,47 @@
|
||||
#pragma once
|
||||
|
||||
#include <QOpenGLWidget>
|
||||
#include <QOpenGLFunctions>
|
||||
#include <QOpenGLShaderProgram>
|
||||
#include <QVector3D>
|
||||
#include <QVector>
|
||||
#include <QPoint>
|
||||
|
||||
struct Curve {
|
||||
QVector<QVector3D> points;
|
||||
QVector3D color;
|
||||
};
|
||||
|
||||
class TrajectoryWidget : public QOpenGLWidget, protected QOpenGLFunctions
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit TrajectoryWidget(QWidget *parent = nullptr);
|
||||
|
||||
void setCurves(const QVector<Curve>& curves);
|
||||
void addCurve(const Curve& curve);
|
||||
void clearCurves();
|
||||
|
||||
protected:
|
||||
void initializeGL() override;
|
||||
void resizeGL(int w, int h) override;
|
||||
void paintGL() override;
|
||||
|
||||
void mousePressEvent(QMouseEvent *event) override;
|
||||
void mouseMoveEvent(QMouseEvent *event) override;
|
||||
void wheelEvent(QWheelEvent *event) override;
|
||||
|
||||
private slots:
|
||||
void fitViewToCurves();
|
||||
|
||||
private:
|
||||
QVector<Curve> m_curves;
|
||||
|
||||
QOpenGLShaderProgram m_program;
|
||||
float m_rotX = 20.0f;
|
||||
float m_rotY = -30.0f;
|
||||
float m_zoom = -10.0f;
|
||||
QPoint m_lastMousePos;
|
||||
QVector3D m_viewCenter{0, 0, 0};
|
||||
};
|
||||
Reference in new issue
Block a user