@xeokit/xeokit-sdk 2.4.0-alpha-100 → 2.4.0-alpha-104
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 +159 -151
- package/dist/xeokit-sdk.es.js +159 -151
- package/dist/xeokit-sdk.es5.js +44 -42
- package/dist/xeokit-sdk.min.cjs.js +4 -4
- package/dist/xeokit-sdk.min.es.js +4 -4
- package/dist/xeokit-sdk.min.es5.js +3 -3
- package/package.json +1 -1
- package/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsMouseControl.js +0 -1
- package/src/plugins/NavCubePlugin/CubeTextureCanvas.js +4 -4
- package/src/viewer/scene/Bitmap/Bitmap.js +4 -1
- package/src/viewer/scene/CameraControl/lib/handlers/MousePickHandler.js +2 -1
- package/src/viewer/scene/LineSet/LineSet.js +7 -4
- package/src/viewer/scene/LineSet/LineSet.new.js +160 -0
- package/src/viewer/scene/model/MeshClusteringManager.js +31 -0
- package/src/viewer/scene/model/SceneModel.js +1 -1
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureColorRenderer.js +3 -3
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureEdgesColorRenderer.js +2 -3
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureEdgesRenderer.js +5 -7
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureSnapDepthBufInitRenderer.js +4 -2
- package/src/viewer/scene/model/vbo/snapBatching/SnapBatchingDepthBufInitRenderer.js +4 -2
- package/src/viewer/scene/model/vbo/snapInstancing/SnapInstancingDepthBufInitRenderer.js +4 -2
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -45983,7 +45983,10 @@ class Bitmap extends Component {
|
|
|
45983
45983
|
this._rtcPos = math.vec3();
|
|
45984
45984
|
this._imageSize = math.vec2();
|
|
45985
45985
|
|
|
45986
|
-
this._texture = new Texture(this
|
|
45986
|
+
this._texture = new Texture(this, {
|
|
45987
|
+
flipY: true
|
|
45988
|
+
});
|
|
45989
|
+
|
|
45987
45990
|
this._image = new Image();
|
|
45988
45991
|
|
|
45989
45992
|
if (this._type !== "jpg" && this._type !== "png") {
|
|
@@ -46356,6 +46359,116 @@ class Bitmap extends Component {
|
|
|
46356
46359
|
}
|
|
46357
46360
|
}
|
|
46358
46361
|
|
|
46362
|
+
const tempVec3a$v = math.vec3();
|
|
46363
|
+
const tempVec3b$q = math.vec3();
|
|
46364
|
+
const tempMat4a$h = math.mat4();
|
|
46365
|
+
|
|
46366
|
+
/**
|
|
46367
|
+
* @private
|
|
46368
|
+
*/
|
|
46369
|
+
class FrustumPlane {
|
|
46370
|
+
|
|
46371
|
+
constructor() {
|
|
46372
|
+
this.normal = math.vec3();
|
|
46373
|
+
this.offset = 0;
|
|
46374
|
+
this.testVertex = math.vec3();
|
|
46375
|
+
}
|
|
46376
|
+
|
|
46377
|
+
set(nx, ny, nz, offset) {
|
|
46378
|
+
const s = 1.0 / Math.sqrt(nx * nx + ny * ny + nz * nz);
|
|
46379
|
+
this.normal[0] = nx * s;
|
|
46380
|
+
this.normal[1] = ny * s;
|
|
46381
|
+
this.normal[2] = nz * s;
|
|
46382
|
+
this.offset = offset * s;
|
|
46383
|
+
this.testVertex[0] = (this.normal[0] >= 0.0) ? 1 : 0;
|
|
46384
|
+
this.testVertex[1] = (this.normal[1] >= 0.0) ? 1 : 0;
|
|
46385
|
+
this.testVertex[2] = (this.normal[2] >= 0.0) ? 1 : 0;
|
|
46386
|
+
}
|
|
46387
|
+
}
|
|
46388
|
+
|
|
46389
|
+
/**
|
|
46390
|
+
* @private
|
|
46391
|
+
*/
|
|
46392
|
+
class Frustum {
|
|
46393
|
+
constructor() {
|
|
46394
|
+
this.planes = [
|
|
46395
|
+
new FrustumPlane(), new FrustumPlane(), new FrustumPlane(),
|
|
46396
|
+
new FrustumPlane(), new FrustumPlane(), new FrustumPlane()
|
|
46397
|
+
];
|
|
46398
|
+
}
|
|
46399
|
+
}
|
|
46400
|
+
|
|
46401
|
+
Frustum.INSIDE = 0;
|
|
46402
|
+
Frustum.INTERSECT = 1;
|
|
46403
|
+
Frustum.OUTSIDE = 2;
|
|
46404
|
+
|
|
46405
|
+
/** @private */
|
|
46406
|
+
function setFrustum(frustum, viewMat, projMat) {
|
|
46407
|
+
|
|
46408
|
+
const m = math.mulMat4(projMat, viewMat, tempMat4a$h);
|
|
46409
|
+
|
|
46410
|
+
const m0 = m[0];
|
|
46411
|
+
const m1 = m[1];
|
|
46412
|
+
const m2 = m[2];
|
|
46413
|
+
const m3 = m[3];
|
|
46414
|
+
const m4 = m[4];
|
|
46415
|
+
const m5 = m[5];
|
|
46416
|
+
const m6 = m[6];
|
|
46417
|
+
const m7 = m[7];
|
|
46418
|
+
const m8 = m[8];
|
|
46419
|
+
const m9 = m[9];
|
|
46420
|
+
const m10 = m[10];
|
|
46421
|
+
const m11 = m[11];
|
|
46422
|
+
const m12 = m[12];
|
|
46423
|
+
const m13 = m[13];
|
|
46424
|
+
const m14 = m[14];
|
|
46425
|
+
const m15 = m[15];
|
|
46426
|
+
|
|
46427
|
+
frustum.planes[0].set(m3 - m0, m7 - m4, m11 - m8, m15 - m12);
|
|
46428
|
+
frustum.planes[1].set(m3 + m0, m7 + m4, m11 + m8, m15 + m12);
|
|
46429
|
+
frustum.planes[2].set(m3 - m1, m7 - m5, m11 - m9, m15 - m13);
|
|
46430
|
+
frustum.planes[3].set(m3 + m1, m7 + m5, m11 + m9, m15 + m13);
|
|
46431
|
+
frustum.planes[4].set(m3 - m2, m7 - m6, m11 - m10, m15 - m14);
|
|
46432
|
+
frustum.planes[5].set(m3 + m2, m7 + m6, m11 + m10, m15 + m14);
|
|
46433
|
+
}
|
|
46434
|
+
|
|
46435
|
+
/** @private */
|
|
46436
|
+
function frustumIntersectsAABB3(frustum, aabb) {
|
|
46437
|
+
|
|
46438
|
+
let ret = Frustum.INSIDE;
|
|
46439
|
+
|
|
46440
|
+
const min = tempVec3a$v;
|
|
46441
|
+
const max = tempVec3b$q;
|
|
46442
|
+
|
|
46443
|
+
min[0] = aabb[0];
|
|
46444
|
+
min[1] = aabb[1];
|
|
46445
|
+
min[2] = aabb[2];
|
|
46446
|
+
max[0] = aabb[3];
|
|
46447
|
+
max[1] = aabb[4];
|
|
46448
|
+
max[2] = aabb[5];
|
|
46449
|
+
|
|
46450
|
+
const bminmax = [min, max];
|
|
46451
|
+
|
|
46452
|
+
for (let i = 0; i < 6; ++i) {
|
|
46453
|
+
const plane = frustum.planes[i];
|
|
46454
|
+
if (((plane.normal[0] * bminmax[plane.testVertex[0]][0]) +
|
|
46455
|
+
(plane.normal[1] * bminmax[plane.testVertex[1]][1]) +
|
|
46456
|
+
(plane.normal[2] * bminmax[plane.testVertex[2]][2]) +
|
|
46457
|
+
(plane.offset)) < 0.0) {
|
|
46458
|
+
return Frustum.OUTSIDE;
|
|
46459
|
+
}
|
|
46460
|
+
|
|
46461
|
+
if (((plane.normal[0] * bminmax[1 - plane.testVertex[0]][0]) +
|
|
46462
|
+
(plane.normal[1] * bminmax[1 - plane.testVertex[1]][1]) +
|
|
46463
|
+
(plane.normal[2] * bminmax[1 - plane.testVertex[2]][2]) +
|
|
46464
|
+
(plane.offset)) < 0.0) {
|
|
46465
|
+
ret = Frustum.INTERSECT;
|
|
46466
|
+
}
|
|
46467
|
+
}
|
|
46468
|
+
|
|
46469
|
+
return ret;
|
|
46470
|
+
}
|
|
46471
|
+
|
|
46359
46472
|
/**
|
|
46360
46473
|
* A set of 3D line segments.
|
|
46361
46474
|
*
|
|
@@ -46430,8 +46543,10 @@ class LineSet extends Component {
|
|
|
46430
46543
|
super(owner, cfg);
|
|
46431
46544
|
|
|
46432
46545
|
this._positions = cfg.positions || [];
|
|
46433
|
-
|
|
46434
|
-
|
|
46546
|
+
const rtcPositions = new Float32Array(this._positions.length);
|
|
46547
|
+
const rtcCenter = math.vec3();
|
|
46548
|
+
const cellSize = 100;
|
|
46549
|
+
const rtcNeeded = worldToRTCPositions(this._positions, new Float32Array(this._positions.length), rtcCenter, cellSize);
|
|
46435
46550
|
|
|
46436
46551
|
if (cfg.indices) {
|
|
46437
46552
|
this._indices = cfg.indices;
|
|
@@ -46449,9 +46564,9 @@ class LineSet extends Component {
|
|
|
46449
46564
|
collidable: cfg.collidable,
|
|
46450
46565
|
geometry: new VBOGeometry(this, {
|
|
46451
46566
|
primitive: "lines",
|
|
46452
|
-
positions: this._positions,
|
|
46567
|
+
positions: rtcNeeded ? rtcPositions : this._positions,
|
|
46453
46568
|
indices: this._indices,
|
|
46454
|
-
origin:
|
|
46569
|
+
origin: rtcNeeded ? rtcCenter : null
|
|
46455
46570
|
}),
|
|
46456
46571
|
material: new PhongMaterial(this, {
|
|
46457
46572
|
diffuse: cfg.color || [0, 0, 0],
|
|
@@ -46514,8 +46629,8 @@ class LineSet extends Component {
|
|
|
46514
46629
|
}
|
|
46515
46630
|
|
|
46516
46631
|
const tempVec3$5 = math.vec3();
|
|
46517
|
-
const tempVec3a$
|
|
46518
|
-
const tempVec3b$
|
|
46632
|
+
const tempVec3a$u = math.vec3();
|
|
46633
|
+
const tempVec3b$p = math.vec3();
|
|
46519
46634
|
const tempVec3c$m = math.vec3();
|
|
46520
46635
|
|
|
46521
46636
|
/**
|
|
@@ -47195,8 +47310,8 @@ class BCFViewpointsPlugin extends Plugin {
|
|
|
47195
47310
|
bcfViewpoint.bitmaps.forEach(function (e) {
|
|
47196
47311
|
const bitmap_type = e.bitmap_type || "jpg"; // "jpg" | "png"
|
|
47197
47312
|
const bitmap_data = e.bitmap_data; // base64
|
|
47198
|
-
let location = xyzObjectToArray(e.location, tempVec3a$
|
|
47199
|
-
let normal = xyzObjectToArray(e.normal, tempVec3b$
|
|
47313
|
+
let location = xyzObjectToArray(e.location, tempVec3a$u);
|
|
47314
|
+
let normal = xyzObjectToArray(e.normal, tempVec3b$p);
|
|
47200
47315
|
let up = xyzObjectToArray(e.up, tempVec3c$m);
|
|
47201
47316
|
let height = e.height || 1;
|
|
47202
47317
|
if (!bitmap_type) {
|
|
@@ -48711,7 +48826,6 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
48711
48826
|
this.pointerLens.visible = false;
|
|
48712
48827
|
}
|
|
48713
48828
|
this.reset();
|
|
48714
|
-
this.viewer;
|
|
48715
48829
|
const canvas = this.scene.canvas.canvas;
|
|
48716
48830
|
canvas.removeEventListener("mousedown", this._onMouseDown);
|
|
48717
48831
|
canvas.removeEventListener("mouseup", this._onMouseUp);
|
|
@@ -50593,7 +50707,7 @@ class SplineCurve extends Curve {
|
|
|
50593
50707
|
}
|
|
50594
50708
|
}
|
|
50595
50709
|
|
|
50596
|
-
const tempVec3a$
|
|
50710
|
+
const tempVec3a$t = math.vec3();
|
|
50597
50711
|
|
|
50598
50712
|
/**
|
|
50599
50713
|
* @desc Defines a sequence of frames along which a {@link CameraPathAnimation} can animate a {@link Camera}.
|
|
@@ -50725,9 +50839,9 @@ class CameraPath extends Component {
|
|
|
50725
50839
|
t = t / (this._frames[this._frames.length - 1].t - this._frames[0].t);
|
|
50726
50840
|
t = t < 0.0 ? 0.0 : (t > 1.0 ? 1.0 : t);
|
|
50727
50841
|
|
|
50728
|
-
camera.eye = this._eyeCurve.getPoint(t, tempVec3a$
|
|
50729
|
-
camera.look = this._lookCurve.getPoint(t, tempVec3a$
|
|
50730
|
-
camera.up = this._upCurve.getPoint(t, tempVec3a$
|
|
50842
|
+
camera.eye = this._eyeCurve.getPoint(t, tempVec3a$t);
|
|
50843
|
+
camera.look = this._lookCurve.getPoint(t, tempVec3a$t);
|
|
50844
|
+
camera.up = this._upCurve.getPoint(t, tempVec3a$t);
|
|
50731
50845
|
}
|
|
50732
50846
|
|
|
50733
50847
|
/**
|
|
@@ -51766,7 +51880,7 @@ CameraPathAnimation.PLAYING = 2;
|
|
|
51766
51880
|
CameraPathAnimation.PLAYING_TO = 3;
|
|
51767
51881
|
|
|
51768
51882
|
const tempVec3$3 = math.vec3();
|
|
51769
|
-
const tempVec3b$
|
|
51883
|
+
const tempVec3b$o = math.vec3();
|
|
51770
51884
|
math.vec3();
|
|
51771
51885
|
const zeroVec$2 = math.vec3([0, -1, 0]);
|
|
51772
51886
|
const tempQuat = math.vec4([0, 0, 0, 1]);
|
|
@@ -52194,7 +52308,7 @@ class ImagePlane extends Component {
|
|
|
52194
52308
|
const dist = -math.dotVec3(negDir, tempVec3$3);
|
|
52195
52309
|
|
|
52196
52310
|
math.normalizeVec3(negDir);
|
|
52197
|
-
math.mulVec3Scalar(negDir, dist, tempVec3b$
|
|
52311
|
+
math.mulVec3Scalar(negDir, dist, tempVec3b$o);
|
|
52198
52312
|
math.vec3PairToQuaternion(zeroVec$2, dir, tempQuat);
|
|
52199
52313
|
|
|
52200
52314
|
this._node.quaternion = tempQuat;
|
|
@@ -53360,116 +53474,6 @@ class SpriteMarker extends Marker {
|
|
|
53360
53474
|
}
|
|
53361
53475
|
}
|
|
53362
53476
|
|
|
53363
|
-
const tempVec3a$t = math.vec3();
|
|
53364
|
-
const tempVec3b$o = math.vec3();
|
|
53365
|
-
const tempMat4a$h = math.mat4();
|
|
53366
|
-
|
|
53367
|
-
/**
|
|
53368
|
-
* @private
|
|
53369
|
-
*/
|
|
53370
|
-
class FrustumPlane {
|
|
53371
|
-
|
|
53372
|
-
constructor() {
|
|
53373
|
-
this.normal = math.vec3();
|
|
53374
|
-
this.offset = 0;
|
|
53375
|
-
this.testVertex = math.vec3();
|
|
53376
|
-
}
|
|
53377
|
-
|
|
53378
|
-
set(nx, ny, nz, offset) {
|
|
53379
|
-
const s = 1.0 / Math.sqrt(nx * nx + ny * ny + nz * nz);
|
|
53380
|
-
this.normal[0] = nx * s;
|
|
53381
|
-
this.normal[1] = ny * s;
|
|
53382
|
-
this.normal[2] = nz * s;
|
|
53383
|
-
this.offset = offset * s;
|
|
53384
|
-
this.testVertex[0] = (this.normal[0] >= 0.0) ? 1 : 0;
|
|
53385
|
-
this.testVertex[1] = (this.normal[1] >= 0.0) ? 1 : 0;
|
|
53386
|
-
this.testVertex[2] = (this.normal[2] >= 0.0) ? 1 : 0;
|
|
53387
|
-
}
|
|
53388
|
-
}
|
|
53389
|
-
|
|
53390
|
-
/**
|
|
53391
|
-
* @private
|
|
53392
|
-
*/
|
|
53393
|
-
class Frustum {
|
|
53394
|
-
constructor() {
|
|
53395
|
-
this.planes = [
|
|
53396
|
-
new FrustumPlane(), new FrustumPlane(), new FrustumPlane(),
|
|
53397
|
-
new FrustumPlane(), new FrustumPlane(), new FrustumPlane()
|
|
53398
|
-
];
|
|
53399
|
-
}
|
|
53400
|
-
}
|
|
53401
|
-
|
|
53402
|
-
Frustum.INSIDE = 0;
|
|
53403
|
-
Frustum.INTERSECT = 1;
|
|
53404
|
-
Frustum.OUTSIDE = 2;
|
|
53405
|
-
|
|
53406
|
-
/** @private */
|
|
53407
|
-
function setFrustum(frustum, viewMat, projMat) {
|
|
53408
|
-
|
|
53409
|
-
const m = math.mulMat4(projMat, viewMat, tempMat4a$h);
|
|
53410
|
-
|
|
53411
|
-
const m0 = m[0];
|
|
53412
|
-
const m1 = m[1];
|
|
53413
|
-
const m2 = m[2];
|
|
53414
|
-
const m3 = m[3];
|
|
53415
|
-
const m4 = m[4];
|
|
53416
|
-
const m5 = m[5];
|
|
53417
|
-
const m6 = m[6];
|
|
53418
|
-
const m7 = m[7];
|
|
53419
|
-
const m8 = m[8];
|
|
53420
|
-
const m9 = m[9];
|
|
53421
|
-
const m10 = m[10];
|
|
53422
|
-
const m11 = m[11];
|
|
53423
|
-
const m12 = m[12];
|
|
53424
|
-
const m13 = m[13];
|
|
53425
|
-
const m14 = m[14];
|
|
53426
|
-
const m15 = m[15];
|
|
53427
|
-
|
|
53428
|
-
frustum.planes[0].set(m3 - m0, m7 - m4, m11 - m8, m15 - m12);
|
|
53429
|
-
frustum.planes[1].set(m3 + m0, m7 + m4, m11 + m8, m15 + m12);
|
|
53430
|
-
frustum.planes[2].set(m3 - m1, m7 - m5, m11 - m9, m15 - m13);
|
|
53431
|
-
frustum.planes[3].set(m3 + m1, m7 + m5, m11 + m9, m15 + m13);
|
|
53432
|
-
frustum.planes[4].set(m3 - m2, m7 - m6, m11 - m10, m15 - m14);
|
|
53433
|
-
frustum.planes[5].set(m3 + m2, m7 + m6, m11 + m10, m15 + m14);
|
|
53434
|
-
}
|
|
53435
|
-
|
|
53436
|
-
/** @private */
|
|
53437
|
-
function frustumIntersectsAABB3(frustum, aabb) {
|
|
53438
|
-
|
|
53439
|
-
let ret = Frustum.INSIDE;
|
|
53440
|
-
|
|
53441
|
-
const min = tempVec3a$t;
|
|
53442
|
-
const max = tempVec3b$o;
|
|
53443
|
-
|
|
53444
|
-
min[0] = aabb[0];
|
|
53445
|
-
min[1] = aabb[1];
|
|
53446
|
-
min[2] = aabb[2];
|
|
53447
|
-
max[0] = aabb[3];
|
|
53448
|
-
max[1] = aabb[4];
|
|
53449
|
-
max[2] = aabb[5];
|
|
53450
|
-
|
|
53451
|
-
const bminmax = [min, max];
|
|
53452
|
-
|
|
53453
|
-
for (let i = 0; i < 6; ++i) {
|
|
53454
|
-
const plane = frustum.planes[i];
|
|
53455
|
-
if (((plane.normal[0] * bminmax[plane.testVertex[0]][0]) +
|
|
53456
|
-
(plane.normal[1] * bminmax[plane.testVertex[1]][1]) +
|
|
53457
|
-
(plane.normal[2] * bminmax[plane.testVertex[2]][2]) +
|
|
53458
|
-
(plane.offset)) < 0.0) {
|
|
53459
|
-
return Frustum.OUTSIDE;
|
|
53460
|
-
}
|
|
53461
|
-
|
|
53462
|
-
if (((plane.normal[0] * bminmax[1 - plane.testVertex[0]][0]) +
|
|
53463
|
-
(plane.normal[1] * bminmax[1 - plane.testVertex[1]][1]) +
|
|
53464
|
-
(plane.normal[2] * bminmax[1 - plane.testVertex[2]][2]) +
|
|
53465
|
-
(plane.offset)) < 0.0) {
|
|
53466
|
-
ret = Frustum.INTERSECT;
|
|
53467
|
-
}
|
|
53468
|
-
}
|
|
53469
|
-
|
|
53470
|
-
return ret;
|
|
53471
|
-
}
|
|
53472
|
-
|
|
53473
53477
|
/**
|
|
53474
53478
|
* @desc Saves and restores the state of a {@link Scene}'s {@link Camera}.
|
|
53475
53479
|
*
|
|
@@ -59176,7 +59180,6 @@ class SnapBatchingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
59176
59180
|
src.push("float tmp = clipPos.w;");
|
|
59177
59181
|
src.push("clipPos.xyzw /= tmp;");
|
|
59178
59182
|
src.push("clipPos.xy = remapClipPos(clipPos.xy);");
|
|
59179
|
-
src.push("clipPos.z += 0.0001;"); // small Z offset
|
|
59180
59183
|
src.push("clipPos.xyzw *= tmp;");
|
|
59181
59184
|
{
|
|
59182
59185
|
src.push("vFragDepth = 1.0 + clipPos.w;");
|
|
@@ -59234,7 +59237,10 @@ class SnapBatchingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
59234
59237
|
src.push(" }");
|
|
59235
59238
|
}
|
|
59236
59239
|
{
|
|
59237
|
-
src.push("
|
|
59240
|
+
src.push(" float dx = dFdx(vFragDepth);");
|
|
59241
|
+
src.push(" float dy = dFdy(vFragDepth);");
|
|
59242
|
+
src.push(" float diff = sqrt(dx*dx+dy*dy);");
|
|
59243
|
+
src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;");
|
|
59238
59244
|
}
|
|
59239
59245
|
src.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);");
|
|
59240
59246
|
src.push("}");
|
|
@@ -64262,7 +64268,6 @@ class SnapInstancingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
64262
64268
|
src.push("float tmp = clipPos.w;");
|
|
64263
64269
|
src.push("clipPos.xyzw /= tmp;");
|
|
64264
64270
|
src.push("clipPos.xy = remapClipPos(clipPos.xy);");
|
|
64265
|
-
src.push("clipPos.z += 0.0001;"); // small Z offset
|
|
64266
64271
|
src.push("clipPos.xyzw *= tmp;");
|
|
64267
64272
|
{
|
|
64268
64273
|
src.push("vFragDepth = 1.0 + clipPos.w;");
|
|
@@ -64320,7 +64325,10 @@ class SnapInstancingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
64320
64325
|
src.push("}");
|
|
64321
64326
|
}
|
|
64322
64327
|
{
|
|
64323
|
-
src.push("
|
|
64328
|
+
src.push(" float dx = dFdx(vFragDepth);");
|
|
64329
|
+
src.push(" float dy = dFdy(vFragDepth);");
|
|
64330
|
+
src.push(" float diff = sqrt(dx*dx+dy*dy);");
|
|
64331
|
+
src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;");
|
|
64324
64332
|
}
|
|
64325
64333
|
src.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);");
|
|
64326
64334
|
src.push("}");
|
|
@@ -73268,9 +73276,9 @@ class TrianglesDataTextureColorRenderer {
|
|
|
73268
73276
|
|
|
73269
73277
|
src.push("uniform int renderPass;");
|
|
73270
73278
|
|
|
73271
|
-
if (scene.entityOffsetsEnabled) {
|
|
73272
|
-
|
|
73273
|
-
}
|
|
73279
|
+
// if (scene.entityOffsetsEnabled) {
|
|
73280
|
+
// src.push("in vec3 offset;");
|
|
73281
|
+
// }
|
|
73274
73282
|
|
|
73275
73283
|
src.push("uniform mat4 sceneModelWorldMatrix;");
|
|
73276
73284
|
src.push("uniform mat4 viewMatrix;");
|
|
@@ -74036,7 +74044,6 @@ const defaultColor = new Float32Array([0, 0, 0, 1]);
|
|
|
74036
74044
|
|
|
74037
74045
|
const tempVec3a$i = math.vec3();
|
|
74038
74046
|
const tempVec3b$e = math.vec3();
|
|
74039
|
-
math.vec3();
|
|
74040
74047
|
const tempVec3d$8 = math.vec3();
|
|
74041
74048
|
const tempMat4a$9 = math.mat4();
|
|
74042
74049
|
|
|
@@ -74099,8 +74106,7 @@ class TrianglesDataTextureEdgesRenderer {
|
|
|
74099
74106
|
if (gotOrigin || gotPosition) {
|
|
74100
74107
|
const rtcOrigin = tempVec3a$i;
|
|
74101
74108
|
if (gotOrigin) {
|
|
74102
|
-
const rotatedOrigin = tempVec3b$e;
|
|
74103
|
-
math.transformPoint3(rotationMatrix, origin, rotatedOrigin);
|
|
74109
|
+
const rotatedOrigin = math.transformPoint3(rotationMatrix, origin, tempVec3b$e);
|
|
74104
74110
|
rtcOrigin[0] = rotatedOrigin[0];
|
|
74105
74111
|
rtcOrigin[1] = rotatedOrigin[1];
|
|
74106
74112
|
rtcOrigin[2] = rotatedOrigin[2];
|
|
@@ -74282,9 +74288,9 @@ class TrianglesDataTextureEdgesRenderer {
|
|
|
74282
74288
|
|
|
74283
74289
|
src.push("uniform int renderPass;");
|
|
74284
74290
|
|
|
74285
|
-
if (scene.entityOffsetsEnabled) {
|
|
74286
|
-
|
|
74287
|
-
}
|
|
74291
|
+
// if (scene.entityOffsetsEnabled) {
|
|
74292
|
+
// src.push("in vec3 offset;");
|
|
74293
|
+
// }
|
|
74288
74294
|
|
|
74289
74295
|
src.push("uniform mat4 sceneModelWorldMatrix;");
|
|
74290
74296
|
src.push("uniform mat4 viewMatrix;");
|
|
@@ -74369,7 +74375,7 @@ class TrianglesDataTextureEdgesRenderer {
|
|
|
74369
74375
|
// get XYZ offset
|
|
74370
74376
|
src.push("vec4 offset = vec4(texelFetch (uTexturePerObjectIdOffsets, objectIndexCoords, 0).rgb, 0.0);");
|
|
74371
74377
|
|
|
74372
|
-
src.push("worldPosition.xyz = worldPosition.xyz + offset.xyz;");
|
|
74378
|
+
src.push("worldPosition.xyz = worldPosition.xyz + offset.xyz + vec3(110.0,50.0, 10.0);");
|
|
74373
74379
|
|
|
74374
74380
|
src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");
|
|
74375
74381
|
|
|
@@ -74519,8 +74525,7 @@ class TrianglesDataTextureEdgesColorRenderer {
|
|
|
74519
74525
|
if (gotOrigin || gotPosition) {
|
|
74520
74526
|
const rtcOrigin = tempVec3a$h;
|
|
74521
74527
|
if (gotOrigin) {
|
|
74522
|
-
const rotatedOrigin = tempVec3b$d;
|
|
74523
|
-
math.transformPoint3(rotationMatrix, origin, rotatedOrigin);
|
|
74528
|
+
const rotatedOrigin = math.transformPoint3(rotationMatrix, origin, tempVec3b$d);
|
|
74524
74529
|
rtcOrigin[0] = rotatedOrigin[0];
|
|
74525
74530
|
rtcOrigin[1] = rotatedOrigin[1];
|
|
74526
74531
|
rtcOrigin[2] = rotatedOrigin[2];
|
|
@@ -74787,7 +74792,7 @@ class TrianglesDataTextureEdgesColorRenderer {
|
|
|
74787
74792
|
// get XYZ offset
|
|
74788
74793
|
src.push("vec4 offset = vec4(texelFetch (uTexturePerObjectIdOffsets, objectIndexCoords, 0).rgb, 0.0);");
|
|
74789
74794
|
|
|
74790
|
-
|
|
74795
|
+
src.push("worldPosition.xyz = worldPosition.xyz + offset.xyz;");
|
|
74791
74796
|
|
|
74792
74797
|
src.push(" vec4 viewPosition = viewMatrix * worldPosition; ");
|
|
74793
74798
|
|
|
@@ -76555,7 +76560,6 @@ class TrianglesDataTextureSnapDepthBufInitRenderer {
|
|
|
76555
76560
|
src.push("float tmp = clipPos.w;");
|
|
76556
76561
|
src.push("clipPos.xyzw /= tmp;");
|
|
76557
76562
|
src.push("clipPos.xy = remapClipPos(clipPos.xy);");
|
|
76558
|
-
src.push("clipPos.z += 0.0001;"); // small Z offset
|
|
76559
76563
|
src.push("clipPos.xyzw *= tmp;");
|
|
76560
76564
|
{
|
|
76561
76565
|
src.push("vFragDepth = 1.0 + clipPos.w;");
|
|
@@ -76613,7 +76617,10 @@ class TrianglesDataTextureSnapDepthBufInitRenderer {
|
|
|
76613
76617
|
src.push(" }");
|
|
76614
76618
|
}
|
|
76615
76619
|
{
|
|
76616
|
-
src.push("
|
|
76620
|
+
src.push(" float dx = dFdx(vFragDepth);");
|
|
76621
|
+
src.push(" float dy = dFdy(vFragDepth);");
|
|
76622
|
+
src.push(" float diff = sqrt(dx*dx+dy*dy);");
|
|
76623
|
+
src.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;");
|
|
76617
76624
|
}
|
|
76618
76625
|
src.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, - uLayerNumber);");
|
|
76619
76626
|
src.push("}");
|
|
@@ -82912,7 +82919,7 @@ class SceneModel extends Component {
|
|
|
82912
82919
|
cfg.primitive = "triangles";
|
|
82913
82920
|
}
|
|
82914
82921
|
if (cfg.primitive !== "points" && cfg.primitive !== "lines" && cfg.primitive !== "triangles" && cfg.primitive !== "solid" && cfg.primitive !== "surface") {
|
|
82915
|
-
this.error(`[createGeometry] Unsupported value for 'primitive': '${primitive}' - supported values are 'points', 'lines', 'triangles', 'solid' and 'surface'. Defaulting to 'triangles'.`);
|
|
82922
|
+
this.error(`[createGeometry] Unsupported value for 'primitive': '${cfg.primitive}' - supported values are 'points', 'lines', 'triangles', 'solid' and 'surface'. Defaulting to 'triangles'.`);
|
|
82916
82923
|
return;
|
|
82917
82924
|
}
|
|
82918
82925
|
if (!cfg.positions && !cfg.positionsCompressed && !cfg.buckets) {
|
|
@@ -85862,12 +85869,13 @@ class MousePickHandler {
|
|
|
85862
85869
|
}
|
|
85863
85870
|
|
|
85864
85871
|
const hoverSubs = cameraControl.hasSubs("hover");
|
|
85872
|
+
const hoverEnterSubs = cameraControl.hasSubs("hoverEnter");
|
|
85865
85873
|
const hoverOutSubs = cameraControl.hasSubs("hoverOut");
|
|
85866
85874
|
const hoverOffSubs = cameraControl.hasSubs("hoverOff");
|
|
85867
85875
|
const hoverSurfaceSubs = cameraControl.hasSubs("hoverSurface");
|
|
85868
85876
|
const hoverSnapOrSurfaceSubs = cameraControl.hasSubs("hoverSnapOrSurface");
|
|
85869
85877
|
|
|
85870
|
-
if (hoverSubs || hoverOutSubs || hoverOffSubs || hoverSurfaceSubs || hoverSnapOrSurfaceSubs) {
|
|
85878
|
+
if (hoverSubs || hoverEnterSubs || hoverOutSubs || hoverOffSubs || hoverSurfaceSubs || hoverSnapOrSurfaceSubs) {
|
|
85871
85879
|
|
|
85872
85880
|
pickController.pickCursorPos = states.pointerCanvasPos;
|
|
85873
85881
|
pickController.schedulePickEntity = true;
|
|
@@ -106894,8 +106902,8 @@ function CubeTextureCanvas(viewer, navCubeScene, cfg = {}) {
|
|
|
106894
106902
|
const facesZUp = [
|
|
106895
106903
|
{boundary: [6, 6, 6, 6], color: cfg.frontColor || cfg.color || "#55FF55"},
|
|
106896
106904
|
{boundary: [18, 6, 6, 6], color: cfg.backColor || cfg.color || "#55FF55"},
|
|
106897
|
-
{boundary: [12, 6, 6, 6], color: cfg.
|
|
106898
|
-
{boundary: [0, 6, 6, 6], color: cfg.
|
|
106905
|
+
{boundary: [12, 6, 6, 6], color: cfg.rightColor || cfg.color || "#FF5555"},
|
|
106906
|
+
{boundary: [0, 6, 6, 6], color: cfg.leftColor || cfg.color || "#FF5555"},
|
|
106899
106907
|
{boundary: [6, 0, 6, 6], color: cfg.topColor || cfg.color || "#7777FF"},
|
|
106900
106908
|
{boundary: [6, 12, 6, 6], color: cfg.bottomColor || cfg.color || "#7777FF"}
|
|
106901
106909
|
];
|
|
@@ -106932,8 +106940,8 @@ function CubeTextureCanvas(viewer, navCubeScene, cfg = {}) {
|
|
|
106932
106940
|
[
|
|
106933
106941
|
{boundary: [6, 6, 6, 6], color: cfg.frontColor || cfg.color || "#55FF55"},
|
|
106934
106942
|
{boundary: [18, 6, 6, 6], color: cfg.backColor || cfg.color || "#55FF55"},
|
|
106935
|
-
{boundary: [12, 6, 6, 6], color: cfg.
|
|
106936
|
-
{boundary: [0, 6, 6, 6], color: cfg.
|
|
106943
|
+
{boundary: [12, 6, 6, 6], color: cfg.rightColor || cfg.color || "#FF5555"},
|
|
106944
|
+
{boundary: [0, 6, 6, 6], color: cfg.leftColor || cfg.color || "#FF5555"},
|
|
106937
106945
|
{boundary: [6, 0, 6, 6], color: cfg.topColor || cfg.color || "#7777FF"},
|
|
106938
106946
|
{boundary: [6, 12, 6, 6], color: cfg.bottomColor || cfg.color || "#7777FF"}
|
|
106939
106947
|
];
|