UNPKG

@polygonjs/polygonjs

Version:

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

80 lines (76 loc) 2.84 kB
import {Matrix4, Object3D} from 'three'; import {touchObjectProperty, GetObjectPropertyJsNodeInputName} from '../../core/reactivity/ObjectPropertyReactivity'; import {ObjectNamedFunction0, ObjectNamedFunction1, ObjectNamedFunction2} from './_Base'; export class setObjectCastShadow extends ObjectNamedFunction1<[boolean]> { static override type() { return 'setObjectCastShadow'; } func(object3D: Object3D, castShadow: boolean): void { object3D.castShadow = castShadow; touchObjectProperty(object3D, GetObjectPropertyJsNodeInputName.castShadow); } } export class setObjectReceiveShadow extends ObjectNamedFunction1<[boolean]> { static override type() { return 'setObjectReceiveShadow'; } func(object3D: Object3D, receiveShadow: boolean): void { object3D.receiveShadow = receiveShadow; touchObjectProperty(object3D, GetObjectPropertyJsNodeInputName.receiveShadow); } } export class setObjectFrustumCulled extends ObjectNamedFunction1<[boolean]> { static override type() { return 'setObjectFrustumCulled'; } func(object3D: Object3D, frustumCulled: boolean): void { object3D.frustumCulled = frustumCulled; touchObjectProperty(object3D, 'frustumCulled'); } } export class setObjectMatrix extends ObjectNamedFunction1<[Matrix4]> { static override type() { return 'setObjectMatrix'; } func(object3D: Object3D, matrix: Matrix4): void { object3D.matrix.copy(matrix); object3D.matrix.decompose(object3D.position, object3D.quaternion, object3D.scale); touchObjectProperty(object3D, GetObjectPropertyJsNodeInputName.matrix); } } export class setObjectMatrixAutoUpdate extends ObjectNamedFunction1<[boolean]> { static override type() { return 'setObjectMatrixAutoUpdate'; } func(object3D: Object3D, matrixAutoUpdate: boolean): void { object3D.matrixAutoUpdate = matrixAutoUpdate; touchObjectProperty(object3D, GetObjectPropertyJsNodeInputName.matrixAutoUpdate); } } export class setObjectVisible extends ObjectNamedFunction1<[boolean]> { static override type() { return 'setObjectVisible'; } func(object3D: Object3D, visible: boolean): void { object3D.visible = visible; touchObjectProperty(object3D, GetObjectPropertyJsNodeInputName.visible); } } export class objectUpdateMatrix extends ObjectNamedFunction0 { static override type() { return 'objectUpdateMatrix'; } func(object3D: Object3D): void { object3D.updateMatrix(); touchObjectProperty(object3D, GetObjectPropertyJsNodeInputName.matrix); } } export class objectUpdateWorldMatrix extends ObjectNamedFunction2<[boolean, boolean]> { static override type() { return 'objectUpdateWorldMatrix'; } func(object3D: Object3D, updateParents: boolean, updateChildren: boolean): void { object3D.updateWorldMatrix(updateParents, updateChildren); touchObjectProperty(object3D, GetObjectPropertyJsNodeInputName.matrix); } }