x_ite
Version:
X_ITE X3D Browser, view and manipulate X3D, VRML, glTF and other 3D sources in HTML.
712 lines (576 loc) • 32.2 kB
JavaScript
/* X_ITE v11.6.6 */
const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.6.6")];
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ 254:
/***/ ((module) => {
module.exports = __X_ITE_X3D__ .jquery;
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* 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__ .X3DBaseNode"
const external_X_ITE_X3D_X3DBaseNode_namespaceObject = __X_ITE_X3D__ .X3DBaseNode;
var external_X_ITE_X3D_X3DBaseNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DBaseNode_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__ .X3DField"
const external_X_ITE_X3D_X3DField_namespaceObject = __X_ITE_X3D__ .X3DField;
var external_X_ITE_X3D_X3DField_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DField_namespaceObject);
;// external "__X_ITE_X3D__ .X3DArrayField"
const external_X_ITE_X3D_X3DArrayField_namespaceObject = __X_ITE_X3D__ .X3DArrayField;
var external_X_ITE_X3D_X3DArrayField_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DArrayField_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__ .X3DBrowser"
const external_X_ITE_X3D_X3DBrowser_namespaceObject = __X_ITE_X3D__ .X3DBrowser;
var external_X_ITE_X3D_X3DBrowser_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DBrowser_namespaceObject);
;// external "__X_ITE_X3D__ .ComponentInfo"
const external_X_ITE_X3D_ComponentInfo_namespaceObject = __X_ITE_X3D__ .ComponentInfo;
var external_X_ITE_X3D_ComponentInfo_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_ComponentInfo_namespaceObject);
;// external "__X_ITE_X3D__ .ComponentInfoArray"
const external_X_ITE_X3D_ComponentInfoArray_namespaceObject = __X_ITE_X3D__ .ComponentInfoArray;
var external_X_ITE_X3D_ComponentInfoArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_ComponentInfoArray_namespaceObject);
;// external "__X_ITE_X3D__ .ProfileInfo"
const external_X_ITE_X3D_ProfileInfo_namespaceObject = __X_ITE_X3D__ .ProfileInfo;
var external_X_ITE_X3D_ProfileInfo_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_ProfileInfo_namespaceObject);
;// external "__X_ITE_X3D__ .ProfileInfoArray"
const external_X_ITE_X3D_ProfileInfoArray_namespaceObject = __X_ITE_X3D__ .ProfileInfoArray;
var external_X_ITE_X3D_ProfileInfoArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_ProfileInfoArray_namespaceObject);
;// external "__X_ITE_X3D__ .ConcreteNodesArray"
const external_X_ITE_X3D_ConcreteNodesArray_namespaceObject = __X_ITE_X3D__ .ConcreteNodesArray;
var external_X_ITE_X3D_ConcreteNodesArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_ConcreteNodesArray_namespaceObject);
;// external "__X_ITE_X3D__ .AbstractNodesArray"
const external_X_ITE_X3D_AbstractNodesArray_namespaceObject = __X_ITE_X3D__ .AbstractNodesArray;
var external_X_ITE_X3D_AbstractNodesArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_AbstractNodesArray_namespaceObject);
;// external "__X_ITE_X3D__ .UnitInfo"
const external_X_ITE_X3D_UnitInfo_namespaceObject = __X_ITE_X3D__ .UnitInfo;
var external_X_ITE_X3D_UnitInfo_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_UnitInfo_namespaceObject);
;// external "__X_ITE_X3D__ .UnitInfoArray"
const external_X_ITE_X3D_UnitInfoArray_namespaceObject = __X_ITE_X3D__ .UnitInfoArray;
var external_X_ITE_X3D_UnitInfoArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_UnitInfoArray_namespaceObject);
;// external "__X_ITE_X3D__ .NamedNodesArray"
const external_X_ITE_X3D_NamedNodesArray_namespaceObject = __X_ITE_X3D__ .NamedNodesArray;
var external_X_ITE_X3D_NamedNodesArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_NamedNodesArray_namespaceObject);
;// external "__X_ITE_X3D__ .ImportedNodesArray"
const external_X_ITE_X3D_ImportedNodesArray_namespaceObject = __X_ITE_X3D__ .ImportedNodesArray;
var external_X_ITE_X3D_ImportedNodesArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_ImportedNodesArray_namespaceObject);
;// external "__X_ITE_X3D__ .X3DImportedNode"
const external_X_ITE_X3D_X3DImportedNode_namespaceObject = __X_ITE_X3D__ .X3DImportedNode;
var external_X_ITE_X3D_X3DImportedNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DImportedNode_namespaceObject);
;// external "__X_ITE_X3D__ .ExportedNodesArray"
const external_X_ITE_X3D_ExportedNodesArray_namespaceObject = __X_ITE_X3D__ .ExportedNodesArray;
var external_X_ITE_X3D_ExportedNodesArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_ExportedNodesArray_namespaceObject);
;// external "__X_ITE_X3D__ .X3DExportedNode"
const external_X_ITE_X3D_X3DExportedNode_namespaceObject = __X_ITE_X3D__ .X3DExportedNode;
var external_X_ITE_X3D_X3DExportedNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DExportedNode_namespaceObject);
;// external "__X_ITE_X3D__ .X3DExecutionContext"
const external_X_ITE_X3D_X3DExecutionContext_namespaceObject = __X_ITE_X3D__ .X3DExecutionContext;
var external_X_ITE_X3D_X3DExecutionContext_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DExecutionContext_namespaceObject);
;// external "__X_ITE_X3D__ .X3DScene"
const external_X_ITE_X3D_X3DScene_namespaceObject = __X_ITE_X3D__ .X3DScene;
var external_X_ITE_X3D_X3DScene_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DScene_namespaceObject);
;// external "__X_ITE_X3D__ .ExternProtoDeclarationArray"
const external_X_ITE_X3D_ExternProtoDeclarationArray_namespaceObject = __X_ITE_X3D__ .ExternProtoDeclarationArray;
var external_X_ITE_X3D_ExternProtoDeclarationArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_ExternProtoDeclarationArray_namespaceObject);
;// external "__X_ITE_X3D__ .ProtoDeclarationArray"
const external_X_ITE_X3D_ProtoDeclarationArray_namespaceObject = __X_ITE_X3D__ .ProtoDeclarationArray;
var external_X_ITE_X3D_ProtoDeclarationArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_ProtoDeclarationArray_namespaceObject);
;// external "__X_ITE_X3D__ .X3DExternProtoDeclaration"
const external_X_ITE_X3D_X3DExternProtoDeclaration_namespaceObject = __X_ITE_X3D__ .X3DExternProtoDeclaration;
var external_X_ITE_X3D_X3DExternProtoDeclaration_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DExternProtoDeclaration_namespaceObject);
;// external "__X_ITE_X3D__ .X3DProtoDeclaration"
const external_X_ITE_X3D_X3DProtoDeclaration_namespaceObject = __X_ITE_X3D__ .X3DProtoDeclaration;
var external_X_ITE_X3D_X3DProtoDeclaration_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DProtoDeclaration_namespaceObject);
;// external "__X_ITE_X3D__ .X3DProtoDeclarationNode"
const external_X_ITE_X3D_X3DProtoDeclarationNode_namespaceObject = __X_ITE_X3D__ .X3DProtoDeclarationNode;
var external_X_ITE_X3D_X3DProtoDeclarationNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DProtoDeclarationNode_namespaceObject);
;// external "__X_ITE_X3D__ .RouteArray"
const external_X_ITE_X3D_RouteArray_namespaceObject = __X_ITE_X3D__ .RouteArray;
var external_X_ITE_X3D_RouteArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_RouteArray_namespaceObject);
;// external "__X_ITE_X3D__ .X3DRoute"
const external_X_ITE_X3D_X3DRoute_namespaceObject = __X_ITE_X3D__ .X3DRoute;
var external_X_ITE_X3D_X3DRoute_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DRoute_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/Browser/Scripting/evaluate.js
function evaluate (thisArg, globalObject, sourceText)
{
return new Function (/* js */ `with (arguments [0])
{
return eval ((() =>
{
const sourceText = arguments [1];
delete arguments [0];
delete arguments [1];
arguments .length = 0;
return sourceText;
})
());
}`)
.call (thisArg, globalObject, sourceText);
}
const __default__ = evaluate;
;
/* harmony default export */ const Scripting_evaluate = (external_X_ITE_X3D_Namespace_default().add ("evaluate", __default__));
;// 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__ .X3DChildNode"
const external_X_ITE_X3D_X3DChildNode_namespaceObject = __X_ITE_X3D__ .X3DChildNode;
var external_X_ITE_X3D_X3DChildNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DChildNode_namespaceObject);
;// external "__X_ITE_X3D__ .X3DUrlObject"
const external_X_ITE_X3D_X3DUrlObject_namespaceObject = __X_ITE_X3D__ .X3DUrlObject;
var external_X_ITE_X3D_X3DUrlObject_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DUrlObject_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);
;// ./src/x_ite/Components/Scripting/X3DScriptNode.js
function X3DScriptNode (executionContext)
{
external_X_ITE_X3D_X3DChildNode_default().call (this, executionContext);
external_X_ITE_X3D_X3DUrlObject_default().call (this, executionContext);
this .addType ((external_X_ITE_X3D_X3DConstants_default()).X3DScriptNode);
}
Object .assign (Object .setPrototypeOf (X3DScriptNode .prototype, (external_X_ITE_X3D_X3DChildNode_default()).prototype),
(external_X_ITE_X3D_X3DUrlObject_default()).prototype,
{
initialize ()
{
external_X_ITE_X3D_X3DChildNode_default().prototype .initialize .call (this);
external_X_ITE_X3D_X3DUrlObject_default().prototype .initialize .call (this);
},
dispose ()
{
external_X_ITE_X3D_X3DUrlObject_default().prototype .dispose .call (this);
external_X_ITE_X3D_X3DChildNode_default().prototype .dispose .call (this);
},
});
Object .defineProperties (X3DScriptNode, external_X_ITE_X3D_X3DNode_default().getStaticProperties ("X3DScriptNode", "Scripting", 1));
const X3DScriptNode_default_ = X3DScriptNode;
;
/* harmony default export */ const Scripting_X3DScriptNode = (external_X_ITE_X3D_Namespace_default().add ("X3DScriptNode", X3DScriptNode_default_));
;// external "__X_ITE_X3D__ .FileLoader"
const external_X_ITE_X3D_FileLoader_namespaceObject = __X_ITE_X3D__ .FileLoader;
var external_X_ITE_X3D_FileLoader_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_FileLoader_namespaceObject);
;// external "__X_ITE_X3D__ .SFNodeCache"
const external_X_ITE_X3D_SFNodeCache_namespaceObject = __X_ITE_X3D__ .SFNodeCache;
var external_X_ITE_X3D_SFNodeCache_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_SFNodeCache_namespaceObject);
;// ./src/x_ite/Components/Scripting/Script.js
/* provided dependency */ var $ = __webpack_require__(254);
function Script (executionContext)
{
Scripting_X3DScriptNode .call (this, executionContext);
this .addType ((external_X_ITE_X3D_X3DConstants_default()).Script);
}
Object .assign (Object .setPrototypeOf (Script .prototype, Scripting_X3DScriptNode .prototype),
{
initialize ()
{
Scripting_X3DScriptNode .prototype .initialize .call (this);
this .requestImmediateLoad () .catch (Function .prototype);
},
getExtendedEventHandling ()
{
return false;
},
canUserDefinedFields ()
{
return true;
},
addUserDefinedField (accessType, name, field)
{
Scripting_X3DScriptNode .prototype .addUserDefinedField .call (this, accessType, name, field);
if (!this .isInitialized ())
return;
this .setLoadState ((external_X_ITE_X3D_X3DConstants_default()).NOT_STARTED_STATE);
this .requestImmediateLoad () .catch (Function .prototype);
},
removeUserDefinedField (name)
{
this .getUserDefinedFields () .get (name) ?.removeInterest ("set_field__", this);
Scripting_X3DScriptNode .prototype .removeUserDefinedField .call (this, name);
if (!this .isInitialized ())
return;
this .setLoadState ((external_X_ITE_X3D_X3DConstants_default()).NOT_STARTED_STATE);
this .requestImmediateLoad () .catch (Function .prototype);
},
getSourceText ()
{
return this ._url;
},
unloadData ()
{
// Call shutdown.
const shutdown = this .context ?.get ("shutdown");
if (typeof shutdown === "function")
this .call__ (shutdown, "shutdown");
// Disconnect shutdown.
$(window) .off (`.Script-${this .getId ()}`);
// Disconnect prepareEvents.
this .getBrowser () .prepareEvents () .removeInterest ("call__", this);
// Disconnect eventsProcessed.
this .removeInterest ("call__", this);
// Disconnect fields.
for (const field of this .getUserDefinedFields ())
field .removeInterest ("set_field__", this);
},
async loadData ()
{
// See: 29.2.2 Script execution
await this .unloadData ();
new (external_X_ITE_X3D_FileLoader_default()) (this) .loadDocument (this ._url, async data =>
{
if (data === null)
{
// No URL could be loaded.
this .setLoadState ((external_X_ITE_X3D_X3DConstants_default()).FAILED_STATE);
}
else
{
await this .initialize__ ($.decodeText (data));
this .setLoadState ((external_X_ITE_X3D_X3DConstants_default()).COMPLETE_STATE);
}
});
},
createGlobalObject ()
{
const getScriptNode = () => this;
const handler =
{
get (target, key)
{
switch (key)
{
case "getScriptNode":
return getScriptNode;
case "currentScene":
return getScriptNode () .getExecutionContext ();
default:
return target [key];
}
},
};
const browser = new Proxy (this .getBrowser (), handler);
function SFNode (vrmlSyntax)
{
const node = new (external_X_ITE_X3D_Fields_default()).SFNode ();
node .fromString (vrmlSyntax, getScriptNode () .getExecutionContext ());
if (node .getValue ())
return node;
throw new Error ("SFNode.new: invalid argument.");
}
SFNode .prototype = (external_X_ITE_X3D_Fields_default()).SFNode .prototype;
const globalObject =
{
NULL: { value: null },
FALSE: { value: false },
TRUE: { value: true },
print: { value: browser .println .bind (browser) },
trace: { value: browser .println .bind (browser) },
Browser: { value: browser },
X3DConstants: { value: (external_X_ITE_X3D_X3DConstants_default()) },
X3DBrowser: { value: (external_X_ITE_X3D_X3DBrowser_default()) },
X3DExecutionContext: { value: (external_X_ITE_X3D_X3DExecutionContext_default()) },
X3DScene: { value: (external_X_ITE_X3D_X3DScene_default()) },
ComponentInfo: { value: (external_X_ITE_X3D_ComponentInfo_default()) },
ComponentInfoArray: { value: (external_X_ITE_X3D_ComponentInfoArray_default()) },
ProfileInfo: { value: (external_X_ITE_X3D_ProfileInfo_default()) },
ProfileInfoArray: { value: (external_X_ITE_X3D_ProfileInfoArray_default()) },
ConcreteNodesArray: { value: (external_X_ITE_X3D_ConcreteNodesArray_default()) }, // non-standard
AbstractNodesArray: { value: (external_X_ITE_X3D_AbstractNodesArray_default()) }, // non-standard
UnitInfo: { value: (external_X_ITE_X3D_UnitInfo_default()) },
UnitInfoArray: { value: (external_X_ITE_X3D_UnitInfoArray_default()) },
NamedNodesArray: { value: (external_X_ITE_X3D_NamedNodesArray_default()) }, // non-standard
ImportedNodesArray: { value: (external_X_ITE_X3D_ImportedNodesArray_default()) }, // non-standard
X3DImportedNode: { value: (external_X_ITE_X3D_X3DImportedNode_default()) }, // non-standard
ExportedNodesArray: { value: (external_X_ITE_X3D_ExportedNodesArray_default()) }, // non-standard
X3DExportedNode: { value: (external_X_ITE_X3D_X3DExportedNode_default()) }, // non-standard
ExternProtoDeclarationArray: { value: (external_X_ITE_X3D_ExternProtoDeclarationArray_default()) },
ProtoDeclarationArray: { value: (external_X_ITE_X3D_ProtoDeclarationArray_default()) },
X3DExternProtoDeclaration: { value: (external_X_ITE_X3D_X3DExternProtoDeclaration_default()) },
X3DProtoDeclaration: { value: (external_X_ITE_X3D_X3DProtoDeclaration_default()) },
X3DProtoDeclarationNode: { value: (external_X_ITE_X3D_X3DProtoDeclarationNode_default()) }, // non-standard
RouteArray: { value: (external_X_ITE_X3D_RouteArray_default()) },
X3DRoute: { value: (external_X_ITE_X3D_X3DRoute_default()) },
X3DBaseNode: { value: (external_X_ITE_X3D_X3DBaseNode_default()) }, // non-standard
X3DFieldDefinition: { value: (external_X_ITE_X3D_X3DFieldDefinition_default()) },
FieldDefinitionArray: { value: (external_X_ITE_X3D_FieldDefinitionArray_default()) },
X3DField: { value: (external_X_ITE_X3D_X3DField_default()) },
X3DArrayField: { value: (external_X_ITE_X3D_X3DArrayField_default()) },
SFColor: { value: (external_X_ITE_X3D_Fields_default()).SFColor },
SFColorRGBA: { value: (external_X_ITE_X3D_Fields_default()).SFColorRGBA },
SFImage: { value: (external_X_ITE_X3D_Fields_default()).SFImage },
SFMatrix3d: { value: (external_X_ITE_X3D_Fields_default()).SFMatrix3d },
SFMatrix3f: { value: (external_X_ITE_X3D_Fields_default()).SFMatrix3f },
SFMatrix4d: { value: (external_X_ITE_X3D_Fields_default()).SFMatrix4d },
SFMatrix4f: { value: (external_X_ITE_X3D_Fields_default()).SFMatrix4f },
SFNode: { value: SFNode },
SFRotation: { value: (external_X_ITE_X3D_Fields_default()).SFRotation },
SFString: { value: (external_X_ITE_X3D_Fields_default()).SFString },
SFVec2d: { value: (external_X_ITE_X3D_Fields_default()).SFVec2d },
SFVec2f: { value: (external_X_ITE_X3D_Fields_default()).SFVec2f },
SFVec3d: { value: (external_X_ITE_X3D_Fields_default()).SFVec3d },
SFVec3f: { value: (external_X_ITE_X3D_Fields_default()).SFVec3f },
SFVec4d: { value: (external_X_ITE_X3D_Fields_default()).SFVec4d },
SFVec4f: { value: (external_X_ITE_X3D_Fields_default()).SFVec4f },
VrmlMatrix: { value: (external_X_ITE_X3D_Fields_default()).VrmlMatrix },
MFBool: { value: (external_X_ITE_X3D_Fields_default()).MFBool },
MFColor: { value: (external_X_ITE_X3D_Fields_default()).MFColor },
MFColorRGBA: { value: (external_X_ITE_X3D_Fields_default()).MFColorRGBA },
MFDouble: { value: (external_X_ITE_X3D_Fields_default()).MFDouble },
MFFloat: { value: (external_X_ITE_X3D_Fields_default()).MFFloat },
MFImage: { value: (external_X_ITE_X3D_Fields_default()).MFImage },
MFInt32: { value: (external_X_ITE_X3D_Fields_default()).MFInt32 },
MFMatrix3d: { value: (external_X_ITE_X3D_Fields_default()).MFMatrix3d },
MFMatrix3f: { value: (external_X_ITE_X3D_Fields_default()).MFMatrix3f },
MFMatrix4d: { value: (external_X_ITE_X3D_Fields_default()).MFMatrix4d },
MFMatrix4f: { value: (external_X_ITE_X3D_Fields_default()).MFMatrix4f },
MFNode: { value: (external_X_ITE_X3D_Fields_default()).MFNode },
MFRotation: { value: (external_X_ITE_X3D_Fields_default()).MFRotation },
MFString: { value: (external_X_ITE_X3D_Fields_default()).MFString },
MFTime: { value: (external_X_ITE_X3D_Fields_default()).MFTime },
MFVec2d: { value: (external_X_ITE_X3D_Fields_default()).MFVec2d },
MFVec2f: { value: (external_X_ITE_X3D_Fields_default()).MFVec2f },
MFVec3d: { value: (external_X_ITE_X3D_Fields_default()).MFVec3d },
MFVec3f: { value: (external_X_ITE_X3D_Fields_default()).MFVec3f },
MFVec4d: { value: (external_X_ITE_X3D_Fields_default()).MFVec4d },
MFVec4f: { value: (external_X_ITE_X3D_Fields_default()).MFVec4f },
};
for (const field of this .getUserDefinedFields ())
{
if (field .getAccessType () === (external_X_ITE_X3D_X3DConstants_default()).inputOnly)
continue;
const names = [field .getName ()];
if (field .getAccessType () === (external_X_ITE_X3D_X3DConstants_default()).inputOutput)
names .push (field .getName () + "_changed");
for (const name of names)
{
if (name in globalObject)
continue;
globalObject [name] =
{
get: field .valueOf .bind (field),
set: field .setValue .bind (field),
};
}
}
return Object .create (Object .prototype, globalObject);
},
createContext (sourceText)
{
const callbacks = ["initialize", "prepareEvents", "eventsProcessed", "shutdown"];
for (const field of this .getUserDefinedFields ())
{
switch (field .getAccessType ())
{
case (external_X_ITE_X3D_X3DConstants_default()).inputOnly:
callbacks .push (field .getName ());
break;
case (external_X_ITE_X3D_X3DConstants_default()).inputOutput:
callbacks .push ("set_" + field .getName ());
break;
}
}
sourceText += ";\n[" + callbacks .map (c => `typeof ${c} !== "undefined" ? ${c} : undefined`) .join (",") + "];";
const
result = this .evaluate (sourceText),
context = new Map ();
for (let i = 0; i < callbacks .length; ++ i)
context .set (callbacks [i], result [i]);
return context;
},
evaluate (sourceText)
{
this .globalObject ??= this .createGlobalObject ();
return Scripting_evaluate (external_X_ITE_X3D_SFNodeCache_default().get (this), this .globalObject, sourceText);
},
async initialize__ (sourceText)
{
const browser = this .getBrowser ();
// Create context.
this .globalObject = this .createGlobalObject ();
this .context = this .createContext (sourceText);
// Connect shutdown.
const shutdown = this .context .get ("shutdown");
if (typeof shutdown === "function")
$(window) .on (`unload.Script-${this .getId ()}`, () => this .call__ (shutdown, "shutdown"));
// Connect prepareEvents.
const prepareEvents = this .context .get ("prepareEvents");
if (typeof prepareEvents === "function")
browser .prepareEvents () .addInterest ("call__", this, prepareEvents, "prepareEvents");
// Connect eventsProcessed.
const eventsProcessed = this .context .get ("eventsProcessed");
if (typeof eventsProcessed === "function")
this .addInterest ("call__", this, eventsProcessed, "eventsProcessed");
// Connect fields.
for (const field of this .getUserDefinedFields ())
{
switch (field .getAccessType ())
{
case (external_X_ITE_X3D_X3DConstants_default()).inputOnly:
{
const callback = this .context .get (field .getName ());
if (typeof callback === "function")
field .addInterest ("set_field__", this, callback, [ ]);
break;
}
case (external_X_ITE_X3D_X3DConstants_default()).inputOutput:
{
const callback = this .context .get ("set_" + field .getName ());
if (typeof callback === "function")
field .addInterest ("set_field__", this, callback, [ ]);
break;
}
}
}
// Call initialize function.
const initialize = this .context .get ("initialize");
if (typeof initialize === "function")
await this .call__ (initialize, "initialize");
},
async call__ (callback, name)
{
try
{
await callback .call (external_X_ITE_X3D_SFNodeCache_default().get (this), this .getBrowser () .getCurrentTime ());
}
catch (error)
{
this .setError (`in function '${name}'`, error);
}
},
async set_field__ (callback, cache, field)
{
const copy = cache .pop () ?? field .create ();
try
{
copy .assign (field);
await callback .call (external_X_ITE_X3D_SFNodeCache_default().get (this), copy .valueOf (), this .getBrowser () .getCurrentTime ());
}
catch (error)
{
this .setError (`in function '${field .getName ()}'`, error);
}
finally
{
cache .push (copy);
}
},
setError (reason, error)
{
const worldURL = this .getExecutionContext () .getWorldURL () .startsWith ("data:")
? "data:"
: this .getExecutionContext () .getWorldURL ();
console .error (`JavaScript Error in Script '${this .getName ()}', ${reason}\nworld url is '${worldURL}':`);
console .error (error);
},
dispose ()
{
this .unloadData ();
Scripting_X3DScriptNode .prototype .dispose .call (this);
},
});
Object .defineProperties (Script,
{
... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("Script", "Scripting", 1, "children", "2.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, "description", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "load", new (external_X_ITE_X3D_Fields_default()).SFBool (true)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "url", new (external_X_ITE_X3D_Fields_default()).MFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "autoRefresh", new (external_X_ITE_X3D_Fields_default()).SFTime (0)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "autoRefreshTimeLimit", new (external_X_ITE_X3D_Fields_default()).SFTime (3600)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).initializeOnly, "directOutput", new (external_X_ITE_X3D_Fields_default()).SFBool ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).initializeOnly, "mustEvaluate", new (external_X_ITE_X3D_Fields_default()).SFBool ()),
]),
enumerable: true,
},
});
const Script_default_ = Script;
;
/* harmony default export */ const Scripting_Script = (external_X_ITE_X3D_Namespace_default().add ("Script", Script_default_));
;// ./src/assets/components/ScriptingComponent.js
external_X_ITE_X3D_Components_default().add ({
name: "Scripting",
concreteNodes:
[
Scripting_Script,
],
abstractNodes:
[
Scripting_X3DScriptNode,
],
});
const ScriptingComponent_default_ = undefined;
;
/* harmony default export */ const ScriptingComponent = (external_X_ITE_X3D_Namespace_default().add ("ScriptingComponent", ScriptingComponent_default_));
/******/ })()
;