History

first pass creating Qt <-> QtScript interface

Heather Anderson committed 4 years ago

Commit bc6eaf21 parent bd0455463 files · +1707 −294Browse files

Showing the changes to libraries/script-engine/src/ScriptValueUtils.cpp (1 of 63 files). Show all

Unified · Split

libraries/script-engine/src/ScriptValueUtils.cpp+59−32
@@ -99,7 +99,7 @@ ScriptValue vec2ToScriptValue(ScriptEngine* engine, const glm::vec2& vec2) { · 98 unmodified lines
99 return value;99 return value;
100}100}
101 101
102void vec2FromScriptValue(const ScriptValue& object, glm::vec2& vec2) {102bool vec2FromScriptValue(const ScriptValue& object, glm::vec2& vec2) {
103 if (object.isNumber()) {103 if (object.isNumber()) {
104 vec2 = glm::vec2(object.toVariant().toFloat());104 vec2 = glm::vec2(object.toVariant().toFloat());
105 } else if (object.isArray()) {105 } else if (object.isArray()) {
@@ -122,6 +122,7 @@ void vec2FromScriptValue(const ScriptValue& object, glm::vec2& vec2) { · 16 unmodified lines
122 vec2.x = x.toVariant().toFloat();122 vec2.x = x.toVariant().toFloat();
123 vec2.y = y.toVariant().toFloat();123 vec2.y = y.toVariant().toFloat();
124 }124 }
125 return true;
125}126}
126 127
127ScriptValue vec3ToScriptValue(ScriptEngine* engine, const glm::vec3& vec3) {128ScriptValue vec3ToScriptValue(ScriptEngine* engine, const glm::vec3& vec3) {
@@ -174,7 +175,7 @@ ScriptValue vec3ColorToScriptValue(ScriptEngine* engine, const glm::vec3& vec3) · 46 unmodified lines
174 return value;175 return value;
175}176}
176 177
177void vec3FromScriptValue(const ScriptValue& object, glm::vec3& vec3) {178bool vec3FromScriptValue(const ScriptValue& object, glm::vec3& vec3) {
178 if (object.isNumber()) {179 if (object.isNumber()) {
179 vec3 = glm::vec3(object.toVariant().toFloat());180 vec3 = glm::vec3(object.toVariant().toFloat());
180 } else if (object.isString()) {181 } else if (object.isString()) {
@@ -220,6 +221,7 @@ void vec3FromScriptValue(const ScriptValue& object, glm::vec3& vec3) { · 39 unmodified lines
220 vec3.y = y.toVariant().toFloat();221 vec3.y = y.toVariant().toFloat();
221 vec3.z = z.toVariant().toFloat();222 vec3.z = z.toVariant().toFloat();
222 }223 }
224 return true;
223}225}
224 226
225ScriptValue u8vec3ToScriptValue(ScriptEngine* engine, const glm::u8vec3& vec3) {227ScriptValue u8vec3ToScriptValue(ScriptEngine* engine, const glm::u8vec3& vec3) {
@@ -272,7 +274,7 @@ ScriptValue u8vec3ColorToScriptValue(ScriptEngine* engine, const glm::u8vec3& ve · 46 unmodified lines
272 return value;274 return value;
273}275}
274 276
275void u8vec3FromScriptValue(const ScriptValue& object, glm::u8vec3& vec3) {277bool u8vec3FromScriptValue(const ScriptValue& object, glm::u8vec3& vec3) {
276 if (object.isNumber()) {278 if (object.isNumber()) {
277 vec3 = glm::vec3(object.toVariant().toUInt());279 vec3 = glm::vec3(object.toVariant().toUInt());
278 } else if (object.isString()) {280 } else if (object.isString()) {
@@ -318,6 +320,7 @@ void u8vec3FromScriptValue(const ScriptValue& object, glm::u8vec3& vec3) { · 39 unmodified lines
318 vec3.y = y.toVariant().toUInt();320 vec3.y = y.toVariant().toUInt();
319 vec3.z = z.toVariant().toUInt();321 vec3.z = z.toVariant().toUInt();
320 }322 }
323 return true;
321}324}
322 325
323ScriptValue vec4toScriptValue(ScriptEngine* engine, const glm::vec4& vec4) {326ScriptValue vec4toScriptValue(ScriptEngine* engine, const glm::vec4& vec4) {
@@ -329,11 +332,12 @@ ScriptValue vec4toScriptValue(ScriptEngine* engine, const glm::vec4& vec4) { · 5 unmodified lines
329 return obj;332 return obj;
330}333}
331 334
332void vec4FromScriptValue(const ScriptValue& object, glm::vec4& vec4) {335bool vec4FromScriptValue(const ScriptValue& object, glm::vec4& vec4) {
333 vec4.x = object.property("x").toVariant().toFloat();336 vec4.x = object.property("x").toVariant().toFloat();
334 vec4.y = object.property("y").toVariant().toFloat();337 vec4.y = object.property("y").toVariant().toFloat();
335 vec4.z = object.property("z").toVariant().toFloat();338 vec4.z = object.property("z").toVariant().toFloat();
336 vec4.w = object.property("w").toVariant().toFloat();339 vec4.w = object.property("w").toVariant().toFloat();
340 return true;
337}341}
338 342
339ScriptValue mat4toScriptValue(ScriptEngine* engine, const glm::mat4& mat4) {343ScriptValue mat4toScriptValue(ScriptEngine* engine, const glm::mat4& mat4) {
@@ -357,7 +361,7 @@ ScriptValue mat4toScriptValue(ScriptEngine* engine, const glm::mat4& mat4) { · 17 unmodified lines
357 return obj;361 return obj;
358}362}
359 363
360void mat4FromScriptValue(const ScriptValue& object, glm::mat4& mat4) {364bool mat4FromScriptValue(const ScriptValue& object, glm::mat4& mat4) {
361 mat4[0][0] = object.property("r0c0").toVariant().toFloat();365 mat4[0][0] = object.property("r0c0").toVariant().toFloat();
362 mat4[0][1] = object.property("r1c0").toVariant().toFloat();366 mat4[0][1] = object.property("r1c0").toVariant().toFloat();
363 mat4[0][2] = object.property("r2c0").toVariant().toFloat();367 mat4[0][2] = object.property("r2c0").toVariant().toFloat();
@@ -374,6 +378,7 @@ void mat4FromScriptValue(const ScriptValue& object, glm::mat4& mat4) { · 10 unmodified lines
374 mat4[3][1] = object.property("r1c3").toVariant().toFloat();378 mat4[3][1] = object.property("r1c3").toVariant().toFloat();
375 mat4[3][2] = object.property("r2c3").toVariant().toFloat();379 mat4[3][2] = object.property("r2c3").toVariant().toFloat();
376 mat4[3][3] = object.property("r3c3").toVariant().toFloat();380 mat4[3][3] = object.property("r3c3").toVariant().toFloat();
381 return true;
377}382}
378 383
379ScriptValue qVectorVec3ColorToScriptValue(ScriptEngine* engine, const QVector<glm::vec3>& vector) {384ScriptValue qVectorVec3ColorToScriptValue(ScriptEngine* engine, const QVector<glm::vec3>& vector) {
@@ -404,7 +409,7 @@ QVector<glm::vec3> qVectorVec3FromScriptValue(const ScriptValue& array) { · 24 unmodified lines
404 return newVector;409 return newVector;
405}410}
406 411
407void qVectorVec3FromScriptValue(const ScriptValue& array, QVector<glm::vec3>& vector) {412bool qVectorVec3FromScriptValue(const ScriptValue& array, QVector<glm::vec3>& vector) {
408 int length = array.property("length").toInteger();413 int length = array.property("length").toInteger();
409 414
410 for (int i = 0; i < length; i++) {415 for (int i = 0; i < length; i++) {
@@ -412,6 +417,7 @@ void qVectorVec3FromScriptValue(const ScriptValue& array, QVector<glm::vec3>& ve · 1 unmodified line
412 vec3FromScriptValue(array.property(i), newVec3);417 vec3FromScriptValue(array.property(i), newVec3);
413 vector << newVec3;418 vector << newVec3;
414 }419 }
420 return true;
415}421}
416 422
417ScriptValue quatToScriptValue(ScriptEngine* engine, const glm::quat& quat) {423ScriptValue quatToScriptValue(ScriptEngine* engine, const glm::quat& quat) {
@@ -427,7 +433,7 @@ ScriptValue quatToScriptValue(ScriptEngine* engine, const glm::quat& quat) { · 9 unmodified lines
427 return obj;433 return obj;
428}434}
429 435
430void quatFromScriptValue(const ScriptValue& object, glm::quat& quat) {436bool quatFromScriptValue(const ScriptValue& object, glm::quat& quat) {
431 quat.x = object.property("x").toVariant().toFloat();437 quat.x = object.property("x").toVariant().toFloat();
432 quat.y = object.property("y").toVariant().toFloat();438 quat.y = object.property("y").toVariant().toFloat();
433 quat.z = object.property("z").toVariant().toFloat();439 quat.z = object.property("z").toVariant().toFloat();
@@ -440,6 +446,7 @@ void quatFromScriptValue(const ScriptValue& object, glm::quat& quat) { · 6 unmodified lines
440 } else {446 } else {
441 quat = glm::quat();447 quat = glm::quat();
442 }448 }
449 return true;
443}450}
444 451
445ScriptValue qVectorQuatToScriptValue(ScriptEngine* engine, const QVector<glm::quat>& vector) {452ScriptValue qVectorQuatToScriptValue(ScriptEngine* engine, const QVector<glm::quat>& vector) {
@@ -482,12 +489,13 @@ ScriptValue qVectorQUuidToScriptValue(ScriptEngine* engine, const QVector<QUuid> · 36 unmodified lines
482 return array;489 return array;
483}490}
484 491
485void qVectorQUuidFromScriptValue(const ScriptValue& array, QVector<QUuid>& vector) {492bool qVectorQUuidFromScriptValue(const ScriptValue& array, QVector<QUuid>& vector) {
486 int length = array.property("length").toInteger();493 int length = array.property("length").toInteger();
487 494
488 for (int i = 0; i < length; i++) {495 for (int i = 0; i < length; i++) {
489 vector << array.property(i).toVariant().toUuid();496 vector << array.property(i).toVariant().toUuid();
490 }497 }
498 return true;
491}499}
492 500
493QVector<QUuid> qVectorQUuidFromScriptValue(const ScriptValue& array) {501QVector<QUuid> qVectorQUuidFromScriptValue(const ScriptValue& array) {
@@ -523,20 +531,22 @@ ScriptValue qVectorIntToScriptValue(ScriptEngine* engine, const QVector<uint32_t · 29 unmodified lines
523 return array;531 return array;
524}532}
525 533
526void qVectorFloatFromScriptValue(const ScriptValue& array, QVector<float>& vector) {534bool qVectorFloatFromScriptValue(const ScriptValue& array, QVector<float>& vector) {
527 int length = array.property("length").toInteger();535 int length = array.property("length").toInteger();
528 536
529 for (int i = 0; i < length; i++) {537 for (int i = 0; i < length; i++) {
530 vector << array.property(i).toVariant().toFloat();538 vector << array.property(i).toVariant().toFloat();
531 }539 }
540 return true;
532}541}
533 542
534void qVectorIntFromScriptValue(const ScriptValue& array, QVector<uint32_t>& vector) {543bool qVectorIntFromScriptValue(const ScriptValue& array, QVector<uint32_t>& vector) {
535 int length = array.property("length").toInteger();544 int length = array.property("length").toInteger();
536 545
537 for (int i = 0; i < length; i++) {546 for (int i = 0; i < length; i++) {
538 vector << array.property(i).toVariant().toInt();547 vector << array.property(i).toVariant().toInt();
539 }548 }
549 return true;
540}550}
541 551
542QVector<glm::quat> qVectorQuatFromScriptValue(const ScriptValue& array) {552QVector<glm::quat> qVectorQuatFromScriptValue(const ScriptValue& array) {
@@ -551,7 +561,7 @@ QVector<glm::quat> qVectorQuatFromScriptValue(const ScriptValue& array) { · 8 unmodified lines
551 return newVector;561 return newVector;
552}562}
553 563
554void qVectorQuatFromScriptValue(const ScriptValue& array, QVector<glm::quat>& vector) {564bool qVectorQuatFromScriptValue(const ScriptValue& array, QVector<glm::quat>& vector) {
555 int length = array.property("length").toInteger();565 int length = array.property("length").toInteger();
556 566
557 for (int i = 0; i < length; i++) {567 for (int i = 0; i < length; i++) {
@@ -559,6 +569,7 @@ void qVectorQuatFromScriptValue(const ScriptValue& array, QVector<glm::quat>& ve · 1 unmodified line
559 quatFromScriptValue(array.property(i), newQuat);569 quatFromScriptValue(array.property(i), newQuat);
560 vector << newQuat;570 vector << newQuat;
561 }571 }
572 return true;
562}573}
563 574
564QVector<bool> qVectorBoolFromScriptValue(const ScriptValue& array) {575QVector<bool> qVectorBoolFromScriptValue(const ScriptValue& array) {
@@ -571,12 +582,13 @@ QVector<bool> qVectorBoolFromScriptValue(const ScriptValue& array) { · 6 unmodified lines
571 return newVector;582 return newVector;
572}583}
573 584
574void qVectorBoolFromScriptValue(const ScriptValue& array, QVector<bool>& vector) {585bool qVectorBoolFromScriptValue(const ScriptValue& array, QVector<bool>& vector) {
575 int length = array.property("length").toInteger();586 int length = array.property("length").toInteger();
576 587
577 for (int i = 0; i < length; i++) {588 for (int i = 0; i < length; i++) {
578 vector << array.property(i).toBool();589 vector << array.property(i).toBool();
579 }590 }
591 return true;
580}592}
581 593
582ScriptValue qRectToScriptValue(ScriptEngine* engine, const QRect& rect) {594ScriptValue qRectToScriptValue(ScriptEngine* engine, const QRect& rect) {
@@ -588,11 +600,12 @@ ScriptValue qRectToScriptValue(ScriptEngine* engine, const QRect& rect) { · 5 unmodified lines
588 return obj;600 return obj;
589}601}
590 602
591void qRectFromScriptValue(const ScriptValue& object, QRect& rect) {603bool qRectFromScriptValue(const ScriptValue& object, QRect& rect) {
592 rect.setX(object.property("x").toVariant().toInt());604 rect.setX(object.property("x").toVariant().toInt());
593 rect.setY(object.property("y").toVariant().toInt());605 rect.setY(object.property("y").toVariant().toInt());
594 rect.setWidth(object.property("width").toVariant().toInt());606 rect.setWidth(object.property("width").toVariant().toInt());
595 rect.setHeight(object.property("height").toVariant().toInt());607 rect.setHeight(object.property("height").toVariant().toInt());
608 return true;
596}609}
597 610
598ScriptValue qRectFToScriptValue(ScriptEngine* engine, const QRectF& rect) {611ScriptValue qRectFToScriptValue(ScriptEngine* engine, const QRectF& rect) {
@@ -604,11 +617,12 @@ ScriptValue qRectFToScriptValue(ScriptEngine* engine, const QRectF& rect) { · 5 unmodified lines
604 return obj;617 return obj;
605}618}
606 619
607void qRectFFromScriptValue(const ScriptValue& object, QRectF& rect) {620bool qRectFFromScriptValue(const ScriptValue& object, QRectF& rect) {
608 rect.setX(object.property("x").toVariant().toFloat());621 rect.setX(object.property("x").toVariant().toFloat());
609 rect.setY(object.property("y").toVariant().toFloat());622 rect.setY(object.property("y").toVariant().toFloat());
610 rect.setWidth(object.property("width").toVariant().toFloat());623 rect.setWidth(object.property("width").toVariant().toFloat());
611 rect.setHeight(object.property("height").toVariant().toFloat());624 rect.setHeight(object.property("height").toVariant().toFloat());
625 return true;
612}626}
613 627
614ScriptValue qColorToScriptValue(ScriptEngine* engine, const QColor& color) {628ScriptValue qColorToScriptValue(ScriptEngine* engine, const QColor& color) {
@@ -639,7 +653,7 @@ ScriptValue aaCubeToScriptValue(ScriptEngine* engine, const AACube& aaCube) { · 24 unmodified lines
639 return obj;653 return obj;
640}654}
641 655
642void aaCubeFromScriptValue(const ScriptValue& object, AACube& aaCube) {656bool aaCubeFromScriptValue(const ScriptValue& object, AACube& aaCube) {
643 glm::vec3 corner;657 glm::vec3 corner;
644 corner.x = object.property("x").toVariant().toFloat();658 corner.x = object.property("x").toVariant().toFloat();
645 corner.y = object.property("y").toVariant().toFloat();659 corner.y = object.property("y").toVariant().toFloat();
@@ -647,9 +661,10 @@ void aaCubeFromScriptValue(const ScriptValue& object, AACube& aaCube) { · 1 unmodified line
647 float scale = object.property("scale").toVariant().toFloat();661 float scale = object.property("scale").toVariant().toFloat();
648 662
649 aaCube.setBox(corner, scale);663 aaCube.setBox(corner, scale);
664 return true;
650}665}
651 666
652void qColorFromScriptValue(const ScriptValue& object, QColor& color) {667bool qColorFromScriptValue(const ScriptValue& object, QColor& color) {
653 if (object.isNumber()) {668 if (object.isNumber()) {
654 color.setRgb(object.toUInt32());669 color.setRgb(object.toUInt32());
655 670
@@ -661,14 +676,16 @@ void qColorFromScriptValue(const ScriptValue& object, QColor& color) { · 5 unmodified lines
661 color.setRgb(object.property("red").toInt32(), object.property("green").toInt32(), object.property("blue").toInt32(),676 color.setRgb(object.property("red").toInt32(), object.property("green").toInt32(), object.property("blue").toInt32(),
662 alphaValue.isNumber() ? alphaValue.toInt32() : 255);677 alphaValue.isNumber() ? alphaValue.toInt32() : 255);
663 }678 }
679 return true;
664}680}
665 681
666ScriptValue qURLToScriptValue(ScriptEngine* engine, const QUrl& url) {682ScriptValue qURLToScriptValue(ScriptEngine* engine, const QUrl& url) {
667 return engine->newValue(url.toString());683 return engine->newValue(url.toString());
668}684}
669 685
670void qURLFromScriptValue(const ScriptValue& object, QUrl& url) {686bool qURLFromScriptValue(const ScriptValue& object, QUrl& url) {
671 url = object.toString();687 url = object.toString();
688 return true;
672}689}
673 690
674ScriptValue pickRayToScriptValue(ScriptEngine* engine, const PickRay& pickRay) {691ScriptValue pickRayToScriptValue(ScriptEngine* engine, const PickRay& pickRay) {
@@ -680,7 +697,7 @@ ScriptValue pickRayToScriptValue(ScriptEngine* engine, const PickRay& pickRay) { · 5 unmodified lines
680 return obj;697 return obj;
681}698}
682 699
683void pickRayFromScriptValue(const ScriptValue& object, PickRay& pickRay) {700bool pickRayFromScriptValue(const ScriptValue& object, PickRay& pickRay) {
684 ScriptValue originValue = object.property("origin");701 ScriptValue originValue = object.property("origin");
685 if (originValue.isValid()) {702 if (originValue.isValid()) {
686 auto x = originValue.property("x");703 auto x = originValue.property("x");
@@ -703,6 +720,7 @@ void pickRayFromScriptValue(const ScriptValue& object, PickRay& pickRay) { · 16 unmodified lines
703 pickRay.direction.z = z.toVariant().toFloat();720 pickRay.direction.z = z.toVariant().toFloat();
704 }721 }
705 }722 }
723 return true;
706}724}
707 725
708/**jsdoc726/**jsdoc
@@ -726,8 +744,9 @@ ScriptValue collisionToScriptValue(ScriptEngine* engine, const Collision& collis · 17 unmodified lines
726 return obj;744 return obj;
727}745}
728 746
729void collisionFromScriptValue(const ScriptValue& object, Collision& collision) {747bool collisionFromScriptValue(const ScriptValue& object, Collision& collision) {
730 // TODO: implement this when we know what it means to accept collision events from JS748 // TODO: implement this when we know what it means to accept collision events from JS
749 return false;
731}750}
732 751
733ScriptValue quuidToScriptValue(ScriptEngine* engine, const QUuid& uuid) {752ScriptValue quuidToScriptValue(ScriptEngine* engine, const QUuid& uuid) {
@@ -738,14 +757,15 @@ ScriptValue quuidToScriptValue(ScriptEngine* engine, const QUuid& uuid) { · 4 unmodified lines
738 return obj;757 return obj;
739}758}
740 759
741void quuidFromScriptValue(const ScriptValue& object, QUuid& uuid) {760bool quuidFromScriptValue(const ScriptValue& object, QUuid& uuid) {
742 if (object.isNull()) {761 if (object.isNull()) {
743 uuid = QUuid();762 uuid = QUuid();
744 return;763 return true;
745 }764 }
746 QString uuidAsString = object.toVariant().toString();765 QString uuidAsString = object.toVariant().toString();
747 QUuid fromString(uuidAsString);766 QUuid fromString(uuidAsString);
748 uuid = fromString;767 uuid = fromString;
768 return true;
749}769}
750 770
751/**jsdoc771/**jsdoc
@@ -761,9 +781,10 @@ ScriptValue qSizeFToScriptValue(ScriptEngine* engine, const QSizeF& qSizeF) { · 9 unmodified lines
761 return obj;781 return obj;
762}782}
763 783
764void qSizeFFromScriptValue(const ScriptValue& object, QSizeF& qSizeF) {784bool qSizeFFromScriptValue(const ScriptValue& object, QSizeF& qSizeF) {
765 qSizeF.setWidth(object.property("width").toVariant().toFloat());785 qSizeF.setWidth(object.property("width").toVariant().toFloat());
766 qSizeF.setHeight(object.property("height").toVariant().toFloat());786 qSizeF.setHeight(object.property("height").toVariant().toFloat());
787 return true;
767}788}
768 789
769/**jsdoc790/**jsdoc
@@ -802,16 +823,18 @@ ScriptValue animationDetailsToScriptValue(ScriptEngine* engine, const AnimationD · 32 unmodified lines
802 return obj;823 return obj;
803}824}
804 825
805void animationDetailsFromScriptValue(const ScriptValue& object, AnimationDetails& details) {826bool animationDetailsFromScriptValue(const ScriptValue& object, AnimationDetails& details) {
806 // nothing for now...827 // nothing for now...
828 return false;
807}829}
808 830
809ScriptValue meshToScriptValue(ScriptEngine* engine, MeshProxy* const& in) {831ScriptValue meshToScriptValue(ScriptEngine* engine, MeshProxy* const& in) {
810 return engine->newQObject(in, ScriptEngine::QtOwnership);832 return engine->newQObject(in, ScriptEngine::QtOwnership);
811}833}
812 834
813void meshFromScriptValue(const ScriptValue& value, MeshProxy*& out) {835bool meshFromScriptValue(const ScriptValue& value, MeshProxy*& out) {
814 out = qobject_cast<MeshProxy*>(value.toQObject());836 out = qobject_cast<MeshProxy*>(value.toQObject());
837 return true;
815}838}
816 839
817ScriptValue meshesToScriptValue(ScriptEngine* engine, const MeshProxyList& in) {840ScriptValue meshesToScriptValue(ScriptEngine* engine, const MeshProxyList& in) {
@@ -822,7 +845,7 @@ ScriptValue meshesToScriptValue(ScriptEngine* engine, const MeshProxyList& in) { · 4 unmodified lines
822 return result;845 return result;
823}846}
824 847
825void meshesFromScriptValue(const ScriptValue& value, MeshProxyList& out) {848bool meshesFromScriptValue(const ScriptValue& value, MeshProxyList& out) {
826 ScriptValueIteratorPointer itr(value.newIterator());849 ScriptValueIteratorPointer itr(value.newIterator());
827 850
828 qDebug() << "in meshesFromScriptValue, value.length =" << value.property("length").toInt32();851 qDebug() << "in meshesFromScriptValue, value.length =" << value.property("length").toInt32();
@@ -836,6 +859,7 @@ void meshesFromScriptValue(const ScriptValue& value, MeshProxyList& out) { · 7 unmodified lines
836 qDebug() << "null meshProxy";859 qDebug() << "null meshProxy";
837 }860 }
838 }861 }
862 return true;
839}863}
840 864
841/**jsdoc865/**jsdoc
@@ -849,8 +873,8 @@ ScriptValue meshFaceToScriptValue(ScriptEngine* engine, const MeshFace& meshFace · 7 unmodified lines
849 return obj;873 return obj;
850}874}
851 875
852void meshFaceFromScriptValue(const ScriptValue& object, MeshFace& meshFaceResult) {876bool meshFaceFromScriptValue(const ScriptValue& object, MeshFace& meshFaceResult) {
853 qVectorIntFromScriptValue(object.property("vertices"), meshFaceResult.vertexIndices);877 return qVectorIntFromScriptValue(object.property("vertices"), meshFaceResult.vertexIndices);
854}878}
855 879
856ScriptValue qVectorMeshFaceToScriptValue(ScriptEngine* engine, const QVector<MeshFace>& vector) {880ScriptValue qVectorMeshFaceToScriptValue(ScriptEngine* engine, const QVector<MeshFace>& vector) {
@@ -861,7 +885,7 @@ ScriptValue qVectorMeshFaceToScriptValue(ScriptEngine* engine, const QVector<Mes · 4 unmodified lines
861 return array;885 return array;
862}886}
863 887
864void qVectorMeshFaceFromScriptValue(const ScriptValue& array, QVector<MeshFace>& result) {888bool qVectorMeshFaceFromScriptValue(const ScriptValue& array, QVector<MeshFace>& result) {
865 int length = array.property("length").toInteger();889 int length = array.property("length").toInteger();
866 result.clear();890 result.clear();
867 891
@@ -870,18 +894,21 @@ void qVectorMeshFaceFromScriptValue(const ScriptValue& array, QVector<MeshFace>& · 2 unmodified lines
870 meshFaceFromScriptValue(array.property(i), meshFace);894 meshFaceFromScriptValue(array.property(i), meshFace);
871 result << meshFace;895 result << meshFace;
872 }896 }
897 return true;
873}898}
874 899
875ScriptValue stencilMaskModeToScriptValue(ScriptEngine* engine, const StencilMaskMode& stencilMode) {900ScriptValue stencilMaskModeToScriptValue(ScriptEngine* engine, const StencilMaskMode& stencilMode) {
876 return engine->newValue((int)stencilMode);901 return engine->newValue((int)stencilMode);
877}902}
878 903
879void stencilMaskModeFromScriptValue(const ScriptValue& object, StencilMaskMode& stencilMode) {904bool stencilMaskModeFromScriptValue(const ScriptValue& object, StencilMaskMode& stencilMode) {
880 stencilMode = StencilMaskMode(object.toVariant().toInt());905 stencilMode = StencilMaskMode(object.toVariant().toInt());
906 return true;
881}907}
882 908
883void promiseFromScriptValue(const ScriptValue& object, std::shared_ptr<MiniPromise>& promise) {909bool promiseFromScriptValue(const ScriptValue& object, std::shared_ptr<MiniPromise>& promise) {
884 Q_ASSERT(false);910 Q_ASSERT(false);
911 return false;
885}912}
886ScriptValue promiseToScriptValue(ScriptEngine* engine, const std::shared_ptr<MiniPromise>& promise) {913ScriptValue promiseToScriptValue(ScriptEngine* engine, const std::shared_ptr<MiniPromise>& promise) {
887 return engine->newQObject(promise.get());914 return engine->newQObject(promise.get());
@@ -891,8 +918,8 @@ ScriptValue EntityItemIDtoScriptValue(ScriptEngine* engine, const EntityItemID& · 3 unmodified lines
891 return quuidToScriptValue(engine, id);918 return quuidToScriptValue(engine, id);
892}919}
893 920
894void EntityItemIDfromScriptValue(const ScriptValue &object, EntityItemID& id) {921bool EntityItemIDfromScriptValue(const ScriptValue& object, EntityItemID& id) {
895 quuidFromScriptValue(object, id);922 return quuidFromScriptValue(object, id);
896}923}
897 924
898QVector<EntityItemID> qVectorEntityItemIDFromScriptValue(const ScriptValue& array) {925QVector<EntityItemID> qVectorEntityItemIDFromScriptValue(const ScriptValue& array) {