UNPKG

x_ite

Version:

X_ITE X3D Browser, view and manipulate X3D, VRML, glTF and other 3D sources in HTML.

1,107 lines (960 loc) 130 kB
/* X_ITE v11.5.0 */ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.5.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope /******/ var __webpack_require__ = {}; /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /************************************************************************/ // UNUSED EXPORTS: default ;// external "__X_ITE_X3D__ .Components" const external_X_ITE_X3D_Components_namespaceObject = __X_ITE_X3D__ .Components; var external_X_ITE_X3D_Components_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Components_namespaceObject); ;// external "__X_ITE_X3D__ .Fields" const external_X_ITE_X3D_Fields_namespaceObject = __X_ITE_X3D__ .Fields; var external_X_ITE_X3D_Fields_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Fields_namespaceObject); ;// external "__X_ITE_X3D__ .X3DFieldDefinition" const external_X_ITE_X3D_X3DFieldDefinition_namespaceObject = __X_ITE_X3D__ .X3DFieldDefinition; var external_X_ITE_X3D_X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DFieldDefinition_namespaceObject); ;// external "__X_ITE_X3D__ .FieldDefinitionArray" const external_X_ITE_X3D_FieldDefinitionArray_namespaceObject = __X_ITE_X3D__ .FieldDefinitionArray; var external_X_ITE_X3D_FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_FieldDefinitionArray_namespaceObject); ;// external "__X_ITE_X3D__ .X3DNode" const external_X_ITE_X3D_X3DNode_namespaceObject = __X_ITE_X3D__ .X3DNode; var external_X_ITE_X3D_X3DNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DNode_namespaceObject); ;// external "__X_ITE_X3D__ .X3DConstants" const external_X_ITE_X3D_X3DConstants_namespaceObject = __X_ITE_X3D__ .X3DConstants; var external_X_ITE_X3D_X3DConstants_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DConstants_namespaceObject); ;// external "__X_ITE_X3D__ .BitSet" const external_X_ITE_X3D_BitSet_namespaceObject = __X_ITE_X3D__ .BitSet; var external_X_ITE_X3D_BitSet_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_BitSet_namespaceObject); ;// external "__X_ITE_X3D__ .Namespace" const external_X_ITE_X3D_Namespace_namespaceObject = __X_ITE_X3D__ .Namespace; var external_X_ITE_X3D_Namespace_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Namespace_namespaceObject); ;// ./src/x_ite/Components/X_ITE/X3DMaterialExtensionNode.js /******************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022. * * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>. * * The copyright notice above does not evidence any actual of intended * publication of such source code, and is an unpublished work by create3000. * This material contains CONFIDENTIAL INFORMATION that is the property of * create3000. * * No permission is granted to copy, distribute, or create derivative works from * the contents of this software, in whole or in part, without the prior written * permission of create3000. * * NON-MILITARY USE ONLY * * All create3000 software are effectively free software with a non-military use * restriction. It is free. Well commented source is provided. You may reuse the * source in any way you please with the exception anything that uses it must be * marked to indicate is contains 'non-military use only' components. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>. * * This file is part of the X_ITE Project. * * X_ITE is free software: you can redistribute it and/or modify it under the * terms of the GNU General Public License version 3 only, as published by the * Free Software Foundation. * * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more * details (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU General Public License version 3 * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a * copy of the GPLv3 License. * * For Silvio, Joy and Adi. * ******************************************************************************/ function X3DMaterialExtensionNode (executionContext) { external_X_ITE_X3D_X3DNode_default().call (this, executionContext); this .addType ((external_X_ITE_X3D_X3DConstants_default()).X3DMaterialExtensionNode); this .textureBits = new (external_X_ITE_X3D_BitSet_default()) (); } Object .assign (Object .setPrototypeOf (X3DMaterialExtensionNode .prototype, (external_X_ITE_X3D_X3DNode_default()).prototype), { setTexture (index, textureNode) { index *= 4; this .textureBits .remove (index, 0xf); this .textureBits .add (index, textureNode ?.getTextureBits () ?? 0); }, getTextureBits () { return this .textureBits; }, }); Object .defineProperties (X3DMaterialExtensionNode, external_X_ITE_X3D_X3DNode_default().getStaticProperties ("X3DMaterialExtensionNode", "X_ITE", 1)); const __default__ = X3DMaterialExtensionNode; ; /* harmony default export */ const X_ITE_X3DMaterialExtensionNode = (external_X_ITE_X3D_Namespace_default().add ("X3DMaterialExtensionNode", __default__)); ;// external "__X_ITE_X3D__ .X3DCast" const external_X_ITE_X3D_X3DCast_namespaceObject = __X_ITE_X3D__ .X3DCast; var external_X_ITE_X3D_X3DCast_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DCast_namespaceObject); ;// ./src/x_ite/Browser/X_ITE/ExtensionKeys.js /******************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022. * * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>. * * The copyright notice above does not evidence any actual of intended * publication of such source code, and is an unpublished work by create3000. * This material contains CONFIDENTIAL INFORMATION that is the property of * create3000. * * No permission is granted to copy, distribute, or create derivative works from * the contents of this software, in whole or in part, without the prior written * permission of create3000. * * NON-MILITARY USE ONLY * * All create3000 software are effectively free software with a non-military use * restriction. It is free. Well commented source is provided. You may reuse the * source in any way you please with the exception anything that uses it must be * marked to indicate is contains 'non-military use only' components. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>. * * This file is part of the X_ITE Project. * * X_ITE is free software: you can redistribute it and/or modify it under the * terms of the GNU General Public License version 3 only, as published by the * Free Software Foundation. * * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more * details (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU General Public License version 3 * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a * copy of the GPLv3 License. * * For Silvio, Joy and Adi. * ******************************************************************************/ let i = 0; const ExtensionKeys = { ANISOTROPY_MATERIAL_EXTENSION: i ++, CLEARCOAT_MATERIAL_EXTENSION: i ++, DIFFUSE_TRANSMISSION_EXTENSION: i ++, DISPERSION_MATERIAL_EXTENSION: i ++, EMISSIVE_STRENGTH_MATERIAL_EXTENSION: i ++, IOR_MATERIAL_EXTENSION: i ++, IRIDESCENCE_MATERIAL_EXTENSION: i ++, SHEEN_MATERIAL_EXTENSION: i ++, SPECULAR_MATERIAL_EXTENSION: i ++, TRANSMISSION_MATERIAL_EXTENSION: i ++, UNLIT_MATERIAL_EXTENSION: i ++, VOLUME_MATERIAL_EXTENSION: i ++, }; const ExtensionKeys_default_ = ExtensionKeys; ; /* harmony default export */ const X_ITE_ExtensionKeys = (external_X_ITE_X3D_Namespace_default().add ("ExtensionKeys", ExtensionKeys_default_)); ;// ./src/x_ite/Components/X_ITE/AnisotropyMaterialExtension.js /******************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022. * * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>. * * The copyright notice above does not evidence any actual of intended * publication of such source code, and is an unpublished work by create3000. * This material contains CONFIDENTIAL INFORMATION that is the property of * create3000. * * No permission is granted to copy, distribute, or create derivative works from * the contents of this software, in whole or in part, without the prior written * permission of create3000. * * NON-MILITARY USE ONLY * * All create3000 software are effectively free software with a non-military use * restriction. It is free. Well commented source is provided. You may reuse the * source in any way you please with the exception anything that uses it must be * marked to indicate is contains 'non-military use only' components. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>. * * This file is part of the X_ITE Project. * * X_ITE is free software: you can redistribute it and/or modify it under the * terms of the GNU General Public License version 3 only, as published by the * Free Software Foundation. * * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more * details (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU General Public License version 3 * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a * copy of the GPLv3 License. * * For Silvio, Joy and Adi. * ******************************************************************************/ /** * THIS NODE IS STILL EXPERIMENTAL. */ function AnisotropyMaterialExtension (executionContext) { X_ITE_X3DMaterialExtensionNode .call (this, executionContext); this .addType ((external_X_ITE_X3D_X3DConstants_default()).AnisotropyMaterialExtension); // Units this ._anisotropyRotation .setUnit ("angle"); // Private properties this .anisotropyArray = new Float32Array (3); } Object .assign (Object .setPrototypeOf (AnisotropyMaterialExtension .prototype, X_ITE_X3DMaterialExtensionNode .prototype), { initialize () { X_ITE_X3DMaterialExtensionNode .prototype .initialize .call (this); this ._anisotropyStrength .addInterest ("set_anisotropyStrength__", this); this ._anisotropyRotation .addInterest ("set_anisotropyRotation__", this); this ._anisotropyTexture .addInterest ("set_anisotropyTexture__", this); this .set_anisotropyStrength__ (); this .set_anisotropyRotation__ (); this .set_anisotropyTexture__ (); }, set_anisotropyStrength__ () { this .anisotropyArray [2] = Math .max (this ._anisotropyStrength .getValue (), 0); }, set_anisotropyRotation__ () { const anisotropyRotation = this ._anisotropyRotation .getValue (); this .anisotropyArray [0] = Math .cos (anisotropyRotation); this .anisotropyArray [1] = Math .sin (anisotropyRotation); }, set_anisotropyTexture__ () { this .anisotropyTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._anisotropyTexture); this .setTexture (0, this .anisotropyTextureNode); }, getExtensionKey () { return X_ITE_ExtensionKeys .ANISOTROPY_MATERIAL_EXTENSION; }, getShaderOptions (options) { options .push ("X3D_ANISOTROPY_MATERIAL_EXT"); if (!+this .getTextureBits ()) return; options .push ("X3D_MATERIAL_TEXTURES"); this .anisotropyTextureNode ?.getShaderOptions (options, "ANISOTROPY", true); }, setShaderUniforms (gl, shaderObject, renderObject, textureTransformMapping, textureCoordinateMapping) { gl .uniform3fv (shaderObject .x3d_AnisotropyEXT, this .anisotropyArray); this .anisotropyTextureNode ?.setNamedShaderUniforms (gl, shaderObject, renderObject, shaderObject .x3d_AnisotropyTextureEXT, this ._anisotropyTextureMapping .getValue (), textureTransformMapping, textureCoordinateMapping); }, }); Object .defineProperties (AnisotropyMaterialExtension, { ... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("AnisotropyMaterialExtension", "X_ITE", 1, "extensions", "4.0"), fieldDefinitions: { value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([ new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "anisotropyStrength", new (external_X_ITE_X3D_Fields_default()).SFFloat ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "anisotropyRotation", new (external_X_ITE_X3D_Fields_default()).SFFloat ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "anisotropyTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "anisotropyTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()), ]), enumerable: true, }, }); const AnisotropyMaterialExtension_default_ = AnisotropyMaterialExtension; ; /* harmony default export */ const X_ITE_AnisotropyMaterialExtension = (external_X_ITE_X3D_Namespace_default().add ("AnisotropyMaterialExtension", AnisotropyMaterialExtension_default_)); ;// external "__X_ITE_X3D__ .X3DAppearanceChildNode" const external_X_ITE_X3D_X3DAppearanceChildNode_namespaceObject = __X_ITE_X3D__ .X3DAppearanceChildNode; var external_X_ITE_X3D_X3DAppearanceChildNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DAppearanceChildNode_namespaceObject); ;// ./src/x_ite/Components/X_ITE/BlendMode.js /******************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022. * * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>. * * The copyright notice above does not evidence any actual of intended * publication of such source code, and is an unpublished work by create3000. * This material contains CONFIDENTIAL INFORMATION that is the property of * create3000. * * No permission is granted to copy, distribute, or create derivative works from * the contents of this software, in whole or in part, without the prior written * permission of create3000. * * NON-MILITARY USE ONLY * * All create3000 software are effectively free software with a non-military use * restriction. It is free. Well commented source is provided. You may reuse the * source in any way you please with the exception anything that uses it must be * marked to indicate is contains 'non-military use only' components. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>. * * This file is part of the X_ITE Project. * * X_ITE is free software: you can redistribute it and/or modify it under the * terms of the GNU General Public License version 3 only, as published by the * Free Software Foundation. * * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more * details (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU General Public License version 3 * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a * copy of the GPLv3 License. * * For Silvio, Joy and Adi. * ******************************************************************************/ /** * THIS NODE IS STILL EXPERIMENTAL. */ function BlendMode (executionContext) { external_X_ITE_X3D_X3DAppearanceChildNode_default().call (this, executionContext); this .addType ((external_X_ITE_X3D_X3DConstants_default()).BlendMode); this .factorTypes = new Map (); this .equationTypes = new Map (); } Object .assign (Object .setPrototypeOf (BlendMode .prototype, (external_X_ITE_X3D_X3DAppearanceChildNode_default()).prototype), { initialize () { external_X_ITE_X3D_X3DAppearanceChildNode_default().prototype .initialize .call (this); const gl = this .getBrowser () .getContext (), ext = gl .getExtension ('EXT_blend_minmax'); this .factorTypes .set ("ZERO", gl .ZERO); this .factorTypes .set ("ONE", gl .ONE); this .factorTypes .set ("SRC_COLOR", gl .SRC_COLOR); this .factorTypes .set ("ONE_MINUS_SRC_COLOR", gl .ONE_MINUS_SRC_COLOR); this .factorTypes .set ("DST_COLOR", gl .DST_COLOR); this .factorTypes .set ("ONE_MINUS_DST_COLOR", gl .ONE_MINUS_DST_COLOR); this .factorTypes .set ("SRC_ALPHA", gl .SRC_ALPHA); this .factorTypes .set ("ONE_MINUS_SRC_ALPHA", gl .ONE_MINUS_SRC_ALPHA); this .factorTypes .set ("DST_ALPHA", gl .DST_ALPHA); this .factorTypes .set ("ONE_MINUS_DST_ALPHA", gl .ONE_MINUS_DST_ALPHA); this .factorTypes .set ("SRC_ALPHA_SATURATE", gl .SRC_ALPHA_SATURATE); this .factorTypes .set ("CONSTANT_COLOR", gl .CONSTANT_COLOR); this .factorTypes .set ("ONE_MINUS_CONSTANT_COLOR", gl .ONE_MINUS_CONSTANT_COLOR); this .factorTypes .set ("CONSTANT_ALPHA", gl .CONSTANT_ALPHA); this .factorTypes .set ("ONE_MINUS_CONSTANT_ALPHA", gl .ONE_MINUS_CONSTANT_ALPHA); this .equationTypes .set ("FUNC_ADD", gl .FUNC_ADD); this .equationTypes .set ("FUNC_SUBTRACT", gl .FUNC_SUBTRACT); this .equationTypes .set ("FUNC_REVERSE_SUBTRACT", gl .FUNC_REVERSE_SUBTRACT); this .equationTypes .set ("MIN", gl .MIN || (ext && ext .MIN_EXT)); this .equationTypes .set ("MAX", gl .MAX || (ext && ext .MAX_EXT)); this ._sourceColorFactor .addInterest ("set_sourceColorFactor__", this); this ._sourceAlphaFactor .addInterest ("set_sourceAlphaFactor__", this); this ._destinationColorFactor .addInterest ("set_destinationColorFactor__", this); this ._destinationAlphaFactor .addInterest ("set_destinationAlphaFactor__", this); this ._colorEquation .addInterest ("set_colorEquation__", this); this ._alphaEquation .addInterest ("set_alphaEquation__", this); this .set_sourceColorFactor__ (); this .set_sourceAlphaFactor__ (); this .set_destinationColorFactor__ (); this .set_destinationAlphaFactor__ (); this .set_colorEquation__ (); this .set_alphaEquation__ (); }, set_sourceColorFactor__ () { this .sourceColorFactorType = this .factorTypes .get (this ._sourceColorFactor .getValue ()) ?? this .factorTypes .get ("SRC_ALPHA"); }, set_sourceAlphaFactor__ () { this .sourceAlphaFactorType = this .factorTypes .get (this ._sourceAlphaFactor .getValue ()) ?? this .factorTypes .get ("ONE"); }, set_destinationColorFactor__ () { this .destinationColorFactorType = this .factorTypes .get (this ._destinationColorFactor .getValue ()) ?? this .factorTypes .get ("ONE_MINUS_SRC_ALPHA"); }, set_destinationAlphaFactor__ () { this .destinationAlphaFactorType = this .factorTypes .get (this ._destinationAlphaFactor .getValue ()) ?? this .factorTypes .get ("ONE_MINUS_SRC_ALPHA"); }, set_colorEquation__ () { this .colorEquationType = this .equationTypes .get (this ._colorEquation .getValue ()) ?? this .equationTypes .get ("FUNC_ADD"); }, set_alphaEquation__ () { this .alphaEquationType = this .equationTypes .get (this ._alphaEquation .getValue ()) ?? this .equationTypes .get ("FUNC_ADD"); }, enable (gl) { const color = this ._blendColor .getValue (); gl .blendColor (color .r, color .g, color .b, color .a); gl .blendFuncSeparate (this .sourceColorFactorType, this .destinationColorFactorType, this .sourceAlphaFactorType, this .destinationAlphaFactorType); gl .blendEquationSeparate (this .colorEquationType, this .alphaEquationType); }, disable (gl) { gl .blendFuncSeparate (gl .SRC_ALPHA, gl .ONE_MINUS_SRC_ALPHA, gl .ONE, gl .ONE_MINUS_SRC_ALPHA); gl .blendEquationSeparate (gl .FUNC_ADD, gl .FUNC_ADD); }, }); Object .defineProperties (BlendMode, { ... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("BlendMode", "X_ITE", 1, "blendMode", "3.3"), fieldDefinitions: { value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([ new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "blendColor", new (external_X_ITE_X3D_Fields_default()).SFColorRGBA ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "sourceColorFactor", new (external_X_ITE_X3D_Fields_default()).SFString ("SRC_ALPHA")), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "sourceAlphaFactor", new (external_X_ITE_X3D_Fields_default()).SFString ("ONE")), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "destinationColorFactor", new (external_X_ITE_X3D_Fields_default()).SFString ("ONE_MINUS_SRC_ALPHA")), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "destinationAlphaFactor", new (external_X_ITE_X3D_Fields_default()).SFString ("ONE_MINUS_SRC_ALPHA")), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "colorEquation", new (external_X_ITE_X3D_Fields_default()).SFString ("FUNC_ADD")), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "alphaEquation", new (external_X_ITE_X3D_Fields_default()).SFString ("FUNC_ADD")), ]), enumerable: true, }, }); const BlendMode_default_ = BlendMode; ; /* harmony default export */ const X_ITE_BlendMode = (external_X_ITE_X3D_Namespace_default().add ("BlendMode", BlendMode_default_)); ;// external "__X_ITE_X3D__ .Algorithm" const external_X_ITE_X3D_Algorithm_namespaceObject = __X_ITE_X3D__ .Algorithm; var external_X_ITE_X3D_Algorithm_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Algorithm_namespaceObject); ;// ./src/x_ite/Components/X_ITE/ClearcoatMaterialExtension.js /******************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022. * * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>. * * The copyright notice above does not evidence any actual of intended * publication of such source code, and is an unpublished work by create3000. * This material contains CONFIDENTIAL INFORMATION that is the property of * create3000. * * No permission is granted to copy, distribute, or create derivative works from * the contents of this software, in whole or in part, without the prior written * permission of create3000. * * NON-MILITARY USE ONLY * * All create3000 software are effectively free software with a non-military use * restriction. It is free. Well commented source is provided. You may reuse the * source in any way you please with the exception anything that uses it must be * marked to indicate is contains 'non-military use only' components. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>. * * This file is part of the X_ITE Project. * * X_ITE is free software: you can redistribute it and/or modify it under the * terms of the GNU General Public License version 3 only, as published by the * Free Software Foundation. * * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more * details (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU General Public License version 3 * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a * copy of the GPLv3 License. * * For Silvio, Joy and Adi. * ******************************************************************************/ /** * THIS NODE IS STILL EXPERIMENTAL. */ function ClearcoatMaterialExtension (executionContext) { X_ITE_X3DMaterialExtensionNode .call (this, executionContext); this .addType ((external_X_ITE_X3D_X3DConstants_default()).ClearcoatMaterialExtension); } Object .assign (Object .setPrototypeOf (ClearcoatMaterialExtension .prototype, X_ITE_X3DMaterialExtensionNode .prototype), { initialize () { X_ITE_X3DMaterialExtensionNode .prototype .initialize .call (this); this ._clearcoat .addInterest ("set_clearcoat__", this); this ._clearcoatTexture .addInterest ("set_clearcoatTexture__", this); this ._clearcoatRoughness .addInterest ("set_clearcoatRoughness__", this); this ._clearcoatRoughnessTexture .addInterest ("set_clearcoatRoughnessTexture__", this); this ._clearcoatNormalTexture .addInterest ("set_clearcoatNormalTexture__", this); this .set_clearcoat__ (); this .set_clearcoatTexture__ (); this .set_clearcoatRoughness__ (); this .set_clearcoatRoughnessTexture__ (); this .set_clearcoatNormalTexture__ (); }, set_clearcoat__ () { this .clearcoat = Math .max (this ._clearcoat .getValue (), 0); }, set_clearcoatTexture__ () { this .clearcoatTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._clearcoatTexture); this .setTexture (0, this .clearcoatTextureNode); }, set_clearcoatRoughness__ () { this .clearcoatRoughness = external_X_ITE_X3D_Algorithm_default().clamp (this ._clearcoatRoughness .getValue (), 0, 1); }, set_clearcoatRoughnessTexture__ () { this .clearcoatRoughnessTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._clearcoatRoughnessTexture); this .setTexture (1, this .clearcoatRoughnessTextureNode); }, set_clearcoatNormalTexture__ () { this .clearcoatNormalTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._clearcoatNormalTexture); this .setTexture (2, this .clearcoatNormalTextureNode); }, getExtensionKey () { return X_ITE_ExtensionKeys .CLEARCOAT_MATERIAL_EXTENSION; }, getShaderOptions (options) { options .push ("X3D_CLEARCOAT_MATERIAL_EXT"); if (!+this .getTextureBits ()) return; options .push ("X3D_MATERIAL_TEXTURES"); this .clearcoatTextureNode ?.getShaderOptions (options, "CLEARCOAT", true); this .clearcoatRoughnessTextureNode ?.getShaderOptions (options, "CLEARCOAT_ROUGHNESS", true); this .clearcoatNormalTextureNode ?.getShaderOptions (options, "CLEARCOAT_NORMAL", true); }, setShaderUniforms (gl, shaderObject, renderObject, textureTransformMapping, textureCoordinateMapping) { gl .uniform1f (shaderObject .x3d_ClearcoatEXT, this .clearcoat); gl .uniform1f (shaderObject .x3d_ClearcoatRoughnessEXT, this .clearcoatRoughness); if (!+this .getTextureBits ()) return; this .clearcoatTextureNode ?.setNamedShaderUniforms (gl, shaderObject, renderObject, shaderObject .x3d_ClearcoatTextureEXT, this ._clearcoatTextureMapping .getValue (), textureTransformMapping, textureCoordinateMapping); this .clearcoatRoughnessTextureNode ?.setNamedShaderUniforms (gl, shaderObject, renderObject, shaderObject .x3d_ClearcoatRoughnessTextureEXT, this ._clearcoatRoughnessTextureMapping .getValue (), textureTransformMapping, textureCoordinateMapping); this .clearcoatNormalTextureNode ?.setNamedShaderUniforms (gl, shaderObject, renderObject, shaderObject .x3d_ClearcoatNormalTextureEXT, this ._clearcoatNormalTextureMapping .getValue (), textureTransformMapping, textureCoordinateMapping); }, }); Object .defineProperties (ClearcoatMaterialExtension, { ... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("ClearcoatMaterialExtension", "X_ITE", 1, "extensions", "4.0"), fieldDefinitions: { value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([ new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoat", new (external_X_ITE_X3D_Fields_default()).SFFloat ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatRoughness", new (external_X_ITE_X3D_Fields_default()).SFFloat ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatRoughnessTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatRoughnessTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatNormalTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatNormalTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()), ]), enumerable: true, }, }); const ClearcoatMaterialExtension_default_ = ClearcoatMaterialExtension; ; /* harmony default export */ const X_ITE_ClearcoatMaterialExtension = (external_X_ITE_X3D_Namespace_default().add ("ClearcoatMaterialExtension", ClearcoatMaterialExtension_default_)); ;// ./src/x_ite/Components/X_ITE/DepthMode.js /******************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022. * * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>. * * The copyright notice above does not evidence any actual of intended * publication of such source code, and is an unpublished work by create3000. * This material contains CONFIDENTIAL INFORMATION that is the property of * create3000. * * No permission is granted to copy, distribute, or create derivative works from * the contents of this software, in whole or in part, without the prior written * permission of create3000. * * NON-MILITARY USE ONLY * * All create3000 software are effectively free software with a non-military use * restriction. It is free. Well commented source is provided. You may reuse the * source in any way you please with the exception anything that uses it must be * marked to indicate is contains 'non-military use only' components. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>. * * This file is part of the X_ITE Project. * * X_ITE is free software: you can redistribute it and/or modify it under the * terms of the GNU General Public License version 3 only, as published by the * Free Software Foundation. * * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more * details (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU General Public License version 3 * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a * copy of the GPLv3 License. * * For Silvio, Joy and Adi. * ******************************************************************************/ /** * THIS NODE IS STILL EXPERIMENTAL. */ function DepthMode (executionContext) { external_X_ITE_X3D_X3DAppearanceChildNode_default().call (this, executionContext); this .addType ((external_X_ITE_X3D_X3DConstants_default()).DepthMode); this .addAlias ("depthFunc", this ._depthFunction); } Object .assign (Object .setPrototypeOf (DepthMode .prototype, (external_X_ITE_X3D_X3DAppearanceChildNode_default()).prototype), { initialize () { external_X_ITE_X3D_X3DAppearanceChildNode_default().prototype .initialize .call (this); this ._depthFunction .addInterest ("set_depthFunction__", this); this .set_depthFunction__ (); }, set_depthFunction__: (() => { const depthFunctions = new Map ([ ["NEVER", "NEVER"], ["LESS", "LESS"], ["EQUAL", "EQUAL"], ["LESS_EQUAL", "LEQUAL"], ["GREATER", "GREATER"], ["NOT_EQUAL", "NOTEQUAL"], ["GREATER_EQUAL", "GEQUAL"], ["ALWAYS", "ALWAYS"], ]); return function () { const gl = this .getBrowser () .getContext (); this .depthFunction = gl [depthFunctions .get (this ._depthFunction .getValue ()) ?? "LEQUAL"]; }; })(), enable (gl) { this .depthTest = gl .isEnabled (gl .DEPTH_TEST); this .depthWriteMask = gl .getParameter (gl .DEPTH_WRITEMASK); gl .enable (gl .POLYGON_OFFSET_FILL); gl .polygonOffset (... this ._polygonOffset); if (this ._depthTest .getValue ()) gl .enable (gl .DEPTH_TEST); else gl .disable (gl .DEPTH_TEST); gl .depthFunc (this .depthFunction); gl .depthRange (... this ._depthRange .getValue ()); gl .depthMask (this ._depthMask .getValue ()); }, disable (gl) { gl .disable (gl .POLYGON_OFFSET_FILL); if (this .depthTest) gl .enable (gl .DEPTH_TEST); else gl .disable (gl .DEPTH_TEST); gl .depthFunc (gl .LEQUAL); gl .depthRange (0, 1); gl .depthMask (this .depthWriteMask); }, }); Object .defineProperties (DepthMode, { ... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("DepthMode", "X_ITE", 1, "depthMode", "4.0"), fieldDefinitions: { value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([ new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "polygonOffset", new (external_X_ITE_X3D_Fields_default()).SFVec2f ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "depthRange", new (external_X_ITE_X3D_Fields_default()).SFVec2f (0, 1)), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "depthTest", new (external_X_ITE_X3D_Fields_default()).SFBool (true)), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "depthFunction", new (external_X_ITE_X3D_Fields_default()).SFString ("LESS_EQUAL")), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "depthMask", new (external_X_ITE_X3D_Fields_default()).SFBool (true)), ]), enumerable: true, }, }); const DepthMode_default_ = DepthMode; ; /* harmony default export */ const X_ITE_DepthMode = (external_X_ITE_X3D_Namespace_default().add ("DepthMode", DepthMode_default_)); ;// ./src/x_ite/Components/X_ITE/DiffuseTransmissionMaterialExtension.js /******************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022. * * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>. * * The copyright notice above does not evidence any actual of intended * publication of such source code, and is an unpublished work by create3000. * This material contains CONFIDENTIAL INFORMATION that is the property of * create3000. * * No permission is granted to copy, distribute, or create derivative works from * the contents of this software, in whole or in part, without the prior written * permission of create3000. * * NON-MILITARY USE ONLY * * All create3000 software are effectively free software with a non-military use * restriction. It is free. Well commented source is provided. You may reuse the * source in any way you please with the exception anything that uses it must be * marked to indicate is contains 'non-military use only' components. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>. * * This file is part of the X_ITE Project. * * X_ITE is free software: you can redistribute it and/or modify it under the * terms of the GNU General Public License version 3 only, as published by the * Free Software Foundation. * * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more * details (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU General Public License version 3 * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a * copy of the GPLv3 License. * * For Silvio, Joy and Adi. * ******************************************************************************/ /** * THIS NODE IS STILL EXPERIMENTAL. */ function DiffuseTransmissionMaterialExtension (executionContext) { X_ITE_X3DMaterialExtensionNode .call (this, executionContext); this .addType ((external_X_ITE_X3D_X3DConstants_default()).DiffuseTransmissionMaterialExtension); this .diffuseTransmissionColorArray = new Float32Array (3); } Object .assign (Object .setPrototypeOf (DiffuseTransmissionMaterialExtension .prototype, X_ITE_X3DMaterialExtensionNode .prototype), { initialize () { X_ITE_X3DMaterialExtensionNode .prototype .initialize .call (this); this ._diffuseTransmission .addInterest ("set_diffuseTransmission__", this); this ._diffuseTransmissionTexture .addInterest ("set_diffuseTransmissionTexture__", this); this ._diffuseTransmissionColor .addInterest ("set_diffuseTransmissionColor__", this); this ._diffuseTransmissionColorTexture .addInterest ("set_diffuseTransmissionColorTexture__", this); this .set_diffuseTransmission__ (); this .set_diffuseTransmissionTexture__ (); this .set_diffuseTransmissionColor__ (); this .set_diffuseTransmissionColorTexture__ (); }, set_diffuseTransmission__ () { this .diffuseTransmission = Math .max (this ._diffuseTransmission .getValue (), 0); }, set_diffuseTransmissionTexture__ () { this .diffuseTransmissionTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._diffuseTransmissionTexture); this .setTexture (0, this .diffuseTransmissionTextureNode); }, set_diffuseTransmissionColor__ () { this .diffuseTransmissionColorArray .set (this ._diffuseTransmissionColor .getValue ()); }, set_diffuseTransmissionColorTexture__ () { this .diffuseTransmissionColorTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._diffuseTransmissionColorTexture); this .setTexture (1, this .diffuseTransmissionColorTextureNode); }, getExtensionKey () { return X_ITE_ExtensionKeys .DIFFUSE_TRANSMISSION_EXTENSION; }, getShaderOptions (options) { options .push ("X3D_DIFFUSE_TRANSMISSION_MATERIAL_EXT"); if (!+this .getTextureBits ()) return; options .push ("X3D_MATERIAL_TEXTURES"); this .diffuseTransmissionTextureNode ?.getShaderOptions (options, "DIFFUSE_TRANSMISSION", true); this .diffuseTransmissionColorTextureNode ?.getShaderOptions (options, "DIFFUSE_TRANSMISSION_COLOR", true); }, setShaderUniforms (gl, shaderObject, renderObject, textureTransformMapping, textureCoordinateMapping) { gl .uniform1f (shaderObject .x3d_DiffuseTransmissionEXT, this .diffuseTransmission); gl .uniform3fv (shaderObject .x3d_DiffuseTransmissionColorEXT, this .diffuseTransmissionColorArray); if (!+this .getTextureBits ()) return; this .diffuseTransmissionTextureNode ?.setNamedShaderUniforms (gl, shaderObject, renderObject, shaderObject .x3d_DiffuseTransmissionTextureEXT, this ._diffuseTransmissionTextureMapping .getValue (), textureTransformMapping, textureCoordinateMapping); this .diffuseTransmissionColorTextureNode ?.setNamedShaderUniforms (gl, shaderObject, renderObject, shaderObject .x3d_DiffuseTransmissionColorTextureEXT, this ._diffuseTransmissionColorTextureMapping .getValue (), textureTransformMapping, textureCoordinateMapping); }, }); Object .defineProperties (DiffuseTransmissionMaterialExtension, { ... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("DiffuseTransmissionMaterialExtension", "X_ITE", 1, "extensions", "4.0"), fieldDefinitions: { value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([ new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmission", new (external_X_ITE_X3D_Fields_default()).SFFloat ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmissionTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmissionTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmissionColor", new (external_X_ITE_X3D_Fields_default()).SFColor (1, 1, 1)), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmissionColorTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()), new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmissionColorTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()), ]), enumerable: true, }, }); const DiffuseTransmissionMaterialExtension_default_ = DiffuseTransmissionMaterialExtension; ; /* harmony default export */ const X_ITE_DiffuseTransmissionMaterialExtension = (external_X_ITE_X3D_Namespace_default().add ("DiffuseTransmissionMaterialExtension", DiffuseTransmissionMaterialExtension_default_)); ;// ./src/x_ite/Components/X_ITE/DispersionMaterialExtension.js /******************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022. * * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>. * * The copyright notice above does not evidence any actual of intended * publication of such source code, and is an unpublished work by create3000. * This material contains CONFIDENTIAL INFORMATION that is the property of * create3000. * * No permission is granted to copy, distribute, or create derivative works from * the contents of this software, in whole or in part, without the prior written * permission of create3000. * * NON-MILITARY USE ONLY * * All create3000 software are effectively free software with a non-military use * restriction. It is free. Well commented source is provided. You may reuse the * source in any way you please with the exception anything that uses it must be * marked to indicate is contains 'non-military use only' components. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>. * * This file is part of the X_ITE Project. * * X_ITE is free software: you can redistribute it and/or modify it under the * terms of the GNU General Public License version 3 only, as published