UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

71 lines (64 loc) 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _NodeMaterial = _interopRequireDefault(require("./NodeMaterial.js")); var _ShadowMaskModel = _interopRequireDefault(require("../../nodes/functions/ShadowMaskModel.js")); var _ShadowMaterial = require("../ShadowMaterial.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _defaultValues = /*@__PURE__*/new _ShadowMaterial.ShadowMaterial(); /** * Node material version of {@link ShadowMaterial}. * * @augments NodeMaterial */ class ShadowNodeMaterial extends _NodeMaterial.default { static get type() { return 'ShadowNodeMaterial'; } /** * Constructs a new shadow node material. * * @param {Object} [parameters] - The configuration parameter. */ constructor(parameters) { super(); /** * This flag can be used for type testing. * * @type {boolean} * @readonly * @default true */ this.isShadowNodeMaterial = true; /** * Set to `true` because so it's possible to implement * the shadow mask effect. * * @type {boolean} * @default true */ this.lights = true; /** * Overwritten since shadow materials are transparent * by default. * * @type {boolean} * @default true */ this.transparent = true; this.setDefaultValues(_defaultValues); this.setValues(parameters); } /** * Setups the lighting model. * * @return {ShadowMaskModel} The lighting model. */ setupLightingModel( /*builder*/ ) { return new _ShadowMaskModel.default(); } } var _default = exports.default = ShadowNodeMaterial;