UNPKG

three

Version:

JavaScript 3D library

51 lines (38 loc) 1.1 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 );