@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
24 lines (23 loc) • 810 B
JavaScript
;
import { Vector3 } from "three";
import { touchObjectProperty, GetObjectPropertyJsNodeInputName } from "../../core/reactivity/ObjectPropertyReactivity";
import { ObjectNamedFunction4 } from "./_Base";
const _scale = new Vector3();
export class setObjectScale extends ObjectNamedFunction4 {
static type() {
return "setObjectScale";
}
func(object3D, scale, mult, lerp, updateMatrix) {
if (lerp >= 1) {
object3D.scale.copy(scale).multiplyScalar(mult);
} else {
_scale.copy(scale).multiplyScalar(mult);
object3D.scale.lerp(_scale, lerp);
}
touchObjectProperty(object3D, GetObjectPropertyJsNodeInputName.scale);
if (updateMatrix) {
object3D.updateMatrix();
touchObjectProperty(object3D, GetObjectPropertyJsNodeInputName.matrix);
}
}
}