Initial commit

This commit is contained in:
torsten committed 2026-08-13 18:33:10 +02:00
commit b7d90b9afe
16245 files changed
+3396666

No files matched your search

+47
View File
@@ -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};
};