UNPKG

@polygonjs/polygonjs

Version:

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

41 lines (40 loc) 1.84 kB
import { BaseObjNodeClass } from '../_Base'; import { Object3D } from 'three'; import { DisplayNodeController, DisplayNodeControllerCallbacks } from '../../utils/DisplayNodeController'; import { Group } from 'three'; import { BaseSopNodeType } from '../../sop/_Base'; import { CoreGroup } from '../../../../core/geometry/Group'; export type OnSopGroupUpdatedHook = () => void; interface BaseObjNodeClassWithDisplayNode extends BaseObjNodeClass { displayNodeController: DisplayNodeController; } export declare class ObjChildrenDisplayController { protected node: BaseObjNodeClassWithDisplayNode; protected _childrenUuids: Set<string>; protected _sopGroup: Group<import("three").Object3DEventMap>; protected _newSpecializedObjects: Object3D[]; protected _newObjectsAreDifferent: boolean; private _scene; constructor(node: BaseObjNodeClassWithDisplayNode); private _createSopGroup; sopGroup(): Group<import("three").Object3DEventMap>; setSopGroupName(): void; dispose(): void; displayNodeControllerCallbacks(): DisplayNodeControllerCallbacks; initializeNode(): void; private _updateSopGroupHierarchy; usedInScene(): boolean; requestDisplayNodeContainer(): Promise<void>; private removeChildren; _setContentUnderSopGroup(): Promise<void>; private _notifyCamerasController; protected _addSpecializedObjects(displayNode: BaseSopNodeType, coreGroup: CoreGroup, newObjects: Object3D[]): void; private _onSopGroupUpdatedHookNames; private _onSopGroupUpdatedHooks; registerOnSopGroupUpdated(callbackName: string, callback: OnSopGroupUpdatedHook): void; private _clearHooks; deregisterOnSopGroupUpdated(callbackName: string): void; private _runOnSopGroupUpdatedHooks; onSopGroupUpdatedCallbackNames(): string[] | undefined; } export {};