UNPKG

@polygonjs/polygonjs

Version:

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

28 lines (22 loc) 988 B
import {PolyScene} from '../PolyScene'; import {Object3D} from 'three'; import {CorePath, objectsByMask, CorePathObjCallback} from '../../../core/geometry/CorePath'; import {CoreObjectType, ObjectContent} from '../../../core/geometry/ObjectContent'; export const ROOT_NAME = '/'; export class ObjectsController { constructor(private scene: PolyScene) {} findObjectByMask<T extends CoreObjectType>(mask: string): ObjectContent<T> | undefined { return CorePath.findObjectByMask(mask, this.scene.threejsScene()); } objectsByMask<T extends CoreObjectType>(mask: string, parent?: ObjectContent<T>): ObjectContent<T>[] { return objectsByMask(mask, parent || this.scene.threejsScene(), false); } traverseObjectsWithMask<T extends CoreObjectType>( mask: string, callback: CorePathObjCallback<T>, object: Object3D | undefined, invertMask: boolean = false ) { CorePath.traverseObjectsWithMaskInObject(mask, object || this.scene.threejsScene(), callback, invertMask); } }