@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
25 lines (24 loc) • 1.8 kB
TypeScript
import { PolyScene } from '../scene/PolyScene';
import { CoreObjectType, ObjectContent } from '../../core/geometry/ObjectContent';
import { Object3D } from 'three';
interface HookHandler {
graphNodeId(): number;
updateObjectOnAdd(object: ObjectContent<CoreObjectType>, parent: ObjectContent<CoreObjectType>): void;
updateObjectOnRemove(object: ObjectContent<CoreObjectType>, parent: ObjectContent<CoreObjectType>): void;
}
type ObjectOnAddRemoveCallback = (object: ObjectContent<CoreObjectType>) => void;
export declare function replaceChild(parent: Object3D, oldObject: Object3D, newObject: Object3D): void;
export declare function removeFromParent(scene: PolyScene, object: ObjectContent<CoreObjectType>): void;
export declare function addToParent(scene: PolyScene, parent: ObjectContent<CoreObjectType>, child: ObjectContent<CoreObjectType>): void;
export declare function copyBasicObjectProperties(srcObject: Object3D, destObject: Object3D): void;
export declare class PolyOnObjectsAddRemoveHooksController {
assignOnAddHookHandler(object: ObjectContent<CoreObjectType>, node: HookHandler): void;
assignOnRemoveHookHandler(object: ObjectContent<CoreObjectType>, node: HookHandler): void;
assignOnAddHookCallback(object: ObjectContent<CoreObjectType>, callback: ObjectOnAddRemoveCallback): void;
assignOnRemoveHookCallback(object: ObjectContent<CoreObjectType>, callback: ObjectOnAddRemoveCallback): void;
runOnAddHooks(scene: PolyScene, parent: ObjectContent<CoreObjectType>): void;
runOnRemoveHooks(scene: PolyScene, parent: ObjectContent<CoreObjectType>): void;
runOnAddHookOnObject(scene: PolyScene, object: ObjectContent<CoreObjectType>): void;
runOnRemoveHookOnObject(scene: PolyScene, object: ObjectContent<CoreObjectType>): void;
}
export {};