@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
37 lines (36 loc) • 1.46 kB
TypeScript
import { Object3D, Vector3, Quaternion, Matrix4, Material, Euler } from 'three';
import { Ref } from '@vue/reactivity';
export declare enum GetObjectPropertyJsNodeInputName {
position = "position",
rotation = "rotation",
quaternion = "quaternion",
scale = "scale",
matrix = "matrix",
visible = "visible",
castShadow = "castShadow",
receiveShadow = "receiveShadow",
frustumCulled = "frustumCulled",
up = "up",
matrixAutoUpdate = "matrixAutoUpdate",
material = "material"
}
export declare const OBJECT_VECTOR3_PROPERTIES: GetObjectPropertyJsNodeInputName[];
export declare const OBJECT_BOOLEAN_PROPERTIES: GetObjectPropertyJsNodeInputName[];
export declare const OBJECT_TRANSFORM_PROPERTIES: GetObjectPropertyJsNodeInputName[];
export interface PropertyType {
position: Vector3;
rotation: Euler;
quaternion: Quaternion;
scale: Vector3;
matrix: Matrix4;
visible: boolean;
castShadow: boolean;
receiveShadow: boolean;
frustumCulled: boolean;
up: Vector3;
matrixAutoUpdate: boolean;
material: Material;
}
export declare function getObjectPropertyRef<K extends keyof PropertyType>(object3D: Object3D, propertyName: K): Ref<number>;
export declare function touchObjectProperties(object3D: Object3D, propertyNames: Array<keyof PropertyType>): void;
export declare function touchObjectProperty<K extends keyof PropertyType>(object3D: Object3D, propertyName: K): void;