summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine/scenery/resize.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/scenery/resize.js')
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/resize.js17
1 files changed, 10 insertions, 7 deletions
diff --git a/public/assets/javascripts/rectangles/engine/scenery/resize.js b/public/assets/javascripts/rectangles/engine/scenery/resize.js
index 6b2e52c..d9cce18 100644
--- a/public/assets/javascripts/rectangles/engine/scenery/resize.js
+++ b/public/assets/javascripts/rectangles/engine/scenery/resize.js
@@ -6,7 +6,7 @@ Scenery.resize = new function(){
var obj
var x, y, z, bounds
var dragging = false
- var dimensions, position, scale
+ var naturalDimension, dimension, position, scale
var oldState
var dots = [], dot, selected_dot
@@ -148,8 +148,9 @@ Scenery.resize = new function(){
selected_dot = selection[0]
dragging = true
-
- dimensions = obj.dimensions
+
+ naturalDimension = obj.naturalDimensions
+ dimension = obj.dimensions
position = new vec3(obj.mx.x, obj.mx.y, obj.mx.z)
scale = obj.mx.scale
oldState = obj.serialize()
@@ -165,7 +166,7 @@ Scenery.resize = new function(){
var width = cursor.x.magnitude()
var height = cursor.y.magnitude()
var mag = cursor.magnitude()
- var old_width = dimensions.a * scale
+ var old_width = dimension.a * scale
if (abs(width) > abs(height)) {
mag = x_sign * mag * sign(width)
@@ -173,8 +174,10 @@ Scenery.resize = new function(){
else {
mag = y_sign * mag * sign(height)
}
-
- obj.mx.scale = scale * (old_width + mag) / old_width
+
+ obj.mx.scale = ( dimension.a + mag ) / naturalDimension.a // dimension.a // scale * (old_width + mag) / old_width
+
+// console.log(scale, obj.mx.scale, dimension.a + mag, naturalDimension.a)
if (selected_dot.side & LEFT_RIGHT) {
obj.mx.x = position.a + cos(rotationY) * mag/2 * (x_sign)
@@ -192,7 +195,7 @@ Scenery.resize = new function(){
selected_dot = null
if (! editor.permissions.resize) { return }
obj.scale = obj.mx.ops.scale = obj.mx.scale
- obj.set_wall()
+ obj.dimensions.assign(obj.naturalDimensions).mul(obj.scale)
UndoStack.push({
type: 'update-scenery',