UNPKG

@polygonjs/polygonjs

Version:

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

40 lines (35 loc) 1.18 kB
import {Object3D} from 'three'; import {PolyScene} from '../../../scene/PolyScene'; // import {BaseActorNodeType} from '../../../nodes/actor/_Base'; import {ActorBuilderNode} from '../ActorsManager'; // export function objectsForActorNode(node: BaseActorNodeType) { // const matchedObjects: Object3D[] = []; // const scene = node.scene(); // const actorsManager = scene.actorsManager; // const parentNode = actorsManager.parentActorBuilderNode(node); // scene.threejsScene().traverse((object) => { // const nodeIds = actorsManager.objectActorNodeIds(object); // if (!parentNode) { // return; // } // if (!nodeIds) { // return; // } // if (!nodeIds.includes(parentNode.graphNodeId())) { // return; // } // matchedObjects.push(object); // }); // return matchedObjects; // } export function actorNodesForObject(object: Object3D, scene: PolyScene) { const actorsManager = scene.actorsManager; const nodeIds = actorsManager.objectActorNodeIds(object); if (!nodeIds) { return; } const actorBuilderNodes = nodeIds .map((nodeId) => scene.graph.nodeFromId(nodeId) as ActorBuilderNode) .filter((node) => node); return actorBuilderNodes; }