|
@@ -9781,7 +9781,7 @@ var PointerDragBehavior = /** @class */ (function () {
|
|
|
/**
|
|
|
* If set, the drag plane/axis will be rotated based on the attached mesh's world rotation (Default: true)
|
|
|
*/
|
|
|
- this.useObjectOrienationForDragging = true;
|
|
|
+ this.useObjectOrientationForDragging = true;
|
|
|
/**
|
|
|
* Predicate to determine if it is valid to move the object to a new position when it is moved
|
|
|
*/
|
|
@@ -10001,8 +10001,8 @@ var PointerDragBehavior = /** @class */ (function () {
|
|
|
var dragLength = 0;
|
|
|
// depending on the drag mode option drag accordingly
|
|
|
if (this._options.dragAxis) {
|
|
|
- // Convert local drag axis to world if useObjectOrienationForDragging
|
|
|
- this.useObjectOrienationForDragging ? _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Vector3"].TransformCoordinatesToRef(this._options.dragAxis, this.attachedNode.getWorldMatrix().getRotationMatrix(), this._worldDragAxis) : this._worldDragAxis.copyFrom(this._options.dragAxis);
|
|
|
+ // Convert local drag axis to world if useObjectOrientationForDragging
|
|
|
+ this.useObjectOrientationForDragging ? _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Vector3"].TransformCoordinatesToRef(this._options.dragAxis, this.attachedNode.getWorldMatrix().getRotationMatrix(), this._worldDragAxis) : this._worldDragAxis.copyFrom(this._options.dragAxis);
|
|
|
// Project delta drag from the drag plane onto the drag axis
|
|
|
pickedPoint.subtractToRef(this.lastDragPosition, this._tmpVector);
|
|
|
dragLength = _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Vector3"].Dot(this._tmpVector, this._worldDragAxis);
|
|
@@ -10060,7 +10060,7 @@ var PointerDragBehavior = /** @class */ (function () {
|
|
|
PointerDragBehavior.prototype._updateDragPlanePosition = function (ray, dragPlanePosition) {
|
|
|
this._pointA.copyFrom(dragPlanePosition);
|
|
|
if (this._options.dragAxis) {
|
|
|
- this.useObjectOrienationForDragging ? _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Vector3"].TransformCoordinatesToRef(this._options.dragAxis, this.attachedNode.getWorldMatrix().getRotationMatrix(), this._localAxis) : this._localAxis.copyFrom(this._options.dragAxis);
|
|
|
+ this.useObjectOrientationForDragging ? _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Vector3"].TransformCoordinatesToRef(this._options.dragAxis, this.attachedNode.getWorldMatrix().getRotationMatrix(), this._localAxis) : this._localAxis.copyFrom(this._options.dragAxis);
|
|
|
// Calculate plane normal in direction of camera but perpendicular to drag axis
|
|
|
this._pointA.addToRef(this._localAxis, this._pointB); // towards drag axis
|
|
|
ray.origin.subtractToRef(this._pointA, this._pointC);
|
|
@@ -10077,7 +10077,7 @@ var PointerDragBehavior = /** @class */ (function () {
|
|
|
this._dragPlane.lookAt(this._lookAt);
|
|
|
}
|
|
|
else if (this._options.dragPlaneNormal) {
|
|
|
- this.useObjectOrienationForDragging ? _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Vector3"].TransformCoordinatesToRef(this._options.dragPlaneNormal, this.attachedNode.getWorldMatrix().getRotationMatrix(), this._localAxis) : this._localAxis.copyFrom(this._options.dragPlaneNormal);
|
|
|
+ this.useObjectOrientationForDragging ? _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Vector3"].TransformCoordinatesToRef(this._options.dragPlaneNormal, this.attachedNode.getWorldMatrix().getRotationMatrix(), this._localAxis) : this._localAxis.copyFrom(this._options.dragPlaneNormal);
|
|
|
this._dragPlane.position.copyFrom(this._pointA);
|
|
|
this._pointA.addToRef(this._localAxis, this._lookAt);
|
|
|
this._dragPlane.lookAt(this._lookAt);
|
|
@@ -17693,6 +17693,10 @@ var VRExperienceHelper = /** @class */ (function () {
|
|
|
this._padSensibilityDown = 0.35;
|
|
|
this._leftController = null;
|
|
|
this._rightController = null;
|
|
|
+ this._gazeColor = new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0.7, 0.7, 0.7);
|
|
|
+ this._laserColor = new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0.7, 0.7, 0.7);
|
|
|
+ this._pickedLaserColor = new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0.2, 0.2, 1);
|
|
|
+ this._pickedGazeColor = new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0, 0, 1);
|
|
|
/**
|
|
|
* Observable raised when a new mesh is selected based on meshSelectionPredicate
|
|
|
*/
|
|
@@ -19324,13 +19328,13 @@ var VRExperienceHelper = /** @class */ (function () {
|
|
|
this.onNewMeshPicked.notifyObservers(hit);
|
|
|
gazer._currentMeshSelected = hit.pickedMesh;
|
|
|
if (hit.pickedMesh.isPickable && hit.pickedMesh.actionManager) {
|
|
|
- this.changeGazeColor(new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0, 0, 1));
|
|
|
- this.changeLaserColor(new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0.2, 0.2, 1));
|
|
|
+ this.changeGazeColor(this._pickedGazeColor);
|
|
|
+ this.changeLaserColor(this._pickedLaserColor);
|
|
|
gazer._isActionableMesh = true;
|
|
|
}
|
|
|
else {
|
|
|
- this.changeGazeColor(new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0.7, 0.7, 0.7));
|
|
|
- this.changeLaserColor(new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0.7, 0.7, 0.7));
|
|
|
+ this.changeGazeColor(this._gazeColor);
|
|
|
+ this.changeLaserColor(this._laserColor);
|
|
|
gazer._isActionableMesh = false;
|
|
|
}
|
|
|
try {
|
|
@@ -19347,8 +19351,8 @@ var VRExperienceHelper = /** @class */ (function () {
|
|
|
else {
|
|
|
this._notifySelectedMeshUnselected(gazer._currentMeshSelected);
|
|
|
gazer._currentMeshSelected = null;
|
|
|
- this.changeGazeColor(new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0.7, 0.7, 0.7));
|
|
|
- this.changeLaserColor(new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0.7, 0.7, 0.7));
|
|
|
+ this.changeGazeColor(this._gazeColor);
|
|
|
+ this.changeLaserColor(this._laserColor);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -19356,8 +19360,8 @@ var VRExperienceHelper = /** @class */ (function () {
|
|
|
this._notifySelectedMeshUnselected(gazer._currentMeshSelected);
|
|
|
gazer._currentMeshSelected = null;
|
|
|
//this._teleportationAllowed = false;
|
|
|
- this.changeGazeColor(new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0.7, 0.7, 0.7));
|
|
|
- this.changeLaserColor(new _Maths_math_color__WEBPACK_IMPORTED_MODULE_10__["Color3"](0.7, 0.7, 0.7));
|
|
|
+ this.changeGazeColor(this._gazeColor);
|
|
|
+ this.changeLaserColor(this._laserColor);
|
|
|
}
|
|
|
};
|
|
|
VRExperienceHelper.prototype._notifySelectedMeshUnselected = function (mesh) {
|
|
@@ -19366,6 +19370,26 @@ var VRExperienceHelper = /** @class */ (function () {
|
|
|
}
|
|
|
};
|
|
|
/**
|
|
|
+ * Permanently set new colors for the laser pointer
|
|
|
+ * @param color the new laser color
|
|
|
+ * @param pickedColor the new laser color when picked mesh detected
|
|
|
+ */
|
|
|
+ VRExperienceHelper.prototype.setLaserColor = function (color, pickedColor) {
|
|
|
+ if (pickedColor === void 0) { pickedColor = this._pickedLaserColor; }
|
|
|
+ this._laserColor = color;
|
|
|
+ this._pickedLaserColor = pickedColor;
|
|
|
+ };
|
|
|
+ /**
|
|
|
+ * Permanently set new colors for the gaze pointer
|
|
|
+ * @param color the new gaze color
|
|
|
+ * @param pickedColor the new gaze color when picked mesh detected
|
|
|
+ */
|
|
|
+ VRExperienceHelper.prototype.setGazeColor = function (color, pickedColor) {
|
|
|
+ if (pickedColor === void 0) { pickedColor = this._pickedGazeColor; }
|
|
|
+ this._gazeColor = color;
|
|
|
+ this._pickedGazeColor = pickedColor;
|
|
|
+ };
|
|
|
+ /**
|
|
|
* Sets the color of the laser ray from the vr controllers.
|
|
|
* @param color new color for the ray.
|
|
|
*/
|
|
@@ -34397,7 +34421,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
/* harmony import */ var _Expressions_Operators_shaderDefineOrOperator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Expressions/Operators/shaderDefineOrOperator */ "./Engines/Processors/Expressions/Operators/shaderDefineOrOperator.ts");
|
|
|
/* harmony import */ var _Expressions_Operators_shaderDefineAndOperator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Expressions/Operators/shaderDefineAndOperator */ "./Engines/Processors/Expressions/Operators/shaderDefineAndOperator.ts");
|
|
|
/* harmony import */ var _Expressions_Operators_shaderDefineArithmeticOperator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Expressions/Operators/shaderDefineArithmeticOperator */ "./Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.ts");
|
|
|
-/* harmony import */ var _Misc_fileTools__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../Misc/fileTools */ "./Misc/fileTools.ts");
|
|
|
+/* harmony import */ var _Misc_devTools__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../Misc/devTools */ "./Misc/devTools.ts");
|
|
|
|
|
|
|
|
|
|
|
@@ -34681,7 +34705,7 @@ var ShaderProcessor = /** @class */ (function () {
|
|
|
}
|
|
|
else {
|
|
|
var includeShaderUrl = options.shadersRepository + "ShadersInclude/" + includeFile + ".fx";
|
|
|
- _Misc_fileTools__WEBPACK_IMPORTED_MODULE_8__["FileTools"].LoadFile(includeShaderUrl, function (fileContent) {
|
|
|
+ ShaderProcessor._FileToolsLoadFile(includeShaderUrl, function (fileContent) {
|
|
|
options.includesShadersStore[includeFile] = fileContent;
|
|
|
_this._ProcessIncludes(returnValue, options, callback);
|
|
|
});
|
|
@@ -34691,6 +34715,20 @@ var ShaderProcessor = /** @class */ (function () {
|
|
|
}
|
|
|
callback(returnValue);
|
|
|
};
|
|
|
+ /**
|
|
|
+ * Loads a file from a url
|
|
|
+ * @param url url to load
|
|
|
+ * @param onSuccess callback called when the file successfully loads
|
|
|
+ * @param onProgress callback called while file is loading (if the server supports this mode)
|
|
|
+ * @param offlineProvider defines the offline provider for caching
|
|
|
+ * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer
|
|
|
+ * @param onError callback called when the file fails to load
|
|
|
+ * @returns a file request object
|
|
|
+ * @hidden
|
|
|
+ */
|
|
|
+ ShaderProcessor._FileToolsLoadFile = function (url, onSuccess, onProgress, offlineProvider, useArrayBuffer, onError) {
|
|
|
+ throw _Misc_devTools__WEBPACK_IMPORTED_MODULE_8__["_DevTools"].WarnImport("FileTools");
|
|
|
+ };
|
|
|
return ShaderProcessor;
|
|
|
}());
|
|
|
|
|
@@ -39144,9 +39182,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
/* harmony import */ var _WebGL_webGL2ShaderProcessors__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./WebGL/webGL2ShaderProcessors */ "./Engines/WebGL/webGL2ShaderProcessors.ts");
|
|
|
/* harmony import */ var _Meshes_WebGL_webGLDataBuffer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../Meshes/WebGL/webGLDataBuffer */ "./Meshes/WebGL/webGLDataBuffer.ts");
|
|
|
/* harmony import */ var _WebGL_webGLPipelineContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./WebGL/webGLPipelineContext */ "./Engines/WebGL/webGLPipelineContext.ts");
|
|
|
-/* harmony import */ var _Misc_fileTools__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../Misc/fileTools */ "./Misc/fileTools.ts");
|
|
|
-/* harmony import */ var _Misc_canvasGenerator__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../Misc/canvasGenerator */ "./Misc/canvasGenerator.ts");
|
|
|
-
|
|
|
+/* harmony import */ var _Misc_canvasGenerator__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../Misc/canvasGenerator */ "./Misc/canvasGenerator.ts");
|
|
|
|
|
|
|
|
|
|
|
@@ -39420,7 +39456,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
this._gl = (canvas.getContext("webgl2", options) || canvas.getContext("experimental-webgl2", options));
|
|
|
if (this._gl) {
|
|
|
this._webGLVersion = 2.0;
|
|
|
- // Prevent weird browsers to lie :-)
|
|
|
+ // Prevent weird browsers to lie
|
|
|
if (!this._gl.deleteQuery) {
|
|
|
this._webGLVersion = 1.0;
|
|
|
}
|
|
@@ -39489,7 +39525,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
*/
|
|
|
// Not mixed with Version for tooling purpose.
|
|
|
get: function () {
|
|
|
- return "babylonjs@4.1.0-beta.12";
|
|
|
+ return "babylonjs@4.1.0-beta.15";
|
|
|
},
|
|
|
enumerable: true,
|
|
|
configurable: true
|
|
@@ -39499,7 +39535,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
* Returns the current version of the framework
|
|
|
*/
|
|
|
get: function () {
|
|
|
- return "4.1.0-beta.12";
|
|
|
+ return "4.1.0-beta.15";
|
|
|
},
|
|
|
enumerable: true,
|
|
|
configurable: true
|
|
@@ -39943,7 +39979,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
if (this._workingCanvas) {
|
|
|
return;
|
|
|
}
|
|
|
- this._workingCanvas = _Misc_canvasGenerator__WEBPACK_IMPORTED_MODULE_15__["CanvasGenerator"].CreateCanvas(1, 1);
|
|
|
+ this._workingCanvas = _Misc_canvasGenerator__WEBPACK_IMPORTED_MODULE_14__["CanvasGenerator"].CreateCanvas(1, 1);
|
|
|
var context = this._workingCanvas.getContext("2d");
|
|
|
if (context) {
|
|
|
this._workingContext = context;
|
|
@@ -41693,11 +41729,11 @@ var ThinEngine = /** @class */ (function () {
|
|
|
onload(buffer);
|
|
|
}
|
|
|
else {
|
|
|
- _Misc_fileTools__WEBPACK_IMPORTED_MODULE_14__["FileTools"].LoadImage(url, onload, onInternalError, scene ? scene.offlineProvider : null, mimeType);
|
|
|
+ ThinEngine._FileToolsLoadImage(url, onload, onInternalError, scene ? scene.offlineProvider : null, mimeType);
|
|
|
}
|
|
|
}
|
|
|
else if (typeof buffer === "string" || buffer instanceof ArrayBuffer || ArrayBuffer.isView(buffer) || buffer instanceof Blob) {
|
|
|
- _Misc_fileTools__WEBPACK_IMPORTED_MODULE_14__["FileTools"].LoadImage(buffer, onload, onInternalError, scene ? scene.offlineProvider : null, mimeType);
|
|
|
+ ThinEngine._FileToolsLoadImage(buffer, onload, onInternalError, scene ? scene.offlineProvider : null, mimeType);
|
|
|
}
|
|
|
else if (buffer) {
|
|
|
onload(buffer);
|
|
@@ -41706,6 +41742,19 @@ var ThinEngine = /** @class */ (function () {
|
|
|
return texture;
|
|
|
};
|
|
|
/**
|
|
|
+ * Loads an image as an HTMLImageElement.
|
|
|
+ * @param input url string, ArrayBuffer, or Blob to load
|
|
|
+ * @param onLoad callback called when the image successfully loads
|
|
|
+ * @param onError callback called when the image fails to load
|
|
|
+ * @param offlineProvider offline provider for caching
|
|
|
+ * @param mimeType optional mime type
|
|
|
+ * @returns the HTMLImageElement of the loaded image
|
|
|
+ * @hidden
|
|
|
+ */
|
|
|
+ ThinEngine._FileToolsLoadImage = function (input, onLoad, onError, offlineProvider, mimeType) {
|
|
|
+ throw _Misc_devTools__WEBPACK_IMPORTED_MODULE_2__["_DevTools"].WarnImport("FileTools");
|
|
|
+ };
|
|
|
+ /**
|
|
|
* @hidden
|
|
|
*/
|
|
|
ThinEngine.prototype._rescaleTexture = function (source, destination, scene, internalFormat, onComplete) {
|
|
@@ -41902,7 +41951,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
var gl = this._gl;
|
|
|
var textureType = this._getWebGLTextureType(texture.type);
|
|
|
var format = this._getInternalFormat(texture.format);
|
|
|
- var internalFormat = babylonInternalFormat === undefined ? this._getRGBABufferInternalSizedFormat(texture.type, format) : this._getInternalFormat(babylonInternalFormat);
|
|
|
+ var internalFormat = babylonInternalFormat === undefined ? this._getRGBABufferInternalSizedFormat(texture.type, texture.format) : this._getInternalFormat(babylonInternalFormat);
|
|
|
this._unpackFlipY(texture.invertY);
|
|
|
var target = gl.TEXTURE_2D;
|
|
|
if (texture.isCube) {
|
|
@@ -42589,6 +42638,8 @@ var ThinEngine = /** @class */ (function () {
|
|
|
return this._gl.LUMINANCE;
|
|
|
case _constants__WEBPACK_IMPORTED_MODULE_7__["Constants"].TEXTUREFORMAT_LUMINANCE_ALPHA:
|
|
|
return this._gl.LUMINANCE_ALPHA;
|
|
|
+ case _constants__WEBPACK_IMPORTED_MODULE_7__["Constants"].TEXTUREFORMAT_RGB:
|
|
|
+ return this._gl.RGB;
|
|
|
}
|
|
|
}
|
|
|
return this._gl.RGBA;
|
|
@@ -42753,7 +42804,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
/** @hidden */
|
|
|
ThinEngine.prototype._loadFile = function (url, onSuccess, onProgress, offlineProvider, useArrayBuffer, onError) {
|
|
|
var _this = this;
|
|
|
- var request = _Misc_fileTools__WEBPACK_IMPORTED_MODULE_14__["FileTools"].LoadFile(url, onSuccess, onProgress, offlineProvider, useArrayBuffer, onError);
|
|
|
+ var request = ThinEngine._FileToolsLoadFile(url, onSuccess, onProgress, offlineProvider, useArrayBuffer, onError);
|
|
|
this._activeRequests.push(request);
|
|
|
request.onCompleteObservable.add(function (request) {
|
|
|
_this._activeRequests.splice(_this._activeRequests.indexOf(request), 1);
|
|
@@ -42761,6 +42812,20 @@ var ThinEngine = /** @class */ (function () {
|
|
|
return request;
|
|
|
};
|
|
|
/**
|
|
|
+ * Loads a file from a url
|
|
|
+ * @param url url to load
|
|
|
+ * @param onSuccess callback called when the file successfully loads
|
|
|
+ * @param onProgress callback called while file is loading (if the server supports this mode)
|
|
|
+ * @param offlineProvider defines the offline provider for caching
|
|
|
+ * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer
|
|
|
+ * @param onError callback called when the file fails to load
|
|
|
+ * @returns a file request object
|
|
|
+ * @hidden
|
|
|
+ */
|
|
|
+ ThinEngine._FileToolsLoadFile = function (url, onSuccess, onProgress, offlineProvider, useArrayBuffer, onError) {
|
|
|
+ throw _Misc_devTools__WEBPACK_IMPORTED_MODULE_2__["_DevTools"].WarnImport("FileTools");
|
|
|
+ };
|
|
|
+ /**
|
|
|
* Reads pixels from the current frame buffer. Please note that this function can be slow
|
|
|
* @param x defines the x coordinate of the rectangle where pixels must be read
|
|
|
* @param y defines the y coordinate of the rectangle where pixels must be read
|
|
@@ -42785,7 +42850,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
ThinEngine.isSupported = function () {
|
|
|
if (this._isSupported === null) {
|
|
|
try {
|
|
|
- var tempcanvas = _Misc_canvasGenerator__WEBPACK_IMPORTED_MODULE_15__["CanvasGenerator"].CreateCanvas(1, 1);
|
|
|
+ var tempcanvas = _Misc_canvasGenerator__WEBPACK_IMPORTED_MODULE_14__["CanvasGenerator"].CreateCanvas(1, 1);
|
|
|
var gl = tempcanvas.getContext("webgl") || tempcanvas.getContext("experimental-webgl");
|
|
|
this._isSupported = gl != null && !!window.WebGLRenderingContext;
|
|
|
}
|
|
@@ -47647,7 +47712,7 @@ var BoundingBoxGizmo = /** @class */ (function (_super) {
|
|
|
this._dragMesh = _Meshes_mesh__WEBPACK_IMPORTED_MODULE_5__["Mesh"].CreateBox("dummy", 1, this.gizmoLayer.utilityLayerScene);
|
|
|
this._dragMesh.visibility = 0;
|
|
|
this._dragMesh.rotationQuaternion = new _Maths_math_vector__WEBPACK_IMPORTED_MODULE_3__["Quaternion"]();
|
|
|
- this.pointerDragBehavior.useObjectOrienationForDragging = false;
|
|
|
+ this.pointerDragBehavior.useObjectOrientationForDragging = false;
|
|
|
this._dragMesh.addBehavior(this.pointerDragBehavior);
|
|
|
};
|
|
|
/**
|
|
@@ -81982,6 +82047,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
/* harmony import */ var _Engines_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Engines/constants */ "./Engines/constants.ts");
|
|
|
/* harmony import */ var _Misc_guid__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Misc/guid */ "./Misc/guid.ts");
|
|
|
/* harmony import */ var _Maths_math_size__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Maths/math.size */ "./Maths/math.size.ts");
|
|
|
+/* harmony import */ var _Misc_fileTools__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../Misc/fileTools */ "./Misc/fileTools.ts");
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -115515,7 +115582,10 @@ var InstancedMesh = /** @class */ (function (_super) {
|
|
|
if (this._currentLOD && this._currentLOD.billboardMode !== _transformNode__WEBPACK_IMPORTED_MODULE_6__["TransformNode"].BILLBOARDMODE_NONE && this._currentLOD._masterMesh !== this) {
|
|
|
var tempMaster = this._currentLOD._masterMesh;
|
|
|
this._currentLOD._masterMesh = this;
|
|
|
+ _Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["TmpVectors"].Vector3[7].copyFrom(this._currentLOD.position);
|
|
|
+ this._currentLOD.position.set(0, 0, 0);
|
|
|
_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["TmpVectors"].Matrix[0].copyFrom(this._currentLOD.computeWorldMatrix(true));
|
|
|
+ this._currentLOD.position.copyFrom(_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["TmpVectors"].Vector3[7]);
|
|
|
this._currentLOD._masterMesh = tempMaster;
|
|
|
return _Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["TmpVectors"].Matrix[0];
|
|
|
}
|
|
@@ -116128,7 +116198,7 @@ var Mesh = /** @class */ (function (_super) {
|
|
|
], ["_poseMatrix"]);
|
|
|
// Source mesh
|
|
|
_this._internalMeshDataInfo._source = source;
|
|
|
- if (scene.useClonedMeshhMap) {
|
|
|
+ if (scene.useClonedMeshMap) {
|
|
|
if (!source._internalMeshDataInfo.meshMap) {
|
|
|
source._internalMeshDataInfo.meshMap = {};
|
|
|
}
|
|
@@ -117910,7 +117980,7 @@ var Mesh = /** @class */ (function (_super) {
|
|
|
internalDataInfo._onAfterRenderObservable.clear();
|
|
|
}
|
|
|
// Sources
|
|
|
- if (this._scene.useClonedMeshhMap) {
|
|
|
+ if (this._scene.useClonedMeshMap) {
|
|
|
if (internalDataInfo.meshMap) {
|
|
|
for (var uniqueId in internalDataInfo.meshMap) {
|
|
|
var mesh = internalDataInfo.meshMap[uniqueId];
|
|
@@ -128882,6 +128952,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
/* harmony import */ var _retryStrategy__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./retryStrategy */ "./Misc/retryStrategy.ts");
|
|
|
/* harmony import */ var _baseError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./baseError */ "./Misc/baseError.ts");
|
|
|
/* harmony import */ var _stringTools__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./stringTools */ "./Misc/stringTools.ts");
|
|
|
+/* harmony import */ var _Engines_thinEngine__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Engines/thinEngine */ "./Engines/thinEngine.ts");
|
|
|
+/* harmony import */ var _Engines_Processors_shaderProcessor__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Engines/Processors/shaderProcessor */ "./Engines/Processors/shaderProcessor.ts");
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -128974,12 +129048,12 @@ var FileTools = /** @class */ (function () {
|
|
|
if (url && url.indexOf("data:") === 0) {
|
|
|
return;
|
|
|
}
|
|
|
- if (this.CorsBehavior) {
|
|
|
- if (typeof (this.CorsBehavior) === 'string' || this.CorsBehavior instanceof String) {
|
|
|
- element.crossOrigin = this.CorsBehavior;
|
|
|
+ if (FileTools.CorsBehavior) {
|
|
|
+ if (typeof (FileTools.CorsBehavior) === 'string' || this.CorsBehavior instanceof String) {
|
|
|
+ element.crossOrigin = FileTools.CorsBehavior;
|
|
|
}
|
|
|
else {
|
|
|
- var result = this.CorsBehavior(url);
|
|
|
+ var result = FileTools.CorsBehavior(url);
|
|
|
if (result) {
|
|
|
element.crossOrigin = result;
|
|
|
}
|
|
@@ -129012,11 +129086,11 @@ var FileTools = /** @class */ (function () {
|
|
|
usingObjectURL = true;
|
|
|
}
|
|
|
else {
|
|
|
- url = this._CleanUrl(input);
|
|
|
- url = this.PreprocessUrl(input);
|
|
|
+ url = FileTools._CleanUrl(input);
|
|
|
+ url = FileTools.PreprocessUrl(input);
|
|
|
}
|
|
|
if (typeof Image === "undefined") {
|
|
|
- this.LoadFile(url, function (data) {
|
|
|
+ FileTools.LoadFile(url, function (data) {
|
|
|
createImageBitmap(new Blob([data])).then(function (imgBmp) {
|
|
|
onLoad(imgBmp);
|
|
|
if (usingObjectURL) {
|
|
@@ -129035,7 +129109,7 @@ var FileTools = /** @class */ (function () {
|
|
|
return null;
|
|
|
}
|
|
|
var img = new Image();
|
|
|
- this.SetCorsBehavior(url, img);
|
|
|
+ FileTools.SetCorsBehavior(url, img);
|
|
|
var loadHandler = function () {
|
|
|
img.removeEventListener("load", loadHandler);
|
|
|
img.removeEventListener("error", errorHandler);
|
|
@@ -129151,10 +129225,10 @@ var FileTools = /** @class */ (function () {
|
|
|
}
|
|
|
var file = _filesInputStore__WEBPACK_IMPORTED_MODULE_4__["FilesInputStore"].FilesToLoad[fileName];
|
|
|
if (file) {
|
|
|
- return this.ReadFile(file, onSuccess, onProgress, useArrayBuffer, onError ? function (error) { return onError(undefined, new LoadFileError(error.message, error.file)); } : undefined);
|
|
|
+ return FileTools.ReadFile(file, onSuccess, onProgress, useArrayBuffer, onError ? function (error) { return onError(undefined, new LoadFileError(error.message, error.file)); } : undefined);
|
|
|
}
|
|
|
}
|
|
|
- return this.RequestFile(url, function (data, request) {
|
|
|
+ return FileTools.RequestFile(url, function (data, request) {
|
|
|
onSuccess(data, request ? request.responseURL : undefined);
|
|
|
}, onProgress, offlineProvider, useArrayBuffer, onError ? function (error) {
|
|
|
onError(error.request, new LoadFileError(error.message, error.request));
|
|
@@ -129171,10 +129245,9 @@ var FileTools = /** @class */ (function () {
|
|
|
* @returns a file request object
|
|
|
*/
|
|
|
FileTools.RequestFile = function (url, onSuccess, onProgress, offlineProvider, useArrayBuffer, onError, onOpened) {
|
|
|
- var _this = this;
|
|
|
- url = this._CleanUrl(url);
|
|
|
- url = this.PreprocessUrl(url);
|
|
|
- var loadUrl = this.BaseUrl + url;
|
|
|
+ url = FileTools._CleanUrl(url);
|
|
|
+ url = FileTools.PreprocessUrl(url);
|
|
|
+ var loadUrl = FileTools.BaseUrl + url;
|
|
|
var aborted = false;
|
|
|
var fileRequest = {
|
|
|
onCompleteObservable: new _observable__WEBPACK_IMPORTED_MODULE_3__["Observable"](),
|
|
@@ -129218,11 +129291,11 @@ var FileTools = /** @class */ (function () {
|
|
|
if (request.readyState === (XMLHttpRequest.DONE || 4)) {
|
|
|
// Some browsers have issues where onreadystatechange can be called multiple times with the same value.
|
|
|
request.removeEventListener("readystatechange", onReadyStateChange);
|
|
|
- if ((request.status >= 200 && request.status < 300) || (request.status === 0 && (!_domManagement__WEBPACK_IMPORTED_MODULE_2__["DomManagement"].IsWindowObjectExist() || _this.IsFileURL()))) {
|
|
|
+ if ((request.status >= 200 && request.status < 300) || (request.status === 0 && (!_domManagement__WEBPACK_IMPORTED_MODULE_2__["DomManagement"].IsWindowObjectExist() || FileTools.IsFileURL()))) {
|
|
|
onSuccess(useArrayBuffer ? request.response : request.responseText, request);
|
|
|
return;
|
|
|
}
|
|
|
- var retryStrategy = _this.DefaultRetryStrategy;
|
|
|
+ var retryStrategy = FileTools.DefaultRetryStrategy;
|
|
|
if (retryStrategy) {
|
|
|
var waitTime = retryStrategy(loadUrl, request, retryIndex);
|
|
|
if (waitTime !== -1) {
|
|
@@ -129259,7 +129332,7 @@ var FileTools = /** @class */ (function () {
|
|
|
var loadFromOfflineSupport = function () {
|
|
|
// TODO: database needs to support aborting and should return a IFileRequest
|
|
|
if (offlineProvider) {
|
|
|
- offlineProvider.loadFile(_this.BaseUrl + url, function (data) {
|
|
|
+ offlineProvider.loadFile(FileTools.BaseUrl + url, function (data) {
|
|
|
if (!aborted) {
|
|
|
onSuccess(data);
|
|
|
}
|
|
@@ -129308,6 +129381,9 @@ var FileTools = /** @class */ (function () {
|
|
|
return FileTools;
|
|
|
}());
|
|
|
|
|
|
+_Engines_thinEngine__WEBPACK_IMPORTED_MODULE_8__["ThinEngine"]._FileToolsLoadImage = FileTools.LoadImage.bind(FileTools);
|
|
|
+_Engines_thinEngine__WEBPACK_IMPORTED_MODULE_8__["ThinEngine"]._FileToolsLoadFile = FileTools.LoadFile.bind(FileTools);
|
|
|
+_Engines_Processors_shaderProcessor__WEBPACK_IMPORTED_MODULE_9__["ShaderProcessor"]._FileToolsLoadFile = FileTools.LoadFile.bind(FileTools);
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
@@ -172641,8 +172717,9 @@ var Scene = /** @class */ (function (_super) {
|
|
|
return _this._engine.getTimeStep();
|
|
|
};
|
|
|
_this._blockMaterialDirtyMechanism = false;
|
|
|
+ var fullOptions = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({ useGeometryUniqueIdsMap: true, useMaterialMeshMap: true, useClonedMeshMap: true, virtual: false }, options);
|
|
|
_this._engine = engine || _Engines_engineStore__WEBPACK_IMPORTED_MODULE_23__["EngineStore"].LastCreatedEngine;
|
|
|
- if (!options || !options.virtual) {
|
|
|
+ if (!fullOptions.virtual) {
|
|
|
_Engines_engineStore__WEBPACK_IMPORTED_MODULE_23__["EngineStore"]._LastCreatedScene = _this;
|
|
|
_this._engine.scenes.push(_this);
|
|
|
}
|
|
@@ -172661,11 +172738,11 @@ var Scene = /** @class */ (function (_super) {
|
|
|
_this._imageProcessingConfiguration = new _Materials_imageProcessingConfiguration__WEBPACK_IMPORTED_MODULE_12__["ImageProcessingConfiguration"]();
|
|
|
}
|
|
|
_this.setDefaultCandidateProviders();
|
|
|
- if (options && options.useGeometryUniqueIdsMap === true) {
|
|
|
+ if (fullOptions.useGeometryUniqueIdsMap) {
|
|
|
_this.geometriesByUniqueId = {};
|
|
|
}
|
|
|
- _this.useMaterialMeshMap = options && options.useGeometryUniqueIdsMap || false;
|
|
|
- _this.useClonedMeshhMap = options && options.useClonedMeshhMap || false;
|
|
|
+ _this.useMaterialMeshMap = fullOptions.useMaterialMeshMap;
|
|
|
+ _this.useClonedMeshMap = fullOptions.useClonedMeshMap;
|
|
|
if (!options || !options.virtual) {
|
|
|
_this._engine.onNewSceneAddedObservable.notifyObservers(_this);
|
|
|
}
|