@vitrosoftware/common-ui-ts 1.1.250 → 1.1.252

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.
@@ -152,4 +152,5 @@ export interface TableViewService {
152
152
  getBodyWidth(): number;
153
153
  getBodyScrollWidth(): number;
154
154
  getLastVisibleCol(section?: number): string;
155
+ calcWidth(col: string): void;
155
156
  }
@@ -167,4 +167,5 @@ export declare class TableViewServiceImpl implements services.TableViewService {
167
167
  getBodyWidth(): number;
168
168
  getBodyScrollWidth(): number;
169
169
  getLastVisibleCol(section?: number): string;
170
+ calcWidth(col: string): void;
170
171
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitrosoftware/common-ui-ts",
3
- "version": "1.1.250",
3
+ "version": "1.1.252",
4
4
  "description": "vitro software common ui ts",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -1,11 +1,11 @@
1
- import { BIMModel, BIMCommon, BIMAnnotation } from '/resource/bimViewer/js/bim-viewer-models.js?version=1.1.250';
1
+ import { BIMModel, BIMCommon, BIMAnnotation } from '/resource/bimViewer/js/bim-viewer-models.js?version=1.1.252';
2
2
 
3
3
  import {
4
4
  Viewer, XKTLoaderPlugin, NavCubePlugin, SectionPlanesPlugin, math, BCFViewpointsPlugin, AnnotationsPlugin,
5
5
  ContextMenu, TreeViewPlugin, StoreyViewsPlugin, AngleMeasurementsPlugin, CameraMemento, DistanceMeasurementsPlugin,
6
6
  GLTFLoaderPlugin, utils, FastNavPlugin, MetaObject, parsers
7
7
  }
8
- from '/resource/bimViewer/js/xeokit/xeokit-sdk.es.js?version=1.1.250';
8
+ from '/resource/bimViewer/js/xeokit/xeokit-sdk.es.js?version=1.1.252';
9
9
 
10
10
 
11
11
  //----------------------------------------------------------------------------------------------------------------------
@@ -1,18 +1,18 @@
1
- import * as three from '/resource/dxfViewer/js/three/three.module.js?version=1.1.250';
2
- import { Matrix3, Vector2 } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.250';
3
- import { Batch, DxfViewer, Layer } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.250';
4
- import { Block as SceneBlock } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.250';
5
- import { Block } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.250';
6
- import { DxfScene, Entity, ColorCode } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.250';
7
- import { TextRenderer, ParseSpecialChars, HAlign, VAlign } from '/resource/dxfViewer/js/viewer/TextRenderer.js?version=1.1.250';
8
- import { DxfWorker } from '/resource/dxfViewer/js/viewer/DxfWorker.js?version=1.1.250';
9
- import { DxfFetcher } from '/resource/dxfViewer/js/viewer/DxfFetcher.js?version=1.1.250';
10
- import DxfParser from '/resource/dxfViewer/js/viewer/parser/DxfParser.js?version=1.1.250';
11
- import { RenderBatch } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.250';
12
- import { DynamicBuffer, NativeType } from '/resource/dxfViewer/js/viewer/DynamicBuffer.js?version=1.1.250';
13
- import { OrbitControls } from '/resource/dxfViewer/js/viewer/OrbitControls.js?version=1.1.250';
14
- import { CSS2DRenderer, CSS2DObject } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.250';
15
- import * as fflate from '/resource/dxfViewer/js/fflate/fflate.module.js?version=1.1.250'
1
+ import * as three from '/resource/dxfViewer/js/three/three.module.js?version=1.1.252';
2
+ import { Matrix3, Vector2 } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.252';
3
+ import { Batch, DxfViewer, Layer } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.252';
4
+ import { Block as SceneBlock } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.252';
5
+ import { Block } from '/resource/dxfViewer/js/viewer/DxfViewer.js?version=1.1.252';
6
+ import { DxfScene, Entity, ColorCode } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.252';
7
+ import { TextRenderer, ParseSpecialChars, HAlign, VAlign } from '/resource/dxfViewer/js/viewer/TextRenderer.js?version=1.1.252';
8
+ import { DxfWorker } from '/resource/dxfViewer/js/viewer/DxfWorker.js?version=1.1.252';
9
+ import { DxfFetcher } from '/resource/dxfViewer/js/viewer/DxfFetcher.js?version=1.1.252';
10
+ import DxfParser from '/resource/dxfViewer/js/viewer/parser/DxfParser.js?version=1.1.252';
11
+ import { RenderBatch } from '/resource/dxfViewer/js/viewer/DxfScene.js?version=1.1.252';
12
+ import { DynamicBuffer, NativeType } from '/resource/dxfViewer/js/viewer/DynamicBuffer.js?version=1.1.252';
13
+ import { OrbitControls } from '/resource/dxfViewer/js/viewer/OrbitControls.js?version=1.1.252';
14
+ import { CSS2DRenderer, CSS2DObject } from '/resource/dxfViewer/js/three/three.module.js?version=1.1.252';
15
+ import * as fflate from '/resource/dxfViewer/js/fflate/fflate.module.js?version=1.1.252'
16
16
 
17
17
  let treeViewData = [];
18
18
  let notes = [];
@@ -162,7 +162,7 @@ export class VitroBatch {
162
162
  geometry.setIndex(chunk.indices)
163
163
  }
164
164
  const obj = new objConstructor(geometry, material)
165
- obj.frustumCulled = false
165
+ obj.frustumCulled = true
166
166
  obj.matrixAutoUpdate = false
167
167
  obj._dxfViewerLayer = layer
168
168
  if (chunk && chunk.handle) {
@@ -440,10 +440,16 @@ export class VitroDxfScene extends DxfScene {
440
440
  /* Scan all entities to analyze block usage statistics and create viewport vertices. */
441
441
  this.layouts = []
442
442
  this.viewports = []
443
+ console.log("_ProcessInserts")
443
444
  this._ProcessInserts(dxf)
445
+ console.log("_ProcessEntities")
444
446
  this._ProcessEntities(dxf)
447
+ console.log("_ProcessLayouts")
445
448
  this._ProcessLayouts(dxf)
446
449
 
450
+ console.log("_FreeMemory")
451
+ this._FreeMemory(dxf)
452
+ console.log("_BuildScene")
447
453
  this.scene = this._BuildScene()
448
454
  this.scene.layouts = this.layouts
449
455
  this.scene.tileMode = dxf.header["$TILEMODE"] || 0
@@ -451,7 +457,6 @@ export class VitroDxfScene extends DxfScene {
451
457
  delete this.batches//not used RBTree -> replaced by vitroBatches array (ordered for render)
452
458
  delete this.vitroRenderBatches
453
459
  delete this.layers
454
- delete this.blocks
455
460
  delete this.textRenderer
456
461
  delete this.layouts
457
462
  delete this.viewports
@@ -460,6 +465,25 @@ export class VitroDxfScene extends DxfScene {
460
465
  delete this.overlays
461
466
  }
462
467
 
468
+ _FreeMemory(dxf) {
469
+ for (const block of this.blocks.values()) {
470
+ if (block.HasEntities()) {
471
+ for (const entity of block.data.entities) {
472
+ if (entity.type !== "VIEWPORT") {
473
+ entity.vertices = null
474
+ }
475
+ }
476
+ }
477
+ }
478
+ delete this.blocks
479
+
480
+ for (const entity of dxf.entities) {
481
+ if (entity.type !== "VIEWPORT") {
482
+ entity.vertices = null
483
+ }
484
+ }
485
+ }
486
+
463
487
  _BuildScene() {
464
488
  const originScene = super._BuildScene()
465
489
 
@@ -493,8 +517,11 @@ export class VitroDxfScene extends DxfScene {
493
517
  transformsOffset: 0
494
518
  }
495
519
 
496
- for (const batch of this.vitroRenderBatches) {
497
- scene.batches.push(batch.Serialize(buffers));
520
+ var i = this.vitroRenderBatches.length
521
+ while (i--) {
522
+ scene.batches.push(this.vitroRenderBatches[0].Serialize(buffers));
523
+ this.vitroRenderBatches[0] = null
524
+ this.vitroRenderBatches.splice(0, 1);
498
525
  }
499
526
 
500
527
  scene.pointShapeHasDot = originScene.pointShapeHasDot
@@ -575,6 +602,7 @@ export class VitroDxfScene extends DxfScene {
575
602
  this._ProcessDxfEntity(viewport, blockCtx)
576
603
  }
577
604
 
605
+ layout.block.batches = null
578
606
  layout.origin = this.origins.get(layout.spaceHandle)
579
607
  layout.bounds = this.bounds.get(layout.spaceHandle)
580
608
  if (IsModelSpace(layout.space) && !layout.origin)
@@ -628,8 +656,9 @@ export class VitroDxfScene extends DxfScene {
628
656
  for (const block of this.blocks.values()) {
629
657
  if (block.HasEntities()) {
630
658
  const blockCtx = block.DefinitionContext()
659
+ const isSpace = block.IsSpace()
631
660
  for (const entity of block.data.entities) {
632
- if (block.IsSpace()) {
661
+ if (isSpace) {
633
662
  if (entity.type === "INSERT") {//analyze block usage statistics
634
663
  this.inserts.set(entity.handle, entity)
635
664
  const blkDef = this.blocks.get(entity.name)
@@ -1341,7 +1370,7 @@ export class Viewer extends DxfViewer {
1341
1370
  options.colorCorrection = true
1342
1371
  options.clearColor = new three.Color("#fff")
1343
1372
  options.buildScene = true
1344
- options.retainParsedDxf = false,
1373
+ options.retainParsedDxf = true,
1345
1374
  options.autoZoom = true
1346
1375
  }
1347
1376
 
@@ -1518,20 +1547,16 @@ export class Viewer extends DxfViewer {
1518
1547
  this._Emit("init", { layout, isLast: (index + 1) === layoutsLength });
1519
1548
  }
1520
1549
  var space = this.CreateSpace(scene.layouts[0], this.camera)//"*Model_Space"
1550
+ console.log("LoadBatches")
1521
1551
  this.LoadBatches()
1522
1552
  this._Emit("loaded", { space })
1523
1553
 
1524
- this.SwitchSpace(scene.layouts[0]);
1525
-
1526
1554
  if (this.hasMissingChars) {
1527
1555
  this._Message("Some characters cannot be properly displayed due to missing fonts",
1528
1556
  MessageLevel.WARN)
1529
1557
  }
1530
1558
 
1531
- // if (!scene.tileMode) {
1532
- // this.SwitchSpace(scene.layouts[1])
1533
- // return
1534
- // }
1559
+ this.Render()
1535
1560
  }
1536
1561
 
1537
1562
  Render() {
@@ -1563,7 +1588,9 @@ export class Viewer extends DxfViewer {
1563
1588
  //render current space entities (viewport borders (for layouts) and etc.)
1564
1589
  this.renderer.setViewport(0, 0, this.canvasWidth, this.canvasHeight);
1565
1590
  this.renderer.setScissor(0, 0, this.canvasWidth, this.canvasHeight);
1591
+ console.log("Start render")
1566
1592
  this.renderer.render(space.scene, this.camera)
1593
+ console.log("Finish render")
1567
1594
 
1568
1595
  if (isFirstRenderVieports) {
1569
1596
  this.DoFakeZoomToRedrawScene()
@@ -1596,6 +1623,7 @@ export class Viewer extends DxfViewer {
1596
1623
  obj.visible = layer.isVisible
1597
1624
  }
1598
1625
  }
1626
+ console.info(`Objects added ${space.scene.children.length}`)
1599
1627
  }
1600
1628
 
1601
1629
  OnProgress(phase, size, totalSize) {
@@ -1643,7 +1671,7 @@ export class Viewer extends DxfViewer {
1643
1671
  LoadBatches() {
1644
1672
  let i = 0;
1645
1673
  for (const batch of this.scene.batches) {
1646
- batch.renderOrder = i;
1674
+ batch.renderOrder = 0 //renderer.sortObjects = false -> objects are drawn as added
1647
1675
  this._LoadBatch(this.scene, batch)
1648
1676
  i = i + 1
1649
1677
  }
@@ -1982,6 +2010,7 @@ export class Viewer extends DxfViewer {
1982
2010
  }
1983
2011
 
1984
2012
  AddObject(obj) {
2013
+ /*
1985
2014
  this.objects.push(obj)
1986
2015
  const name = obj.name
1987
2016
  if (name) {
@@ -1992,6 +2021,7 @@ export class Viewer extends DxfViewer {
1992
2021
  }
1993
2022
  objectList.push(obj)
1994
2023
  }
2024
+ */
1995
2025
  }
1996
2026
 
1997
2027
  ZoomTo(input, offset) {
@@ -2752,7 +2782,8 @@ export class VitroRenderBatch extends RenderBatch {
2752
2782
  let curSpace = 0
2753
2783
  for (const chunk of this.chunks) {
2754
2784
  const space = INDEXED_CHUNK_SIZE - chunk.vertices.GetSize() / 3 //vitro 3 instead 2
2755
- if (space < verticesCount) {
2785
+ if (space < verticesCount
2786
+ || (entity && chunk.handle != entity.handle)) {
2756
2787
  continue
2757
2788
  }
2758
2789
  if (curChunk === null || space < curSpace) {
@@ -2761,7 +2792,7 @@ export class VitroRenderBatch extends RenderBatch {
2761
2792
  }
2762
2793
  }
2763
2794
 
2764
- if (curChunk === null || (entity && entity.handle != curChunk.handle)) {
2795
+ if (curChunk === null) {
2765
2796
  curChunk = this._NewChunk(verticesCount)
2766
2797
  if (entity && entity.handle) {//vitro
2767
2798
  curChunk.handle = entity.handle
@@ -21208,7 +21208,7 @@ const defaultOptions = {
21208
21208
  kind: OptionKind.WORKER
21209
21209
  },
21210
21210
  workerSrc: {
21211
- value: "resource/pdfViewer/js/pdf.worker.js?version=1.1.250",
21211
+ value: "resource/pdfViewer/js/pdf.worker.js?version=1.1.252",
21212
21212
  kind: OptionKind.WORKER
21213
21213
  }
21214
21214
  };