aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorccolin2020-12-22 18:15:19 +0100
committerccolin2020-12-22 18:15:19 +0100
commitc0116528a7b618d185ac688b31e0fa8752924375 (patch)
treeb4d4e5132d63dd9c8282847bc8b6a5398848bf6d /src
parent1026231bb4a413e80359413182da22655c36555d (diff)
use Qt resources for the drone model
Diffstat (limited to 'src')
-rw-r--r--src/drone_controller.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/drone_controller.cc b/src/drone_controller.cc
index 406a031..c625ca0 100644
--- a/src/drone_controller.cc
+++ b/src/drone_controller.cc
@@ -6,6 +6,7 @@
#include <QJsonArray>
#include <QDebug>
+#include <QFile>
Waypoint::Waypoint(unsigned frame, QVector3D pos)
@@ -25,12 +26,19 @@ OpenGLMesh *Drone::mesh = nullptr;
Drone::Drone() {
if (!mesh_initialized) {
- tinyobj::ObjReaderConfig reader_config;
- reader_config.mtl_search_path = "../mdl/"; // Path to material files
+ QFile obj_file(":/mdl/dji600.obj");
+ QFile mtl_file(":/mdl/dji600.mtl");
+ obj_file.open(QIODevice::ReadOnly | QIODevice::Text);
+ mtl_file.open(QIODevice::ReadOnly | QIODevice::Text);
+ std::string obj = obj_file.readAll().toStdString();
+ std::string mtl = mtl_file.readAll().toStdString();
+ tinyobj::ObjReaderConfig cfg;
+ cfg.triangulate = true;
+ cfg.vertex_color = false;
tinyobj::ObjReader reader;
- if (!reader.ParseFromFile("../mdl/dji600.obj", reader_config)) {
+ if (!reader.ParseFromString(obj, mtl, cfg)) {
if (!reader.Error().empty()) {
- qWarning() << "Erreur lors de la lecture de ../mdl/dji600.obj";
+ qWarning() << "Erreur lors de la lecture de du modèle";
}
exit(1);
}