UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

46 lines (42 loc) 1.13 kB
import InstanceNode from './InstanceNode.js'; import { nodeProxy } from '../tsl/TSLBase.js'; /** * This is a special version of `InstanceNode` which requires the usage of {@link InstancedMesh}. * It allows an easier setup of the instance node. * * @augments InstanceNode */ class InstancedMeshNode extends InstanceNode { static get type() { return 'InstancedMeshNode'; } /** * Constructs a new instanced mesh node. * * @param {InstancedMesh} instancedMesh - The instanced mesh. */ constructor(instancedMesh) { const { count, instanceMatrix, instanceColor } = instancedMesh; super(count, instanceMatrix, instanceColor); /** * A reference to the instanced mesh. * * @type {InstancedMesh} */ this.instancedMesh = instancedMesh; } } export default InstancedMeshNode; /** * TSL function for creating an instanced mesh node. * * @tsl * @function * @param {InstancedMesh} instancedMesh - The instancedMesh. * @returns {InstancedMeshNode} */ export const instancedMesh = /*@__PURE__*/nodeProxy(InstancedMeshNode).setParameterLength(1);