|
@@ -199,6 +199,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
|
|
|
|
|
|
updateStoredTransformFor(node,'position');
|
|
|
updateStoredTransformFor(node,'rotation');
|
|
|
+ updateStoredTransformFor(node,'scale');
|
|
|
}
|
|
|
|
|
|
|
|
@@ -363,7 +364,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
|
|
|
var position = setFromValue(propertyValue || []);
|
|
|
node.transform.position = goog.vec.Vec3.clone(position);
|
|
|
|
|
|
- node.transform.storedPositionDirty = true;
|
|
|
+ node.transform.storedpositionDirty = true;
|
|
|
|
|
|
|
|
|
break;
|
|
@@ -373,20 +374,29 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
|
|
|
var rotation = setFromValue(propertyValue || []);
|
|
|
node.transform.rotation = goog.vec.Vec3.clone(rotation);
|
|
|
|
|
|
- node.transform.storedRotationDirty = true;
|
|
|
+ node.transform.storedrotationDirty = true;
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
case "scale":
|
|
|
- this.state.setAFrameProperty('scale', propertyValue, aframeObject);
|
|
|
+
|
|
|
+ var scale = setFromValue(propertyValue || []);
|
|
|
+ node.transform.scale = goog.vec.Vec3.clone(scale);
|
|
|
+
|
|
|
+ node.transform.storedscaleDirty = true;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
break;
|
|
|
|
|
|
|
|
|
case "animationTimeUpdated":
|
|
|
if (node.transform) {
|
|
|
- node.transform.storedPositionDirty = true;
|
|
|
- node.transform.storedRotationDirty = true;
|
|
|
+ node.transform.storedpositionDirty = true;
|
|
|
+ node.transform.storedrotationDirty = true;
|
|
|
+ node.transform.storedscaleDirty = true;
|
|
|
}
|
|
|
|
|
|
break;
|
|
@@ -854,7 +864,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
|
|
|
|
|
|
if (node.transform.position) {
|
|
|
|
|
|
- if ( node.transform.storedPositionDirty ) {
|
|
|
+ if ( node.transform.storedpositionDirty ) {
|
|
|
updateStoredTransformFor( node, 'position' );
|
|
|
}
|
|
|
|
|
@@ -867,7 +877,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
|
|
|
|
|
|
if (node.transform.rotation) {
|
|
|
|
|
|
- if ( node.transform.storedRotationDirty ) {
|
|
|
+ if ( node.transform.storedrotationDirty ) {
|
|
|
updateStoredTransformFor( node, 'rotation' );
|
|
|
}
|
|
|
|
|
@@ -883,10 +893,19 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
|
|
|
|
|
|
|
|
|
case "scale":
|
|
|
- var scale = aframeObject.getAttribute('scale');
|
|
|
- if (scale !== undefined) {
|
|
|
- value = scale
|
|
|
+
|
|
|
+ if (node.transform.scale) {
|
|
|
+
|
|
|
+ if ( node.transform.storedscaleDirty ) {
|
|
|
+ updateStoredTransformFor( node, 'scale' );
|
|
|
}
|
|
|
+
|
|
|
+ value = goog.vec.Vec3.clone(node.transform.scale);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
break;
|
|
|
|
|
|
|
|
@@ -1403,6 +1422,28 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
function updateStoredTransformFor( node, propertyName ) {
|
|
|
|
|
|
if ( node && node.aframeObj) {
|
|
@@ -1425,6 +1466,12 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
|
|
|
node.transform.storedRotationDirty = false;
|
|
|
}
|
|
|
|
|
|
+ if (propertyName == 'scale'){
|
|
|
+ let scale = (new THREE.Vector3()).copy(node.aframeObj.object3D.scale);
|
|
|
+ node.transform.scale = goog.vec.Vec3.createFromValues(scale.x, scale.y, scale.z);
|
|
|
+ node.transform.storedPositionDirty = false;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
|