summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-02-07 18:08:29 +0000
committerMike Krus <mike.krus@kdab.com>2020-02-07 18:10:43 +0000
commitb0eb152b82cdd9658154ff7d9ef9e764eccc1ebd (patch)
treed754ad4412d5c1d26caedd54f2455f3e27cbbd46 /tools
parent137b0cbbc746eecc6dd6a93f9a268f8d42c96bcc (diff)
parentfa6799f63f3211300705b814b97716ca689d4bfa (diff)
Merge remote-tracking branch 5.15 into dev
Diffstat (limited to 'tools')
-rw-r--r--tools/qgltf/qgltf.cpp12
-rw-r--r--tools/utils/exporters/blender/qt3d_animation_export.py14
-rw-r--r--tools/utils/exporters/blender/qt3d_armature_export.py17
-rw-r--r--tools/utils/exporters/blender/qt3d_path_export.py19
4 files changed, 48 insertions, 14 deletions
diff --git a/tools/qgltf/qgltf.cpp b/tools/qgltf/qgltf.cpp
index 814ae7e27..71cdb6b5e 100644
--- a/tools/qgltf/qgltf.cpp
+++ b/tools/qgltf/qgltf.cpp
@@ -2449,10 +2449,16 @@ void GltfExporter::save(const QString &inputFilename)
QString gltfName = opts.outDir + basename + QStringLiteral(".qgltf");
f.setFileName(gltfName);
+
if (opts.showLog)
qDebug().noquote() << "Writing" << gltfName;
- if (f.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)) {
+ const QIODevice::OpenMode openMode
+ = QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text;
+ const QByteArray json
+ = m_doc.toJson(opts.compact ? QJsonDocument::Compact : QJsonDocument::Indented);
+
+ if (f.open(openMode)) {
m_files.insert(QFileInfo(f.fileName()).fileName());
QByteArray json = m_doc.toJson(opts.compact ? QJsonDocument::Compact : QJsonDocument::Indented);
f.write(json);
@@ -2499,6 +2505,10 @@ int main(int argc, char **argv)
cmdLine.setApplicationDescription(QString::fromUtf8(description));
QCommandLineOption outDirOpt(QStringLiteral("d"), QStringLiteral("Place all output data into <dir>"), QStringLiteral("dir"));
cmdLine.addOption(outDirOpt);
+#ifndef QT_BOOTSTRAPPED
+ QCommandLineOption binOpt(QStringLiteral("b"), QStringLiteral("Store binary JSON data in the .qgltf file"));
+ cmdLine.addOption(binOpt);
+#endif
QCommandLineOption compactOpt(QStringLiteral("m"), QStringLiteral("Store compact JSON in the .qgltf file"));
cmdLine.addOption(compactOpt);
QCommandLineOption compOpt(QStringLiteral("c"), QStringLiteral("qCompress() vertex/index data in the .bin file"));
diff --git a/tools/utils/exporters/blender/qt3d_animation_export.py b/tools/utils/exporters/blender/qt3d_animation_export.py
index b1987ea95..1e2909c1a 100644
--- a/tools/utils/exporters/blender/qt3d_animation_export.py
+++ b/tools/utils/exporters/blender/qt3d_animation_export.py
@@ -41,8 +41,8 @@
bl_info = {
"name": "Qt3D Animation Exporter",
"author": "Sean Harmer <sean.harmer@kdab.com>, Paul Lemire <paul.lemire@kdab.com>",
- "version": (0, 4),
- "blender": (2, 72, 0),
+ "version": (0, 5),
+ "blender": (2, 80, 0),
"location": "File > Export > Qt3D Animation (.json)",
"description": "Export animations to json to use with Qt3D",
"warning": "",
@@ -426,11 +426,17 @@ def createBlenderMenu(self, context):
# Register against Blender
def register():
bpy.utils.register_class(Qt3DExporter)
- bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.append(createBlenderMenu)
def unregister():
bpy.utils.unregister_class(Qt3DExporter)
- bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.remove(createBlenderMenu)
# Handle running the script from Blender's text editor.
if (__name__ == "__main__"):
diff --git a/tools/utils/exporters/blender/qt3d_armature_export.py b/tools/utils/exporters/blender/qt3d_armature_export.py
index de5583220..cea28ad5e 100644
--- a/tools/utils/exporters/blender/qt3d_armature_export.py
+++ b/tools/utils/exporters/blender/qt3d_armature_export.py
@@ -41,8 +41,8 @@
bl_info = {
"name": "Qt3D Armature Exporter",
"author": "Sean Harmer <sean.harmer@kdab.com>, Robert Brock <robert.brock@kdab.com>",
- "version": (0, 1),
- "blender": (2, 78, 0),
+ "version": (0, 2),
+ "blender": (2, 80, 0),
"location": "File > Export > Qt3D Armature Exporter (.json)",
"description": "Export Armature to json to use with Qt3D",
"warning": "",
@@ -75,6 +75,9 @@ def jsonBuilder():
ob = bpy.context.object.data
+ if not hasattr(ob, 'bones'):
+ return bonesList
+
for bone in ob.bones:
#check parent exists
@@ -146,11 +149,17 @@ def createBlenderMenu(self, context):
# Register against Blender
def register():
bpy.utils.register_class(Qt3DArmatureExporter)
- bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.append(createBlenderMenu)
def unregister():
bpy.utils.unregister_class(Qt3DArmatureExporter)
- bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.remove(createBlenderMenu)
# Handle running the script from Blender's text editor.
if (__name__ == "__main__"):
diff --git a/tools/utils/exporters/blender/qt3d_path_export.py b/tools/utils/exporters/blender/qt3d_path_export.py
index 7c42fac9a..edb1bc8fa 100644
--- a/tools/utils/exporters/blender/qt3d_path_export.py
+++ b/tools/utils/exporters/blender/qt3d_path_export.py
@@ -41,8 +41,8 @@
bl_info = {
"name": "Qt3D Path Exporter",
"author": "Sean Harmer <sean.harmer@kdab.com>, Robert Brock <robert.brock@kdab.com>",
- "version": (0, 1),
- "blender": (2, 78, 0),
+ "version": (0, 2),
+ "blender": (2, 80, 0),
"location": "File > Export > Qt3D Path Exporter (.json)",
"description": "Export path to json to use with Qt3D",
"warning": "",
@@ -73,6 +73,9 @@ def jsonBuilder():
obj = bpy.context.object
curve = obj.data
+ if not hasattr(curve, 'splines'):
+ return pathList
+
spline = curve.splines.active
for point in spline.points:
@@ -93,7 +96,7 @@ class Qt3DPathDataConverter:
return jsonData
-class Qt3DTDPathExporter(bpy.types.Operator, ExportHelper):
+class Qt3DPathExporter(bpy.types.Operator, ExportHelper):
"""Qt3D Exporter"""
bl_idname = "export_scene.qt3d_td_path_exporter";
bl_label = "Qt3DPathExporter";
@@ -126,11 +129,17 @@ def createBlenderMenu(self, context):
# Register against Blender
def register():
bpy.utils.register_class(Qt3DPathExporter)
- bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.append(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.append(createBlenderMenu)
def unregister():
bpy.utils.unregister_class(Qt3DPathExporter)
- bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ if bpy.app.version < (2, 80, 0):
+ bpy.types.INFO_MT_file_export.remove(createBlenderMenu)
+ else:
+ bpy.types.TOPBAR_MT_file_export.remove(createBlenderMenu)
# Handle running the script from Blender's text editor.
if (__name__ == "__main__"):