- Copied complete Lts/Tools directory from qt5-before to qt6-after - Updated 32 CMakeLists.txt files (Qt5:: → Qt6::) - Tools subdirectory already included in parent Lts/CMakeLists.txt - All 72 tool submodules now present in qt6-migrated-legatus - Includes: Adler, ArAssets, ConfigX, DBAdministration, DBUpdate, DdsView, InfrastructureManagement, and 67 more tools - C++17 standard (RTI 7.7.0 compatibility maintained) - Tests deferred until final validation phase Migration progress: ✅ Lts/Application (68 files) ✅ Lts/DDS (verified Qt6-ready) ✅ Lts/Plugins (60 submodules, verified) ✅ Lts/Projects (5 submodules, verified) ✅ Lts/Proxies (13 submodules, verified) ✅ Lts/Services (47 submodules, verified) ✅ Lts/Tools (72 submodules, copied + CMake updated) ✅ Lts/Viewer (LtsFileDialog, LtsReportDisplay, SituationMap) 🟡 TetraIF (partial) 🟡 Z (partial: nglwidgets, QtSingleApplication, qsql_informix, WMS_Interface)
70 lines
1.6 KiB
C++
Executable File
70 lines
1.6 KiB
C++
Executable File
#include <QApplication>
|
|
#include "ballistiksimulator.h"
|
|
#include "trajectorywarp.h"
|
|
#include "trajectorywidget.h"
|
|
#include <QtMath>
|
|
|
|
|
|
|
|
Curve trajectoryPointsToCurve(const QVector<TrajectoryPoint>& trajectory,
|
|
const QVector3D& color)
|
|
{
|
|
Curve curve;
|
|
curve.color = color;
|
|
|
|
curve.points.reserve(trajectory.size());
|
|
for (const auto& p : trajectory) {
|
|
curve.points.append(p.position);
|
|
}
|
|
|
|
return curve;
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
QApplication app(argc, argv);
|
|
|
|
|
|
BallistikSimulator sim;
|
|
|
|
double v0 = 400.0;
|
|
double winkel = 20.0;
|
|
double masse = 0.015;
|
|
double cw = 0.29;
|
|
double flaeche = 0.00006;
|
|
double praezision = 0.2;
|
|
|
|
QVector<TrajectoryPoint> original = sim.simuliereFlug(v0, winkel, masse, cw, flaeche, praezision);
|
|
|
|
sim.speichereInCSV(0,original, "flugbahn.csv");
|
|
|
|
//-------------------------------------------------------------
|
|
|
|
TrajectoryWidget widget;
|
|
widget.resize(800, 600);
|
|
widget.setWindowTitle("3D Trajectory Viewer");
|
|
|
|
QVector3D originalTarget = original.last().position;
|
|
|
|
// Ziel streuen
|
|
QVector3D newTarget = originalTarget + QVector3D( 5.0, 5.0, 5.0);
|
|
|
|
auto warped = TrajectoryWarp::warpToNewTarget(original, newTarget);
|
|
|
|
sim.speichereInCSV(1,warped, "flugbahn.csv");
|
|
|
|
// Kurve 1
|
|
Curve c1 = trajectoryPointsToCurve(original, QVector3D(1, 1, 0));
|
|
|
|
// Kurve 2
|
|
Curve c2 = trajectoryPointsToCurve(warped, QVector3D(0, 1, 1));
|
|
|
|
QVector<Curve> curves;
|
|
curves.append(c1);
|
|
curves.append(c2);
|
|
widget.setCurves(curves);
|
|
widget.show();
|
|
|
|
return app.exec();
|
|
}
|