UNPKG

@polygonjs/polygonjs

Version:

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

24 lines (23 loc) 913 B
"use strict"; import { TypedNode } from "../../engine/nodes/_Base"; import { CameraAttribute } from "./CoreCamera"; import { isNumber } from "../Type"; import { ObjType } from "../../engine/poly/registers/nodes/types/Obj"; import { coreObjectClassFactory } from "../geometry/CoreObjectFactory"; export class CoreCameraRenderSceneController { static isRenderSceneNode(node) { return node.type() == ObjType.SCENE; } static renderScene(options) { const { scene, camera } = options; let sceneNode; const foundNodeId = coreObjectClassFactory(camera).attribValue(camera, CameraAttribute.RENDER_SCENE_NODE_ID); if (foundNodeId && isNumber(foundNodeId)) { const foundNode = scene.graph.nodeFromId(foundNodeId); if (foundNode && foundNode instanceof TypedNode && this.isRenderSceneNode(foundNode)) { sceneNode = foundNode; return sceneNode.object; } } } }