@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
33 lines (30 loc) • 1.42 kB
text/typescript
import {Object3D} from 'three';
import {ObjectNamedFunction2} from './_Base';
// import {incrementRefSafely} from '../../core/reactivity/CoreReactivity';
import {getOrCreateObjectAttributeRef} from '../../core/reactivity/ObjectAttributeReactivityCreateRef';
import {AttribValue} from '../../types/GlobalTypes';
import {ParamConvertibleJsType} from '../nodes/utils/io/connections/Js';
export class getObjectAttributePrevious extends ObjectNamedFunction2<[string, ParamConvertibleJsType]> {
static override type() {
return 'getObjectAttributePrevious';
}
func(object3D: Object3D, attribName: string, type: ParamConvertibleJsType): AttribValue {
const _ref = getOrCreateObjectAttributeRef(object3D, attribName, type);
// _dummyReadAttributeRefVal(_ref.value);
return _ref.previous.value; // CoreObject.attribValue(object3D, attribName);
}
}
// export class getObjectAttribute extends ObjectNamedFunction1<[string]> {
// static override type() {
// return 'getObjectAttribute';
// }
// func(object3D: Object3D, attribName: string): any {
// const _ref = _getObjectAttributeRef(object3D, attribName);
// _dummyReadAttributeRefVal(_ref.value);
// return CoreObject.attribValuep(object3D, attribName);
// }
// }
// export function touchObjectAttribute(object3D: Object3D, attribName: string) {
// // const _ref = _getObjectAttributeRef(object3D, attribName);
// // incrementRefSafely(_ref);
// }