bruce-cesium 5.9.5 → 5.9.7

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.
@@ -72,5 +72,5 @@ __exportStar(require("./widgets/controls-view-bar/widget-control-view-bar-search
72
72
  __exportStar(require("./widgets/widget-left-panel"), exports);
73
73
  __exportStar(require("./widgets/tabs-left-panel/widget-left-panel-tab"), exports);
74
74
  __exportStar(require("./widgets/tabs-left-panel/widget-left-panel-tab-bookmarks"), exports);
75
- exports.VERSION = "5.9.5";
75
+ exports.VERSION = "5.9.7";
76
76
  //# sourceMappingURL=bruce-cesium.js.map
@@ -372,48 +372,70 @@ var CesiumAnimatedProperty;
372
372
  */
373
373
  class AnimatePositionSeries {
374
374
  constructor(params) {
375
- // Current position state.
376
- this.lastCalcPos3d = null;
377
- this.lastCalcPosIndexLast = -1;
378
- this.lastCalcPosIndexNext = -1;
379
- // Series data for rendering path.
375
+ // Animation state.
376
+ this.currentAnimatedPos = null;
377
+ this.actualTargetPos = null;
378
+ this.animationStartPos = null;
379
+ this.animationStartTime = null;
380
+ this.animationDuration = 350;
381
+ // Cached data for performance.
382
+ this.lastDesiredPosIndex = -1;
383
+ this.lastDesiredNextIndex = -1;
384
+ // Series data for rendering path
380
385
  this.lastCalcSeriesPos3d = [];
381
386
  this.lastCalcSeriesTime = null;
382
- // Orientation.
387
+ // Orientation cache.
383
388
  this.lastCalcOrient = null;
384
389
  this.lastCalcOrientTime = null;
385
- // Starting animation state.
386
- this.animateFromPos3d = null;
387
- this.animateFromPos3dTimeStart = null;
388
- this.animationDuration = 200; // milliseconds
389
390
  this.viewer = params.viewer;
390
391
  this.positions = params.posses || [];
391
392
  this.pitch = params.pitch || 0;
392
393
  this.roll = params.roll || 0;
393
- // Animation from a starting position.
394
+ this.processHeadings();
395
+ this.sortPositions();
396
+ // Initialize animation from starting position if provided.
394
397
  if (params.animateFromPos3d) {
395
- this.animateFromPos3d = params.animateFromPos3d;
398
+ this.animationStartPos = params.animateFromPos3d;
396
399
  const currentTime = Date.now();
397
400
  const providedTime = params.animateFromPos3dTimeStart || 0;
398
- // Check if the provided timestamp is stale (animation would have already completed)
399
- // If so, use current time to restart the animation.
401
+ // Check if the provided timestamp is stale.
400
402
  if (!providedTime || (currentTime - providedTime) >= this.animationDuration) {
401
- this.animateFromPos3dTimeStart = currentTime;
403
+ this.animationStartTime = currentTime;
402
404
  }
403
405
  else {
404
- this.animateFromPos3dTimeStart = providedTime;
406
+ this.animationStartTime = providedTime;
405
407
  }
406
408
  }
409
+ }
410
+ AddPosition(pos) {
411
+ if (!pos || !pos.pos3d || !pos.dateTime) {
412
+ console.warn("Invalid position provided to AnimatePositionSeries.");
413
+ return;
414
+ }
415
+ this.positions.push(pos);
407
416
  this.processHeadings();
408
- // Order positions by date.
417
+ this.sortPositions();
418
+ this.invalidateCache();
419
+ }
420
+ UpdatePitchRoll(pitch, roll) {
421
+ this.pitch = pitch;
422
+ this.roll = roll;
423
+ this.invalidateCache();
424
+ }
425
+ GetAnimateFromDateTime() {
426
+ return this.animationStartTime;
427
+ }
428
+ GetPositions() {
429
+ return this.positions;
430
+ }
431
+ sortPositions() {
409
432
  if (this.positions.length > 0) {
410
- this.positions.sort((a, b) => {
411
- return a.dateTime.getTime() - b.dateTime.getTime();
412
- });
433
+ this.positions.sort((a, b) => a.dateTime.getTime() - b.dateTime.getTime());
413
434
  }
414
435
  }
415
- GetAnimateFromDateTime() {
416
- return this.animateFromPos3dTimeStart;
436
+ invalidateCache() {
437
+ this.lastCalcSeriesTime = null;
438
+ this.lastCalcOrientTime = null;
417
439
  }
418
440
  /**
419
441
  * Pre-process headings in the series.
@@ -437,130 +459,178 @@ var CesiumAnimatedProperty;
437
459
  }
438
460
  }
439
461
  }
440
- GetPositions() {
441
- return this.positions;
442
- }
443
462
  easeInOutQuad(t) {
444
463
  return t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;
445
464
  }
446
465
  /**
447
- * Interpolates between the starting position and target position.
466
+ * Calculate the desired position based on current time without any animation smoothing.
448
467
  */
449
- interpolateToTargetPosition(startPos, targetPos, startTimeMs, currentTimeMs) {
450
- if (!startPos || !targetPos) {
451
- return startPos || targetPos || new Cesium.Cartesian3();
468
+ calculateDesiredPosition(timeMs) {
469
+ // No positions available.
470
+ if (!this.positions || this.positions.length === 0) {
471
+ return { position: null, lastIndex: -1, nextIndex: -1 };
452
472
  }
453
- const elapsedTime = currentTimeMs - startTimeMs;
454
- let progress = Math.min(elapsedTime / this.animationDuration, 1.0);
455
- // Apply easing for more natural motion.
456
- progress = this.easeInOutQuad(progress);
457
- try {
458
- return Cesium.Cartesian3.lerp(startPos, targetPos, progress, new Cesium.Cartesian3());
473
+ // Only one position..
474
+ if (this.positions.length === 1) {
475
+ return {
476
+ position: this.positions[0].pos3d || null,
477
+ lastIndex: 0,
478
+ nextIndex: 0
479
+ };
459
480
  }
460
- catch (e) {
461
- console.error("Error in position interpolation: ", e);
462
- return targetPos;
481
+ // Before first position - use first two positions for orientation.
482
+ if (timeMs <= this.positions[0].dateTime.getTime()) {
483
+ return {
484
+ position: this.positions[0].pos3d || null,
485
+ lastIndex: 0,
486
+ nextIndex: Math.min(1, this.positions.length - 1)
487
+ };
488
+ }
489
+ // After last position - use last two positions for orientation.
490
+ const lastIdx = this.positions.length - 1;
491
+ if (timeMs >= this.positions[lastIdx].dateTime.getTime()) {
492
+ return {
493
+ position: this.positions[lastIdx].pos3d || null,
494
+ lastIndex: Math.max(0, lastIdx - 1),
495
+ nextIndex: lastIdx
496
+ };
497
+ }
498
+ // Find positions to interpolate between.
499
+ for (let i = 0; i < this.positions.length - 1; i++) {
500
+ const current = this.positions[i];
501
+ const next = this.positions[i + 1];
502
+ if (timeMs >= current.dateTime.getTime() && timeMs < next.dateTime.getTime()) {
503
+ // Exact match on current position - still use current and next for orientation.
504
+ if (timeMs === current.dateTime.getTime()) {
505
+ return {
506
+ position: current.pos3d || null,
507
+ lastIndex: i,
508
+ nextIndex: i + 1
509
+ };
510
+ }
511
+ // Interpolate between current and next.
512
+ if (!current.pos3d || !next.pos3d) {
513
+ return {
514
+ position: current.pos3d || next.pos3d || null,
515
+ lastIndex: i,
516
+ nextIndex: i + 1
517
+ };
518
+ }
519
+ try {
520
+ const progress = (timeMs - current.dateTime.getTime()) / (next.dateTime.getTime() - current.dateTime.getTime());
521
+ const interpolatedPos = Cesium.Cartesian3.lerp(current.pos3d, next.pos3d, progress, new Cesium.Cartesian3());
522
+ return {
523
+ position: interpolatedPos,
524
+ lastIndex: i,
525
+ nextIndex: i + 1
526
+ };
527
+ }
528
+ catch (e) {
529
+ console.error("Error in position interpolation: ", e);
530
+ return {
531
+ position: current.pos3d,
532
+ lastIndex: i,
533
+ nextIndex: i + 1
534
+ };
535
+ }
536
+ }
463
537
  }
538
+ // Fallback to last position with previous position for orientation.
539
+ return {
540
+ position: this.positions[lastIdx].pos3d || null,
541
+ lastIndex: Math.max(0, lastIdx - 1),
542
+ nextIndex: lastIdx
543
+ };
464
544
  }
465
545
  /**
466
- * Main method to get the current position based on time
546
+ * Main method to get the current position based on time.
467
547
  */
468
548
  GetValue() {
469
- let now = this.viewer.scene.lastRenderTime;
470
- if (!now) {
471
- now = this.viewer.clock.currentTime;
549
+ let viewerTime = this.viewer.scene.lastRenderTime;
550
+ if (!viewerTime) {
551
+ viewerTime = this.viewer.clock.currentTime;
472
552
  }
473
- const nowTimeMs = Cesium.JulianDate.toDate(now).getTime();
553
+ const viewerTimeMs = Cesium.JulianDate.toDate(viewerTime).getTime();
474
554
  const currentRealTimeMs = Date.now();
475
- // Calculate the ideal position based on time.
476
- const idealPosition = this.calculateIdealPosition(nowTimeMs);
477
- // First run initialization.
478
- if (!this.lastCalcPos3d) {
479
- this.lastCalcPos3d = idealPosition;
480
- // If we have a starting position, animate from it.
481
- if (this.animateFromPos3d) {
482
- return this.interpolateToTargetPosition(this.animateFromPos3d, idealPosition, this.animateFromPos3dTimeStart, currentRealTimeMs);
483
- }
484
- return idealPosition;
485
- }
486
- // If we're animating from a start position.
487
- if (this.animateFromPos3d) {
488
- const elapsedTime = currentRealTimeMs - this.animateFromPos3dTimeStart;
489
- // If animation is complete, just return ideal position and clear animation state.
490
- if (elapsedTime >= this.animationDuration) {
491
- this.animateFromPos3d = null;
492
- this.lastCalcPos3d = idealPosition;
493
- return idealPosition;
494
- }
495
- // Otherwise continue interpolation.
496
- const interpolatedPos = this.interpolateToTargetPosition(this.animateFromPos3d, idealPosition, this.animateFromPos3dTimeStart, currentRealTimeMs);
497
- this.lastCalcPos3d = interpolatedPos;
498
- return interpolatedPos;
499
- }
500
- // If we're not animating, directly use the ideal position.
501
- // This ensures we're exactly where we should be based on time.
502
- this.lastCalcPos3d = idealPosition;
503
- return idealPosition;
504
- }
505
- /**
506
- * Calculate the ideal position based on current time without any smoothing.
507
- */
508
- calculateIdealPosition(timeMs) {
509
- if (!this.positions || this.positions.length === 0) {
555
+ // Calculate the desired position based on time.
556
+ const desired = this.calculateDesiredPosition(viewerTimeMs);
557
+ if (!desired.position) {
558
+ this.currentAnimatedPos = null;
559
+ this.actualTargetPos = null;
510
560
  return new Cesium.Cartesian3();
511
561
  }
512
- // Before first position.
513
- if (timeMs <= this.positions[0].dateTime.getTime()) {
514
- this.lastCalcPosIndexLast = 0;
515
- this.lastCalcPosIndexNext = 0;
516
- return this.positions[0].pos3d || new Cesium.Cartesian3();
517
- }
518
- // After last position.
519
- if (timeMs >= this.positions[this.positions.length - 1].dateTime.getTime()) {
520
- const lastIndex = this.positions.length - 1;
521
- this.lastCalcPosIndexLast = lastIndex;
522
- this.lastCalcPosIndexNext = lastIndex;
523
- return this.positions[lastIndex].pos3d || new Cesium.Cartesian3();
524
- }
525
- // Find the position before and after the current time.
526
- let lastIndex = 0;
527
- for (let i = 0; i < this.positions.length - 1; i++) {
528
- if (timeMs >= this.positions[i].dateTime.getTime() &&
529
- timeMs < this.positions[i + 1].dateTime.getTime()) {
530
- lastIndex = i;
531
- break;
532
- }
533
- }
534
- const last = this.positions[lastIndex];
535
- this.lastCalcPosIndexLast = lastIndex;
536
- // If we're exactly at this position's time.
537
- if (timeMs === last.dateTime.getTime()) {
538
- this.lastCalcPosIndexNext = lastIndex;
539
- return last.pos3d || new Cesium.Cartesian3();
562
+ this.lastDesiredPosIndex = desired.lastIndex;
563
+ this.lastDesiredNextIndex = desired.nextIndex;
564
+ // Determine the desired position without interpolation.
565
+ let discreteTarget;
566
+ if (desired.lastIndex === desired.nextIndex) {
567
+ discreteTarget = this.positions[desired.lastIndex].pos3d;
540
568
  }
541
- // Interpolate between surrounding positions.
542
- const next = this.positions[lastIndex + 1];
543
- if (!next) {
544
- this.lastCalcPosIndexNext = lastIndex;
545
- return last.pos3d || new Cesium.Cartesian3();
546
- }
547
- this.lastCalcPosIndexNext = lastIndex + 1;
548
- try {
549
- // Ensure both position vectors are valid.
550
- if (!last.pos3d || !next.pos3d) {
551
- return last.pos3d || next.pos3d || new Cesium.Cartesian3();
569
+ // Use the next position as the target.
570
+ else {
571
+ discreteTarget = this.positions[desired.nextIndex].pos3d;
572
+ }
573
+ // Check if we have a new actual target
574
+ const actualTargetChanged = !this.actualTargetPos || !Cesium.Cartesian3.equals(this.actualTargetPos, discreteTarget);
575
+ // First time or no previous position - start here.
576
+ if (!this.currentAnimatedPos) {
577
+ if (this.animationStartPos) {
578
+ this.actualTargetPos = discreteTarget;
579
+ const progress = this.getAnimationProgress(currentRealTimeMs, this.animationStartTime);
580
+ // Animation from start position complete.
581
+ if (progress >= 1.0) {
582
+ this.currentAnimatedPos = desired.position;
583
+ this.animationStartPos = null;
584
+ this.animationStartTime = null;
585
+ return desired.position;
586
+ }
587
+ // Still animating from initial position.
588
+ else {
589
+ const easedProgress = this.easeInOutQuad(progress);
590
+ this.currentAnimatedPos = Cesium.Cartesian3.lerp(this.animationStartPos, desired.position, easedProgress, new Cesium.Cartesian3());
591
+ return this.currentAnimatedPos;
592
+ }
593
+ }
594
+ // No initial animation needed.
595
+ else {
596
+ this.currentAnimatedPos = desired.position;
597
+ this.actualTargetPos = discreteTarget;
598
+ return desired.position;
552
599
  }
553
- const progress = (timeMs - last.dateTime.getTime()) /
554
- (next.dateTime.getTime() - last.dateTime.getTime());
555
- return Cesium.Cartesian3.lerp(last.pos3d, next.pos3d, progress, new Cesium.Cartesian3());
556
600
  }
557
- catch (e) {
558
- console.error("Error in ideal position calculation: ", e);
559
- return last.pos3d || new Cesium.Cartesian3();
601
+ // Target changed.
602
+ if (actualTargetChanged) {
603
+ this.animationStartPos = this.currentAnimatedPos;
604
+ this.animationStartTime = currentRealTimeMs;
605
+ this.actualTargetPos = discreteTarget;
606
+ }
607
+ // Continue or start animation to target if we have an active animation.
608
+ if (this.animationStartPos && this.animationStartTime) {
609
+ const progress = this.getAnimationProgress(currentRealTimeMs, this.animationStartTime);
610
+ // Animation complete.
611
+ if (progress >= 1.0) {
612
+ this.currentAnimatedPos = desired.position;
613
+ this.animationStartPos = null;
614
+ this.animationStartTime = null;
615
+ return desired.position;
616
+ }
617
+ // Continue animation to interpolated position.
618
+ else {
619
+ const easedProgress = this.easeInOutQuad(progress);
620
+ this.currentAnimatedPos = Cesium.Cartesian3.lerp(this.animationStartPos, desired.position, easedProgress, new Cesium.Cartesian3());
621
+ return this.currentAnimatedPos;
622
+ }
560
623
  }
624
+ // No active animation - follow interpolated path directly.
625
+ this.currentAnimatedPos = desired.position;
626
+ return desired.position;
627
+ }
628
+ getAnimationProgress(currentTime, startTime) {
629
+ const elapsed = currentTime - startTime;
630
+ return Math.min(elapsed / this.animationDuration, 1.0);
561
631
  }
562
632
  /**
563
- * Returns a series of positions to use for rendering the path..
633
+ * Returns a series of positions to use for rendering the path.
564
634
  */
565
635
  GetSeries() {
566
636
  // Update at 30 fps.
@@ -584,8 +654,7 @@ var CesiumAnimatedProperty;
584
654
  this.lastCalcSeriesPos3d = [];
585
655
  return [];
586
656
  }
587
- const totalDuration = this.positions[this.positions.length - 1].dateTime.getTime() -
588
- this.positions[0].dateTime.getTime();
657
+ const totalDuration = this.positions[this.positions.length - 1].dateTime.getTime() - this.positions[0].dateTime.getTime();
589
658
  // Percentage of the polyline to be visible before and after each point.
590
659
  const visibilityPercentage = 0.05; // 5%
591
660
  const visibilityDuration = totalDuration * visibilityPercentage;
@@ -593,13 +662,14 @@ var CesiumAnimatedProperty;
593
662
  const newPosses = [];
594
663
  for (let i = 0; i < this.positions.length; i++) {
595
664
  const pos = this.positions[i];
596
- if (!pos.pos3d)
665
+ if (!pos.pos3d) {
597
666
  continue;
667
+ }
598
668
  let add = nowDate >= new Date(pos.dateTime.getTime() - visibilityDuration / 2) &&
599
669
  nowDate <= new Date(pos.dateTime.getTime() + visibilityDuration / 2);
600
670
  // Also include the segment we're currently traversing.
601
- if (!add && this.lastCalcPosIndexLast > -1 && this.lastCalcPosIndexNext > -1) {
602
- add = i >= this.lastCalcPosIndexLast && i <= this.lastCalcPosIndexNext;
671
+ if (!add && this.lastDesiredPosIndex > -1 && this.lastDesiredNextIndex > -1) {
672
+ add = i >= this.lastDesiredPosIndex && i <= this.lastDesiredNextIndex;
603
673
  }
604
674
  if (add) {
605
675
  newPosses.push(pos.pos3d);
@@ -637,10 +707,10 @@ var CesiumAnimatedProperty;
637
707
  }
638
708
  const nowTime = Cesium.JulianDate.toDate(now).getTime();
639
709
  try {
640
- // Get last and next position indices.
641
- const lastIndex = this.lastCalcPosIndexLast;
642
- const nextIndex = this.lastCalcPosIndexNext;
643
- // Validate indices.
710
+ // Get current position indices.
711
+ const lastIndex = this.lastDesiredPosIndex;
712
+ const nextIndex = this.lastDesiredNextIndex;
713
+ // Invalid indices.
644
714
  if (lastIndex < 0 || nextIndex < 0 ||
645
715
  lastIndex >= this.positions.length || nextIndex >= this.positions.length) {
646
716
  return this.lastCalcOrient || defaultQuaternion;
@@ -650,6 +720,17 @@ var CesiumAnimatedProperty;
650
720
  if (!lastPos || !nextPos) {
651
721
  return this.lastCalcOrient || defaultQuaternion;
652
722
  }
723
+ // Single position case - use its heading if available.
724
+ if (lastIndex === nextIndex) {
725
+ if (lastPos.heading !== null) {
726
+ this.lastCalcOrient = Cesium.Transforms.headingPitchRollQuaternion(currentPosition, new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(lastPos.heading), Cesium.Math.toRadians(this.pitch), Cesium.Math.toRadians(this.roll)));
727
+ this.lastCalcOrientTime = Date.now();
728
+ return this.lastCalcOrient;
729
+ }
730
+ // No heading data and single position, return previous or default.
731
+ return this.lastCalcOrient || defaultQuaternion;
732
+ }
733
+ // Two different positions - we can calculate orientation.
653
734
  // Use explicit heading values if available.
654
735
  if (lastPos.heading !== null && nextPos.heading !== null) {
655
736
  // Calculate interpolated heading.
@@ -663,8 +744,7 @@ var CesiumAnimatedProperty;
663
744
  }
664
745
  // Calculate interpolation factor.
665
746
  let factor = 0;
666
- if (lastIndex !== nextIndex &&
667
- lastPos.dateTime.getTime() !== nextPos.dateTime.getTime()) {
747
+ if (lastPos.dateTime.getTime() !== nextPos.dateTime.getTime()) {
668
748
  factor = (nowTime - lastPos.dateTime.getTime()) /
669
749
  (nextPos.dateTime.getTime() - lastPos.dateTime.getTime());
670
750
  factor = Math.max(0, Math.min(1, factor));
@@ -677,7 +757,7 @@ var CesiumAnimatedProperty;
677
757
  // Create quaternion from heading, pitch, roll.
678
758
  this.lastCalcOrient = Cesium.Transforms.headingPitchRollQuaternion(currentPosition, new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(interpolatedHeading), Cesium.Math.toRadians(this.pitch), Cesium.Math.toRadians(this.roll)));
679
759
  }
680
- // Calculate heading from position changes if not available.
760
+ // Calculate heading from position changes if heading data not available.
681
761
  else {
682
762
  if (!lastPos.pos3d || !nextPos.pos3d) {
683
763
  return this.lastCalcOrient || defaultQuaternion;
@@ -1 +1 @@
1
- {"version":3,"file":"cesium-animated-property.js","sourceRoot":"","sources":["../../../src/rendering/cesium-animated-property.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cesium-animated-property.js","sourceRoot":"","sources":["../../../src/rendering/cesium-animated-property.ts"],"names":[],"mappings":"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"}