summaryrefslogtreecommitdiffstats
path: root/util/qt3d/modeltweak/qml/fileHandling.js
blob: 3b8b71372765d74bcb0f84b9c6dd67ff014101c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
function save_qml(closePrompt) {

    var effectData = "";
    if (useCustomEffect) {
        effectData +=
                "    effect: Effect {\n" +
                "        decal: " + customEffect.decal + "\n" +
                "        blending: " + customEffect.blending + "\n";

        if (useCustomMaterial) {
            effectData +=
                    "        material: Material {\n" +
                    "            ambientColor: \"" + modelMaterial.ambientColor + "\"\n" +
                    "            diffuseColor: \"" + modelMaterial.diffuseColor + "\"\n" +
                    "            specularColor: \"" + modelMaterial.specularColor + "\"\n" +
                    "            shininess: " + modelMaterial.shininess + "\n" +
                    "            textureUrl: \"" + modelMaterial.textureUrl + "\"\n" +
                    "        }\n"
        } else {
            effectData +=
                    "        color: \"" + modelEffect.color + "\"\n" +
                    "        texture: \"" + modelEffect.texture + "\"\n"
        }

        effectData += "    }\n"
    }

    var saveData =
            "//                 --------|  WARNING  |--------!!\n" +
            "// This is a generated file.  Modifying the text or layout of \n" +
            "// this file will mean that the Model-Tweaker application will no \n" +
            "// longer be able to read it. \n\n" +
            "// Changing numeric values is allowable, though care should be taken\n" +
            "// not to inadvertantly change the file structure.\n\n" +
            "import QtQuick 1.0\n" +
            "import Qt3D 1.0\n" +
            "\n" +
            "Item3D {\n" +
            "    Translation3D {\n" +
            "        id: transformTranslate\n" +
            "        translate: Qt.vector3d(" +
                transformTranslate.translate.x + ", " +
                transformTranslate.translate.y + ", " +
                transformTranslate.translate.z + ")\n" +
            "    }\n" +
            "\n" +
            "    Rotation3D {\n" +
            "        id: transformRotateX\n" +
            "        angle: " + transformRotateX.angle + "\n" +
            "        axis: Qt.vector3d(1, 0, 0)\n" +
            "    }\n" +
            "\n" +
            "    Rotation3D {\n" +
            "        id: transformRotateY\n" +
            "        angle: " + transformRotateY.angle + "\n" +
            "        axis: Qt.vector3d(0, 1, 0)\n" +
            "    }\n" +
            "\n" +
            "    Rotation3D {\n" +
            "        id: transformRotateZ\n" +
            "        angle: " + transformRotateZ.angle + "\n" +
            "        axis: Qt.vector3d(0, 0, 1)\n" +
            "    }\n" +
            "\n" +
            "    Scale3D {\n" +
            "        id: transformScale\n" +
            "        scale: Qt.vector3d(" +
                transformScale.scale.x + ", " +
                transformScale.scale.y + ", " +
                transformScale.scale.z + ")\n" +
            "    }\n" +
            "\n" +
            "    Mesh {\n" +
            "        id: source_mesh\n" +
            "        source: \"%1\"\n" +
            "    }\n" +
            "\n" +
            "    mesh: source_mesh\n" +
            "    transform: [\n" +
            "        transformScale,\n" +
            "        transformRotateX,\n" +
            "        transformRotateY,\n" +
            "        transformRotateZ,\n" +
            "        transformTranslate,\n" +
            "    ]\n" +
            effectData +
            "}\n";

    quickFile.filename = source_mesh.source
    quickFile.data = saveData
    if (closePrompt)
        var result = quickFile.promptSave()
    else
        result = quickFile.save()

    if (result !== "")
        console.log("If there was an error it will be after here:" + result)
}