Skip to content

Commit ba4420a

Browse files
committed
Avoid decomposing matrix if scale is not uniform
1 parent a127cf6 commit ba4420a

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

packages/handle/src/computations/two-pointer.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,14 @@ export function computeTwoPointerHandleTransformState(
128128
if (storeData.initialTargetParentWorldMatrix != null) {
129129
matrixHelper3.premultiply(storeData.initialTargetParentWorldMatrix)
130130
}
131-
matrixHelper3.decompose(vectorHelper3, quaterionHelper2, vectorHelper4)
132131

133132
//compute delta scale
134133
if (typeof options.scale === 'object' && (options.scale.uniform ?? false)) {
135134
scaleHelper.setScalar(deltaHelper2.length() / deltaHelper1.length())
136135
} else {
136+
//decompose the initial target world matrix
137+
matrixHelper3.decompose(vectorHelper3, quaterionHelper2, vectorHelper4)
138+
137139
//compute the initial scale axis
138140
vectorHelper1.copy(deltaHelper1).applyQuaternion(quaterionHelper2.invert()).divide(vectorHelper4)
139141
vectorHelper1.x = Math.abs(vectorHelper1.x)

0 commit comments

Comments
 (0)