UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

24 lines (23 loc) 810 B
"use strict"; 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); } } }