@xeokit/xeokit-sdk 2.4.0-alpha-41 → 2.4.0-alpha-43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/xeokit-sdk.cjs.js
CHANGED
|
@@ -16550,9 +16550,18 @@ class RenderBuffer {
|
|
|
16550
16550
|
const canvas = imageDataCache.canvas;
|
|
16551
16551
|
const imageData = imageDataCache.imageData;
|
|
16552
16552
|
const context = imageDataCache.context;
|
|
16553
|
-
|
|
16553
|
+
const { width, height } = this.buffer;
|
|
16554
|
+
gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, pixelData);
|
|
16554
16555
|
imageData.data.set(pixelData);
|
|
16555
16556
|
context.putImageData(imageData, 0, 0);
|
|
16557
|
+
|
|
16558
|
+
// flip Y
|
|
16559
|
+
context.save();
|
|
16560
|
+
context.globalCompositeOperation = 'copy';
|
|
16561
|
+
context.scale(1, -1);
|
|
16562
|
+
context.drawImage(canvas, 0, -height, width, height);
|
|
16563
|
+
context.restore();
|
|
16564
|
+
|
|
16556
16565
|
let format = params.format || "png";
|
|
16557
16566
|
if (format !== "jpeg" && format !== "png" && format !== "bmp") {
|
|
16558
16567
|
console.error("Unsupported image format: '" + format + "' - supported types are 'jpeg', 'bmp' and 'png' - defaulting to 'png'");
|
|
@@ -103482,21 +103491,23 @@ class MetaScene {
|
|
|
103482
103491
|
|
|
103483
103492
|
// Create global Property Sets
|
|
103484
103493
|
|
|
103485
|
-
|
|
103486
|
-
|
|
103487
|
-
|
|
103488
|
-
|
|
103489
|
-
propertySet
|
|
103490
|
-
|
|
103491
|
-
|
|
103492
|
-
|
|
103493
|
-
|
|
103494
|
-
|
|
103495
|
-
|
|
103496
|
-
|
|
103494
|
+
if (metaModelData.propertySets) {
|
|
103495
|
+
for (let i = 0, len = metaModelData.propertySets.length; i < len; i++) {
|
|
103496
|
+
const propertySetData = metaModelData.propertySets[i];
|
|
103497
|
+
let propertySet = this.propertySets[propertySetData.id];
|
|
103498
|
+
if (!propertySet) {
|
|
103499
|
+
propertySet = new PropertySet({
|
|
103500
|
+
id: propertySetData.id,
|
|
103501
|
+
originalSystemId: propertySetData.originalSystemId,
|
|
103502
|
+
type: propertySetData.type,
|
|
103503
|
+
name: propertySetData.name,
|
|
103504
|
+
properties: propertySetData.properties
|
|
103505
|
+
});
|
|
103506
|
+
this.propertySets[propertySet.id] = propertySet;
|
|
103507
|
+
}
|
|
103508
|
+
propertySet.metaModels.push(metaModel);
|
|
103509
|
+
metaModel.propertySets.push(propertySet);
|
|
103497
103510
|
}
|
|
103498
|
-
propertySet.metaModels.push(metaModel);
|
|
103499
|
-
metaModel.propertySets.push(propertySet);
|
|
103500
103511
|
}
|
|
103501
103512
|
|
|
103502
103513
|
// Create MetaObjects
|
|
@@ -103504,27 +103515,29 @@ class MetaScene {
|
|
|
103504
103515
|
// Save root MetaObjects on MetaModel
|
|
103505
103516
|
// Save root MetaObjects on MetaScene
|
|
103506
103517
|
|
|
103507
|
-
|
|
103508
|
-
|
|
103509
|
-
|
|
103510
|
-
|
|
103511
|
-
|
|
103512
|
-
|
|
103513
|
-
metaObject
|
|
103514
|
-
|
|
103515
|
-
|
|
103516
|
-
|
|
103517
|
-
|
|
103518
|
-
|
|
103519
|
-
|
|
103520
|
-
|
|
103521
|
-
|
|
103522
|
-
|
|
103523
|
-
|
|
103524
|
-
|
|
103525
|
-
|
|
103518
|
+
if (metaModelData.metaObjects) {
|
|
103519
|
+
for (let i = 0, len = metaModelData.metaObjects.length; i < len; i++) {
|
|
103520
|
+
const metaObjectData = metaModelData.metaObjects[i];
|
|
103521
|
+
const type = metaObjectData.type;
|
|
103522
|
+
const id = metaObjectData.id;
|
|
103523
|
+
let metaObject = this.metaObjects[id];
|
|
103524
|
+
if (!metaObject) {
|
|
103525
|
+
metaObject = new MetaObject({
|
|
103526
|
+
id,
|
|
103527
|
+
parentId: metaObjectData.parent,
|
|
103528
|
+
type,
|
|
103529
|
+
name: metaObjectData.name,
|
|
103530
|
+
propertySetIds: metaObjectData.propertySetIds
|
|
103531
|
+
});
|
|
103532
|
+
this.metaObjects[id] = metaObject;
|
|
103533
|
+
}
|
|
103534
|
+
metaObject.metaModels.push(metaModel);
|
|
103535
|
+
if (!metaObjectData.parent) {
|
|
103536
|
+
metaModel.rootMetaObjects.push(metaObject);
|
|
103537
|
+
this.rootMetaObjects[id] = metaObject;
|
|
103538
|
+
}
|
|
103539
|
+
metaModel.metaObjects.push(metaObject);
|
|
103526
103540
|
}
|
|
103527
|
-
metaModel.metaObjects.push(metaObject);
|
|
103528
103541
|
}
|
|
103529
103542
|
|
|
103530
103543
|
// Re-link entire MetaObject parent/child hierarchy
|
|
@@ -103621,41 +103634,45 @@ class MetaScene {
|
|
|
103621
103634
|
|
|
103622
103635
|
// Remove global PropertySets
|
|
103623
103636
|
|
|
103624
|
-
|
|
103625
|
-
|
|
103626
|
-
|
|
103627
|
-
|
|
103628
|
-
|
|
103629
|
-
|
|
103630
|
-
|
|
103631
|
-
|
|
103632
|
-
|
|
103637
|
+
if (metaModel.propertySets) {
|
|
103638
|
+
for (let i = 0, len = metaModel.propertySets.length; i < len; i++) {
|
|
103639
|
+
const propertySet = metaModel.propertySets[i];
|
|
103640
|
+
if (propertySet.metaModels.length === 1) { // Property set owned by one model, delete
|
|
103641
|
+
delete this.propertySets[propertySet.id];
|
|
103642
|
+
} else {
|
|
103643
|
+
const newMetaModels = [];
|
|
103644
|
+
for (let j = 0, lenj = propertySet.metaModels.length; j < lenj; j++) {
|
|
103645
|
+
if (propertySet.metaModels[i].id !== id) {
|
|
103646
|
+
newMetaModels.push(propertySet.metaModels[i]);
|
|
103647
|
+
}
|
|
103633
103648
|
}
|
|
103649
|
+
propertySet.metaModels = newMetaModels;
|
|
103634
103650
|
}
|
|
103635
|
-
propertySet.metaModels = newMetaModels;
|
|
103636
103651
|
}
|
|
103637
103652
|
}
|
|
103638
103653
|
|
|
103639
103654
|
// Remove MetaObjects
|
|
103640
103655
|
|
|
103641
|
-
|
|
103642
|
-
|
|
103643
|
-
|
|
103644
|
-
|
|
103645
|
-
|
|
103646
|
-
|
|
103647
|
-
|
|
103648
|
-
|
|
103649
|
-
|
|
103650
|
-
|
|
103651
|
-
|
|
103652
|
-
|
|
103653
|
-
|
|
103654
|
-
|
|
103655
|
-
|
|
103656
|
+
if (metaModel.metaObjects) {
|
|
103657
|
+
for (let i = 0, len = metaModel.metaObjects.length; i < len; i++) {
|
|
103658
|
+
const metaObject = metaModel.metaObjects[i];
|
|
103659
|
+
metaObject.type;
|
|
103660
|
+
const id = metaObject.id;
|
|
103661
|
+
if (metaObject.metaModels.length === 1) { // MetaObject owned by one model, delete
|
|
103662
|
+
delete this.metaObjects[id];
|
|
103663
|
+
if (!metaObject.parent) {
|
|
103664
|
+
delete this.rootMetaObjects[id];
|
|
103665
|
+
}
|
|
103666
|
+
} else {
|
|
103667
|
+
const newMetaModels = [];
|
|
103668
|
+
const metaModelId = metaModel.id;
|
|
103669
|
+
for (let i = 0, len = metaObject.metaModels.length; i < len; i++) {
|
|
103670
|
+
if (metaObject.metaModels[i].id !== metaModelId) {
|
|
103671
|
+
newMetaModels.push(metaObject.metaModels[i]);
|
|
103672
|
+
}
|
|
103656
103673
|
}
|
|
103674
|
+
metaObject.metaModels = newMetaModels;
|
|
103657
103675
|
}
|
|
103658
|
-
metaObject.metaModels = newMetaModels;
|
|
103659
103676
|
}
|
|
103660
103677
|
}
|
|
103661
103678
|
|
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -16546,9 +16546,18 @@ class RenderBuffer {
|
|
|
16546
16546
|
const canvas = imageDataCache.canvas;
|
|
16547
16547
|
const imageData = imageDataCache.imageData;
|
|
16548
16548
|
const context = imageDataCache.context;
|
|
16549
|
-
|
|
16549
|
+
const { width, height } = this.buffer;
|
|
16550
|
+
gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, pixelData);
|
|
16550
16551
|
imageData.data.set(pixelData);
|
|
16551
16552
|
context.putImageData(imageData, 0, 0);
|
|
16553
|
+
|
|
16554
|
+
// flip Y
|
|
16555
|
+
context.save();
|
|
16556
|
+
context.globalCompositeOperation = 'copy';
|
|
16557
|
+
context.scale(1, -1);
|
|
16558
|
+
context.drawImage(canvas, 0, -height, width, height);
|
|
16559
|
+
context.restore();
|
|
16560
|
+
|
|
16552
16561
|
let format = params.format || "png";
|
|
16553
16562
|
if (format !== "jpeg" && format !== "png" && format !== "bmp") {
|
|
16554
16563
|
console.error("Unsupported image format: '" + format + "' - supported types are 'jpeg', 'bmp' and 'png' - defaulting to 'png'");
|
|
@@ -103478,21 +103487,23 @@ class MetaScene {
|
|
|
103478
103487
|
|
|
103479
103488
|
// Create global Property Sets
|
|
103480
103489
|
|
|
103481
|
-
|
|
103482
|
-
|
|
103483
|
-
|
|
103484
|
-
|
|
103485
|
-
propertySet
|
|
103486
|
-
|
|
103487
|
-
|
|
103488
|
-
|
|
103489
|
-
|
|
103490
|
-
|
|
103491
|
-
|
|
103492
|
-
|
|
103490
|
+
if (metaModelData.propertySets) {
|
|
103491
|
+
for (let i = 0, len = metaModelData.propertySets.length; i < len; i++) {
|
|
103492
|
+
const propertySetData = metaModelData.propertySets[i];
|
|
103493
|
+
let propertySet = this.propertySets[propertySetData.id];
|
|
103494
|
+
if (!propertySet) {
|
|
103495
|
+
propertySet = new PropertySet({
|
|
103496
|
+
id: propertySetData.id,
|
|
103497
|
+
originalSystemId: propertySetData.originalSystemId,
|
|
103498
|
+
type: propertySetData.type,
|
|
103499
|
+
name: propertySetData.name,
|
|
103500
|
+
properties: propertySetData.properties
|
|
103501
|
+
});
|
|
103502
|
+
this.propertySets[propertySet.id] = propertySet;
|
|
103503
|
+
}
|
|
103504
|
+
propertySet.metaModels.push(metaModel);
|
|
103505
|
+
metaModel.propertySets.push(propertySet);
|
|
103493
103506
|
}
|
|
103494
|
-
propertySet.metaModels.push(metaModel);
|
|
103495
|
-
metaModel.propertySets.push(propertySet);
|
|
103496
103507
|
}
|
|
103497
103508
|
|
|
103498
103509
|
// Create MetaObjects
|
|
@@ -103500,27 +103511,29 @@ class MetaScene {
|
|
|
103500
103511
|
// Save root MetaObjects on MetaModel
|
|
103501
103512
|
// Save root MetaObjects on MetaScene
|
|
103502
103513
|
|
|
103503
|
-
|
|
103504
|
-
|
|
103505
|
-
|
|
103506
|
-
|
|
103507
|
-
|
|
103508
|
-
|
|
103509
|
-
metaObject
|
|
103510
|
-
|
|
103511
|
-
|
|
103512
|
-
|
|
103513
|
-
|
|
103514
|
-
|
|
103515
|
-
|
|
103516
|
-
|
|
103517
|
-
|
|
103518
|
-
|
|
103519
|
-
|
|
103520
|
-
|
|
103521
|
-
|
|
103514
|
+
if (metaModelData.metaObjects) {
|
|
103515
|
+
for (let i = 0, len = metaModelData.metaObjects.length; i < len; i++) {
|
|
103516
|
+
const metaObjectData = metaModelData.metaObjects[i];
|
|
103517
|
+
const type = metaObjectData.type;
|
|
103518
|
+
const id = metaObjectData.id;
|
|
103519
|
+
let metaObject = this.metaObjects[id];
|
|
103520
|
+
if (!metaObject) {
|
|
103521
|
+
metaObject = new MetaObject({
|
|
103522
|
+
id,
|
|
103523
|
+
parentId: metaObjectData.parent,
|
|
103524
|
+
type,
|
|
103525
|
+
name: metaObjectData.name,
|
|
103526
|
+
propertySetIds: metaObjectData.propertySetIds
|
|
103527
|
+
});
|
|
103528
|
+
this.metaObjects[id] = metaObject;
|
|
103529
|
+
}
|
|
103530
|
+
metaObject.metaModels.push(metaModel);
|
|
103531
|
+
if (!metaObjectData.parent) {
|
|
103532
|
+
metaModel.rootMetaObjects.push(metaObject);
|
|
103533
|
+
this.rootMetaObjects[id] = metaObject;
|
|
103534
|
+
}
|
|
103535
|
+
metaModel.metaObjects.push(metaObject);
|
|
103522
103536
|
}
|
|
103523
|
-
metaModel.metaObjects.push(metaObject);
|
|
103524
103537
|
}
|
|
103525
103538
|
|
|
103526
103539
|
// Re-link entire MetaObject parent/child hierarchy
|
|
@@ -103617,41 +103630,45 @@ class MetaScene {
|
|
|
103617
103630
|
|
|
103618
103631
|
// Remove global PropertySets
|
|
103619
103632
|
|
|
103620
|
-
|
|
103621
|
-
|
|
103622
|
-
|
|
103623
|
-
|
|
103624
|
-
|
|
103625
|
-
|
|
103626
|
-
|
|
103627
|
-
|
|
103628
|
-
|
|
103633
|
+
if (metaModel.propertySets) {
|
|
103634
|
+
for (let i = 0, len = metaModel.propertySets.length; i < len; i++) {
|
|
103635
|
+
const propertySet = metaModel.propertySets[i];
|
|
103636
|
+
if (propertySet.metaModels.length === 1) { // Property set owned by one model, delete
|
|
103637
|
+
delete this.propertySets[propertySet.id];
|
|
103638
|
+
} else {
|
|
103639
|
+
const newMetaModels = [];
|
|
103640
|
+
for (let j = 0, lenj = propertySet.metaModels.length; j < lenj; j++) {
|
|
103641
|
+
if (propertySet.metaModels[i].id !== id) {
|
|
103642
|
+
newMetaModels.push(propertySet.metaModels[i]);
|
|
103643
|
+
}
|
|
103629
103644
|
}
|
|
103645
|
+
propertySet.metaModels = newMetaModels;
|
|
103630
103646
|
}
|
|
103631
|
-
propertySet.metaModels = newMetaModels;
|
|
103632
103647
|
}
|
|
103633
103648
|
}
|
|
103634
103649
|
|
|
103635
103650
|
// Remove MetaObjects
|
|
103636
103651
|
|
|
103637
|
-
|
|
103638
|
-
|
|
103639
|
-
|
|
103640
|
-
|
|
103641
|
-
|
|
103642
|
-
|
|
103643
|
-
|
|
103644
|
-
|
|
103645
|
-
|
|
103646
|
-
|
|
103647
|
-
|
|
103648
|
-
|
|
103649
|
-
|
|
103650
|
-
|
|
103651
|
-
|
|
103652
|
+
if (metaModel.metaObjects) {
|
|
103653
|
+
for (let i = 0, len = metaModel.metaObjects.length; i < len; i++) {
|
|
103654
|
+
const metaObject = metaModel.metaObjects[i];
|
|
103655
|
+
metaObject.type;
|
|
103656
|
+
const id = metaObject.id;
|
|
103657
|
+
if (metaObject.metaModels.length === 1) { // MetaObject owned by one model, delete
|
|
103658
|
+
delete this.metaObjects[id];
|
|
103659
|
+
if (!metaObject.parent) {
|
|
103660
|
+
delete this.rootMetaObjects[id];
|
|
103661
|
+
}
|
|
103662
|
+
} else {
|
|
103663
|
+
const newMetaModels = [];
|
|
103664
|
+
const metaModelId = metaModel.id;
|
|
103665
|
+
for (let i = 0, len = metaObject.metaModels.length; i < len; i++) {
|
|
103666
|
+
if (metaObject.metaModels[i].id !== metaModelId) {
|
|
103667
|
+
newMetaModels.push(metaObject.metaModels[i]);
|
|
103668
|
+
}
|
|
103652
103669
|
}
|
|
103670
|
+
metaObject.metaModels = newMetaModels;
|
|
103653
103671
|
}
|
|
103654
|
-
metaObject.metaModels = newMetaModels;
|
|
103655
103672
|
}
|
|
103656
103673
|
}
|
|
103657
103674
|
|
package/dist/xeokit-sdk.es5.js
CHANGED
|
@@ -4383,7 +4383,8 @@ gl.bindFramebuffer(gl.FRAMEBUFFER,framebuf);if(!gl.isFramebuffer(framebuf)){thro
|
|
|
4383
4383
|
*
|
|
4384
4384
|
* @returns {HTMLCanvasElement}
|
|
4385
4385
|
*/},{key:"readImageAsCanvas",value:function readImageAsCanvas(){var gl=this.gl;var imageDataCache=this._getImageDataCache();var pixelData=imageDataCache.pixelData;var canvas=imageDataCache.canvas;var imageData=imageDataCache.imageData;var context=imageDataCache.context;gl.readPixels(0,0,this.buffer.width,this.buffer.height,gl.RGBA,gl.UNSIGNED_BYTE,pixelData);var width=this.buffer.width;var height=this.buffer.height;var halfHeight=height/2|0;// the | 0 keeps the result an int
|
|
4386
|
-
var bytesPerRow=width*4;var temp=new Uint8Array(width*4);for(var y=0;y<halfHeight;++y){var topOffset=y*bytesPerRow;var bottomOffset=(height-y-1)*bytesPerRow;temp.set(pixelData.subarray(topOffset,topOffset+bytesPerRow));pixelData.copyWithin(topOffset,bottomOffset,bottomOffset+bytesPerRow);pixelData.set(temp,bottomOffset);}imageData.data.set(pixelData);context.putImageData(imageData,0,0);return canvas;}},{key:"readImage",value:function readImage(params){var gl=this.gl;var imageDataCache=this._getImageDataCache();var pixelData=imageDataCache.pixelData;var canvas=imageDataCache.canvas;var imageData=imageDataCache.imageData;var context=imageDataCache.context;gl.readPixels(0,0,
|
|
4386
|
+
var bytesPerRow=width*4;var temp=new Uint8Array(width*4);for(var y=0;y<halfHeight;++y){var topOffset=y*bytesPerRow;var bottomOffset=(height-y-1)*bytesPerRow;temp.set(pixelData.subarray(topOffset,topOffset+bytesPerRow));pixelData.copyWithin(topOffset,bottomOffset,bottomOffset+bytesPerRow);pixelData.set(temp,bottomOffset);}imageData.data.set(pixelData);context.putImageData(imageData,0,0);return canvas;}},{key:"readImage",value:function readImage(params){var gl=this.gl;var imageDataCache=this._getImageDataCache();var pixelData=imageDataCache.pixelData;var canvas=imageDataCache.canvas;var imageData=imageDataCache.imageData;var context=imageDataCache.context;var _this$buffer=this.buffer,width=_this$buffer.width,height=_this$buffer.height;gl.readPixels(0,0,width,height,gl.RGBA,gl.UNSIGNED_BYTE,pixelData);imageData.data.set(pixelData);context.putImageData(imageData,0,0);// flip Y
|
|
4387
|
+
context.save();context.globalCompositeOperation='copy';context.scale(1,-1);context.drawImage(canvas,0,-height,width,height);context.restore();var format=params.format||"png";if(format!=="jpeg"&&format!=="png"&&format!=="bmp"){console.error("Unsupported image format: '"+format+"' - supported types are 'jpeg', 'bmp' and 'png' - defaulting to 'png'");format="png";}return canvas.toDataURL("image/".concat(format));}},{key:"_getImageDataCache",value:function _getImageDataCache(){var type=arguments.length>0&&arguments[0]!==undefined?arguments[0]:Uint8Array;var multiplier=arguments.length>1&&arguments[1]!==undefined?arguments[1]:4;var bufferWidth=this.buffer.width;var bufferHeight=this.buffer.height;var imageDataCache=this._imageDataCache;if(imageDataCache){if(imageDataCache.width!==bufferWidth||imageDataCache.height!==bufferHeight){this._imageDataCache=null;imageDataCache=null;}}if(!imageDataCache){var _canvas=document.createElement('canvas');var context=_canvas.getContext('2d');_canvas.width=bufferWidth;_canvas.height=bufferHeight;imageDataCache={pixelData:new type(bufferWidth*bufferHeight*multiplier),canvas:_canvas,context:context,imageData:context.createImageData(bufferWidth,bufferHeight),width:bufferWidth,height:bufferHeight};this._imageDataCache=imageDataCache;}imageDataCache.context.resetTransform();// Prevents strange scale-accumulation effect with html2canvas
|
|
4387
4388
|
return imageDataCache;}},{key:"unbind",value:function unbind(){var gl=this.gl;gl.bindFramebuffer(gl.FRAMEBUFFER,null);this.bound=false;}},{key:"getTexture",value:function getTexture(){var self=this;return this._texture||(this._texture={renderBuffer:this,bind:function bind(unit){if(self.buffer&&self.buffer.texture){self.gl.activeTexture(self.gl["TEXTURE"+unit]);self.gl.bindTexture(self.gl.TEXTURE_2D,self.buffer.texture);return true;}return false;},unbind:function unbind(unit){if(self.buffer&&self.buffer.texture){self.gl.activeTexture(self.gl["TEXTURE"+unit]);self.gl.bindTexture(self.gl.TEXTURE_2D,null);}}});}},{key:"hasDepthTexture",value:function hasDepthTexture(){return this._hasDepthTexture;}},{key:"getDepthTexture",value:function getDepthTexture(){if(!this._hasDepthTexture){return null;}var self=this;return this._depthTexture||(this._dethTexture={renderBuffer:this,bind:function bind(unit){if(self.buffer&&self.buffer.depthTexture){self.gl.activeTexture(self.gl["TEXTURE"+unit]);self.gl.bindTexture(self.gl.TEXTURE_2D,self.buffer.depthTexture);return true;}return false;},unbind:function unbind(unit){if(self.buffer&&self.buffer.depthTexture){self.gl.activeTexture(self.gl["TEXTURE"+unit]);self.gl.bindTexture(self.gl.TEXTURE_2D,null);}}});}},{key:"destroy",value:function destroy(){if(this.allocated){var _gl2=this.gl;_gl2.deleteTexture(this.buffer.texture);_gl2.deleteTexture(this.buffer.depthTexture);_gl2.deleteFramebuffer(this.buffer.framebuf);_gl2.deleteRenderbuffer(this.buffer.renderbuf);this.allocated=false;this.buffer=null;this.bound=false;}this._imageDataCache=null;this._texture=null;this._depthTexture=null;}}]);return RenderBuffer;}();/**
|
|
4388
4389
|
* @private
|
|
4389
4390
|
*/var RenderBufferManager=/*#__PURE__*/function(){function RenderBufferManager(scene){_classCallCheck(this,RenderBufferManager);this.scene=scene;this._renderBuffersBasic={};this._renderBuffersScaled={};}_createClass(RenderBufferManager,[{key:"getRenderBuffer",value:function getRenderBuffer(id,options){var renderBuffers=this.scene.canvas.resolutionScale===1.0?this._renderBuffersBasic:this._renderBuffersScaled;var renderBuffer=renderBuffers[id];if(!renderBuffer){renderBuffer=new RenderBuffer(this.scene.canvas.canvas,this.scene.canvas.gl,options);renderBuffers[id]=renderBuffer;}return renderBuffer;}},{key:"destroy",value:function destroy(){for(var id in this._renderBuffersBasic){this._renderBuffersBasic[id].destroy();}for(var _id in this._renderBuffersScaled){this._renderBuffersScaled[_id].destroy();}}}]);return RenderBufferManager;}();/**
|
|
@@ -23448,11 +23449,11 @@ value=value||"qwerty";if(value!=="qwerty"&&value!=="azerty"){this.error("Unsuppo
|
|
|
23448
23449
|
* @returns {MetaModel} The new MetaModel.
|
|
23449
23450
|
*/},{key:"createMetaModel",value:function createMetaModel(modelId,metaModelData){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};this._globalizeIDs(modelId,metaModelData,options);// Create MetaModel
|
|
23450
23451
|
var metaModel=new MetaModel({metaScene:this,id:modelId,projectId:metaModelData.projectId||"none",revisionId:metaModelData.revisionId||"none",author:metaModelData.author||"none",createdAt:metaModelData.createdAt||"none",creatingApplication:metaModelData.creatingApplication||"none",schema:metaModelData.schema||"none",propertySets:[]});this.metaModels[modelId]=metaModel;// Create global Property Sets
|
|
23451
|
-
for(var _i542=0,len=metaModelData.propertySets.length;_i542<len;_i542++){var propertySetData=metaModelData.propertySets[_i542];var propertySet=this.propertySets[propertySetData.id];if(!propertySet){propertySet=new PropertySet({id:propertySetData.id,originalSystemId:propertySetData.originalSystemId,type:propertySetData.type,name:propertySetData.name,properties:propertySetData.properties});this.propertySets[propertySet.id]=propertySet;}propertySet.metaModels.push(metaModel);metaModel.propertySets.push(propertySet);}// Create MetaObjects
|
|
23452
|
+
if(metaModelData.propertySets){for(var _i542=0,len=metaModelData.propertySets.length;_i542<len;_i542++){var propertySetData=metaModelData.propertySets[_i542];var propertySet=this.propertySets[propertySetData.id];if(!propertySet){propertySet=new PropertySet({id:propertySetData.id,originalSystemId:propertySetData.originalSystemId,type:propertySetData.type,name:propertySetData.name,properties:propertySetData.properties});this.propertySets[propertySet.id]=propertySet;}propertySet.metaModels.push(metaModel);metaModel.propertySets.push(propertySet);}}// Create MetaObjects
|
|
23452
23453
|
// Don't re-create reused MetaObjects
|
|
23453
23454
|
// Save root MetaObjects on MetaModel
|
|
23454
23455
|
// Save root MetaObjects on MetaScene
|
|
23455
|
-
for(var _i543=0,_len116=metaModelData.metaObjects.length;_i543<_len116;_i543++){var metaObjectData=metaModelData.metaObjects[_i543];var type=metaObjectData.type;var id=metaObjectData.id;var _metaObject4=this.metaObjects[id];if(!_metaObject4){_metaObject4=new MetaObject({id:id,parentId:metaObjectData.parent,type:type,name:metaObjectData.name,propertySetIds:metaObjectData.propertySetIds});this.metaObjects[id]=_metaObject4;}_metaObject4.metaModels.push(metaModel);if(!metaObjectData.parent){metaModel.rootMetaObjects.push(_metaObject4);this.rootMetaObjects[id]=_metaObject4;}metaModel.metaObjects.push(_metaObject4);}// Re-link entire MetaObject parent/child hierarchy
|
|
23456
|
+
if(metaModelData.metaObjects){for(var _i543=0,_len116=metaModelData.metaObjects.length;_i543<_len116;_i543++){var metaObjectData=metaModelData.metaObjects[_i543];var type=metaObjectData.type;var id=metaObjectData.id;var _metaObject4=this.metaObjects[id];if(!_metaObject4){_metaObject4=new MetaObject({id:id,parentId:metaObjectData.parent,type:type,name:metaObjectData.name,propertySetIds:metaObjectData.propertySetIds});this.metaObjects[id]=_metaObject4;}_metaObject4.metaModels.push(metaModel);if(!metaObjectData.parent){metaModel.rootMetaObjects.push(_metaObject4);this.rootMetaObjects[id]=_metaObject4;}metaModel.metaObjects.push(_metaObject4);}}// Re-link entire MetaObject parent/child hierarchy
|
|
23456
23457
|
for(var objectId in this.metaObjects){var _metaObject5=this.metaObjects[objectId];if(_metaObject5.children){_metaObject5.children=[];}}for(var _objectId in this.metaObjects){var _metaObject6=this.metaObjects[_objectId];if(_metaObject6.parentId){var parentMetaObject=this.metaObjects[_metaObject6.parentId];if(parentMetaObject){_metaObject6.parent=parentMetaObject;(parentMetaObject.children||(parentMetaObject.children=[])).push(_metaObject6);}}}// Create MetaObjects-by-type lookup
|
|
23457
23458
|
this.metaObjectsByType={};for(var _objectId2 in this.metaObjects){var _metaObject7=this.metaObjects[_objectId2];var _type=_metaObject7.type;(this.metaObjectsByType[_type]||(this.metaObjectsByType[_type]={}))[_objectId2]=_metaObject7;}this.fire("metaModelCreated",modelId);return metaModel;}},{key:"_globalizeIDs",value:function _globalizeIDs(modelId,metaModelData,options){var globalize=!!options.globalizeObjectIds;if(metaModelData.metaObjects){for(var _i544=0,len=metaModelData.metaObjects.length;_i544<len;_i544++){var metaObjectData=metaModelData.metaObjects[_i544];// Globalize MetaObject IDs and parent IDs
|
|
23458
23459
|
metaObjectData.originalSystemId=metaObjectData.id;metaObjectData.originalParentSystemId=metaObjectData.parent;if(globalize){metaObjectData.id=math.globalizeObjectId(modelId,metaObject.id);metaObjectData.parent=math.globalizeObjectId(modelId,metaObject.parent);}// Globalize MetaObject property set IDs
|
|
@@ -23464,10 +23465,10 @@ if(metaModelData.propertySets){for(var _i545=0,_len117=metaModelData.propertySet
|
|
|
23464
23465
|
*
|
|
23465
23466
|
* @param {String} id ID of the target {@link MetaModel}.
|
|
23466
23467
|
*/},{key:"destroyMetaModel",value:function destroyMetaModel(id){var metaModel=this.metaModels[id];if(!metaModel){return;}// Remove global PropertySets
|
|
23467
|
-
for(var _i546=0,len=metaModel.propertySets.length;_i546<len;_i546++){var propertySet=metaModel.propertySets[_i546];if(propertySet.metaModels.length===1){// Property set owned by one model, delete
|
|
23468
|
-
delete this.propertySets[propertySet.id];}else{var newMetaModels=[];for(var _j6=0,lenj=propertySet.metaModels.length;_j6<lenj;_j6++){if(propertySet.metaModels[_i546].id!==id){newMetaModels.push(propertySet.metaModels[_i546]);}}propertySet.metaModels=newMetaModels;}}// Remove MetaObjects
|
|
23469
|
-
for(var _i547=0,_len118=metaModel.metaObjects.length;_i547<_len118;_i547++){var _metaObject8=metaModel.metaObjects[_i547];_metaObject8.type;var _id4=_metaObject8.id;if(_metaObject8.metaModels.length===1){// MetaObject owned by one model, delete
|
|
23470
|
-
delete this.metaObjects[_id4];if(!_metaObject8.parent){delete this.rootMetaObjects[_id4];}}else{var _newMetaModels=[];var metaModelId=metaModel.id;for(var _i548=0,_len119=_metaObject8.metaModels.length;_i548<_len119;_i548++){if(_metaObject8.metaModels[_i548].id!==metaModelId){_newMetaModels.push(_metaObject8.metaModels[_i548]);}}_metaObject8.metaModels=_newMetaModels;}}// Re-link entire MetaObject parent/child hierarchy
|
|
23468
|
+
if(metaModel.propertySets){for(var _i546=0,len=metaModel.propertySets.length;_i546<len;_i546++){var propertySet=metaModel.propertySets[_i546];if(propertySet.metaModels.length===1){// Property set owned by one model, delete
|
|
23469
|
+
delete this.propertySets[propertySet.id];}else{var newMetaModels=[];for(var _j6=0,lenj=propertySet.metaModels.length;_j6<lenj;_j6++){if(propertySet.metaModels[_i546].id!==id){newMetaModels.push(propertySet.metaModels[_i546]);}}propertySet.metaModels=newMetaModels;}}}// Remove MetaObjects
|
|
23470
|
+
if(metaModel.metaObjects){for(var _i547=0,_len118=metaModel.metaObjects.length;_i547<_len118;_i547++){var _metaObject8=metaModel.metaObjects[_i547];_metaObject8.type;var _id4=_metaObject8.id;if(_metaObject8.metaModels.length===1){// MetaObject owned by one model, delete
|
|
23471
|
+
delete this.metaObjects[_id4];if(!_metaObject8.parent){delete this.rootMetaObjects[_id4];}}else{var _newMetaModels=[];var metaModelId=metaModel.id;for(var _i548=0,_len119=_metaObject8.metaModels.length;_i548<_len119;_i548++){if(_metaObject8.metaModels[_i548].id!==metaModelId){_newMetaModels.push(_metaObject8.metaModels[_i548]);}}_metaObject8.metaModels=_newMetaModels;}}}// Re-link entire MetaObject parent/child hierarchy
|
|
23471
23472
|
for(var objectId in this.metaObjects){var _metaObject9=this.metaObjects[objectId];if(_metaObject9.children){_metaObject9.children=[];}}this.metaObjectsByType={};for(var _objectId3 in this.metaObjects){var _metaObject10=this.metaObjects[_objectId3];var type=_metaObject10.type;if(_metaObject10.children){_metaObject10.children=null;}(this.metaObjectsByType[type]||(this.metaObjectsByType[type]={}))[_objectId3]=_metaObject10;}for(var _objectId4 in this.metaObjects){var _metaObject11=this.metaObjects[_objectId4];if(_metaObject11.parentId){var parentMetaObject=this.metaObjects[_metaObject11.parentId];if(parentMetaObject){_metaObject11.parent=parentMetaObject;(parentMetaObject.children||(parentMetaObject.children=[])).push(_metaObject11);}}}delete this.metaModels[id];this.fire("metaModelDestroyed",id);}/**
|
|
23472
23473
|
* Gets the {@link MetaObject#id}s of the {@link MetaObject}s that have the given {@link MetaObject#type}.
|
|
23473
23474
|
*
|