@openhps/core
Version:
Open Hybrid Positioning System - Core component
51 lines (48 loc) • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.instancedMesh = exports.default = void 0;
var _InstanceNode = _interopRequireDefault(require("./InstanceNode.js"));
var _TSLBase = require("../tsl/TSLBase.js");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* 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.default {
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;
}
}
var _default = exports.default = InstancedMeshNode;
/**
* TSL function for creating an instanced mesh node.
*
* @tsl
* @function
* @param {InstancedMesh} instancedMesh - The instancedMesh.
* @returns {InstancedMeshNode}
*/
const instancedMesh = exports.instancedMesh = /*@__PURE__*/(0, _TSLBase.nodeProxy)(InstancedMeshNode).setParameterLength(1);