@galacean/engine-physics-lite 1.4.0-alpha.0 → 1.4.0-alpha.1

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/module.js CHANGED
@@ -482,11 +482,13 @@ LiteTransform._tempMat42 = new Matrix();
482
482
  */ _proto.addShape = function addShape(shape) {
483
483
  var oldCollider = shape._collider;
484
484
  if (oldCollider !== this) {
485
+ var _this__scene;
485
486
  if (oldCollider) {
486
487
  oldCollider.removeShape(shape);
487
488
  }
488
489
  this._shapes.push(shape);
489
490
  shape._collider = this;
491
+ (_this__scene = this._scene) == null ? void 0 : _this__scene._addColliderShape(shape);
490
492
  }
491
493
  };
492
494
  /**
@@ -494,8 +496,10 @@ LiteTransform._tempMat42 = new Matrix();
494
496
  */ _proto.removeShape = function removeShape(shape) {
495
497
  var index = this._shapes.indexOf(shape);
496
498
  if (index !== -1) {
499
+ var _this__scene;
497
500
  this._shapes.splice(index, 1);
498
501
  shape._collider = null;
502
+ (_this__scene = this._scene) == null ? void 0 : _this__scene._removeColliderShape(shape);
499
503
  }
500
504
  };
501
505
  /**
@@ -541,6 +545,23 @@ LiteTransform._tempMat42 = new Matrix();
541
545
  }
542
546
  var _proto = LiteDynamicCollider.prototype;
543
547
  /**
548
+ * {@inheritDoc IDynamicCollider.getInertiaTensor }
549
+ */ _proto.getInertiaTensor = function getInertiaTensor(out) {
550
+ console.error("Physics-lite don't support getInertiaTensor. Use Physics-PhysX instead!");
551
+ return out;
552
+ };
553
+ /**
554
+ * {@inheritDoc IDynamicCollider.getCenterOfMass }
555
+ */ _proto.getCenterOfMass = function getCenterOfMass(out) {
556
+ console.error("Physics-lite don't support getCenterOfMass. Use Physics-PhysX instead!");
557
+ return out;
558
+ };
559
+ /**
560
+ * {@inheritDoc IDynamicCollider.setMassAndUpdateInertia }
561
+ */ _proto.setMassAndUpdateInertia = function setMassAndUpdateInertia(mass) {
562
+ console.error("Physics-lite don't support setMassAndUpdateInertia. Use Physics-PhysX instead!");
563
+ };
564
+ /**
544
565
  * {@inheritDoc IDynamicCollider.addForce }
545
566
  */ _proto.addForce = function addForce(force) {
546
567
  throw "Physics-lite don't support addForce. Use Physics-PhysX instead!";
@@ -561,74 +582,106 @@ LiteTransform._tempMat42 = new Matrix();
561
582
  throw "Physics-lite don't support putToSleep. Use Physics-PhysX instead!";
562
583
  };
563
584
  /**
585
+ * {@inheritDoc IDynamicCollider.isSleeping }
586
+ */ _proto.isSleeping = function isSleeping() {
587
+ throw "Physics-lite don't support isSleeping. Use Physics-PhysX instead!";
588
+ };
589
+ /**
590
+ * {@inheritDoc IDynamicCollider.getAngularDamping }
591
+ */ _proto.getAngularDamping = function getAngularDamping() {
592
+ throw "Physics-lite don't support getAngularDamping. Use Physics-PhysX instead!";
593
+ };
594
+ /**
564
595
  * {@inheritDoc IDynamicCollider.setAngularDamping }
565
596
  */ _proto.setAngularDamping = function setAngularDamping(value) {
566
- throw "Physics-lite don't support setAngularDamping. Use Physics-PhysX instead!";
597
+ console.error("Physics-lite don't support setAngularDamping. Use Physics-PhysX instead!");
598
+ };
599
+ /**
600
+ * {@inheritDoc IDynamicCollider.getAngularVelocity }
601
+ */ _proto.getAngularVelocity = function getAngularVelocity(out) {
602
+ console.error("Physics-lite don't support getAngularVelocity. Use Physics-PhysX instead!");
603
+ return out;
567
604
  };
568
605
  /**
569
606
  * {@inheritDoc IDynamicCollider.setAngularVelocity }
570
607
  */ _proto.setAngularVelocity = function setAngularVelocity(value) {
571
- throw "Physics-lite don't support setAngularVelocity. Use Physics-PhysX instead!";
608
+ console.error("Physics-lite don't support setAngularVelocity. Use Physics-PhysX instead!");
572
609
  };
573
610
  /**
574
611
  * {@inheritDoc IDynamicCollider.setCenterOfMass }
575
612
  */ _proto.setCenterOfMass = function setCenterOfMass(value) {
576
- throw "Physics-lite don't support setCenterOfMass. Use Physics-PhysX instead!";
613
+ console.error("Physics-lite don't support setCenterOfMass. Use Physics-PhysX instead!");
577
614
  };
578
615
  /**
579
616
  * {@inheritDoc IDynamicCollider.setCollisionDetectionMode }
580
617
  */ _proto.setCollisionDetectionMode = function setCollisionDetectionMode(value) {
581
- throw "Physics-lite don't support setCollisionDetectionMode. Use Physics-PhysX instead!";
618
+ console.error("Physics-lite don't support setCollisionDetectionMode. Use Physics-PhysX instead!");
582
619
  };
583
620
  /**
584
621
  * {@inheritDoc IDynamicCollider.setConstraints }
585
622
  */ _proto.setConstraints = function setConstraints(flags) {
586
- throw "Physics-lite don't support setConstraints. Use Physics-PhysX instead!";
623
+ console.error("Physics-lite don't support setConstraints. Use Physics-PhysX instead!");
587
624
  };
588
625
  /**
589
626
  * {@inheritDoc IDynamicCollider.setInertiaTensor }
590
627
  */ _proto.setInertiaTensor = function setInertiaTensor(value) {
591
- throw "Physics-lite don't support setInertiaTensor. Use Physics-PhysX instead!";
628
+ console.error("Physics-lite don't support setInertiaTensor. Use Physics-PhysX instead!");
592
629
  };
593
630
  /**
594
631
  * {@inheritDoc IDynamicCollider.setIsKinematic }
595
632
  */ _proto.setIsKinematic = function setIsKinematic(value) {
596
- throw "Physics-lite don't support setIsKinematic. Use Physics-PhysX instead!";
633
+ console.error("Physics-lite don't support setIsKinematic. Use Physics-PhysX instead!");
634
+ };
635
+ /**
636
+ * {@inheritDoc IDynamicCollider.setLinearDamping }
637
+ */ _proto.getLinearDamping = function getLinearDamping() {
638
+ throw "Physics-lite don't support getLinearDamping. Use Physics-PhysX instead!";
597
639
  };
598
640
  /**
599
641
  * {@inheritDoc IDynamicCollider.setLinearDamping }
600
642
  */ _proto.setLinearDamping = function setLinearDamping(value) {
601
- throw "Physics-lite don't support setLinearDamping. Use Physics-PhysX instead!";
643
+ console.error("Physics-lite don't support setLinearDamping. Use Physics-PhysX instead!");
644
+ };
645
+ /**
646
+ * {@inheritDoc IDynamicCollider.getLinearVelocity }
647
+ */ _proto.getLinearVelocity = function getLinearVelocity(out) {
648
+ console.error("Physics-lite don't support getLinearVelocity. Use Physics-PhysX instead!");
649
+ return out;
602
650
  };
603
651
  /**
604
652
  * {@inheritDoc IDynamicCollider.setLinearVelocity }
605
653
  */ _proto.setLinearVelocity = function setLinearVelocity(value) {
606
- throw "Physics-lite don't support setLinearVelocity. Use Physics-PhysX instead!";
654
+ console.error("Physics-lite don't support setLinearVelocity. Use Physics-PhysX instead!");
607
655
  };
608
656
  /**
609
657
  * {@inheritDoc IDynamicCollider.setMass }
610
658
  */ _proto.setMass = function setMass(value) {
611
- throw "Physics-lite don't support setMass. Use Physics-PhysX instead!";
659
+ console.error("Physics-lite don't support setMass. Use Physics-PhysX instead!");
612
660
  };
613
661
  /**
614
662
  * {@inheritDoc IDynamicCollider.setMaxAngularVelocity }
615
663
  */ _proto.setMaxAngularVelocity = function setMaxAngularVelocity(value) {
616
- throw "Physics-lite don't support setMaxAngularVelocity. Use Physics-PhysX instead!";
664
+ console.error("Physics-lite don't support setMaxAngularVelocity. Use Physics-PhysX instead!");
665
+ };
666
+ /**
667
+ * {@inheritDoc IDynamicCollider.setMaxDepenetrationVelocity }
668
+ */ _proto.getMaxDepenetrationVelocity = function getMaxDepenetrationVelocity() {
669
+ throw "Physics-lite don't support getMaxDepenetrationVelocity. Use Physics-PhysX instead!";
617
670
  };
618
671
  /**
619
672
  * {@inheritDoc IDynamicCollider.setMaxDepenetrationVelocity }
620
673
  */ _proto.setMaxDepenetrationVelocity = function setMaxDepenetrationVelocity(value) {
621
- throw "Physics-lite don't support setMaxDepenetrationVelocity. Use Physics-PhysX instead!";
674
+ console.error("Physics-lite don't support setMaxDepenetrationVelocity. Use Physics-PhysX instead!");
622
675
  };
623
676
  /**
624
677
  * {@inheritDoc IDynamicCollider.setSleepThreshold }
625
678
  */ _proto.setSleepThreshold = function setSleepThreshold(value) {
626
- throw "Physics-lite don't support setSleepThreshold. Use Physics-PhysX instead!";
679
+ console.error("Physics-lite don't support setSleepThreshold. Use Physics-PhysX instead!");
627
680
  };
628
681
  /**
629
682
  * {@inheritDoc IDynamicCollider.setSolverIterations }
630
683
  */ _proto.setSolverIterations = function setSolverIterations(value) {
631
- throw "Physics-lite don't support setSolverIterations. Use Physics-PhysX instead!";
684
+ console.error("Physics-lite don't support setSolverIterations. Use Physics-PhysX instead!");
632
685
  };
633
686
  /**
634
687
  * {@inheritDoc IDynamicCollider.wakeUp }
@@ -818,41 +871,26 @@ LiteSphereColliderShape._tempSphere = new BoundingSphere();
818
871
  console.log("Physics-lite don't support gravity. Use Physics-PhysX instead!");
819
872
  };
820
873
  /**
821
- * {@inheritDoc IPhysicsManager.addColliderShape }
822
- */ _proto.addColliderShape = function addColliderShape(colliderShape) {
823
- this._eventMap[colliderShape._id] = {};
824
- };
825
- /**
826
- * {@inheritDoc IPhysicsManager.removeColliderShape }
827
- */ _proto.removeColliderShape = function removeColliderShape(colliderShape) {
828
- var _this = this, eventPool = _this._eventPool, currentEvents = _this._currentEvents, eventMap = _this._eventMap;
829
- var id = colliderShape._id;
830
- currentEvents.forEach(function(event, i) {
831
- if (event.index1 == id) {
832
- currentEvents.deleteByIndex(i);
833
- eventPool.push(event);
834
- } else if (event.index2 == id) {
835
- currentEvents.deleteByIndex(i);
836
- eventPool.push(event);
837
- // If the shape is big index, should clear from the small index shape subMap
838
- eventMap[event.index1][id] = undefined;
839
- }
840
- });
841
- delete eventMap[id];
842
- };
843
- /**
844
874
  * {@inheritDoc IPhysicsManager.addCollider }
845
875
  */ _proto.addCollider = function addCollider(actor) {
876
+ actor._scene = this;
846
877
  var colliders = actor._isStaticCollider ? this._staticColliders : this._dynamicColliders;
847
878
  colliders.push(actor);
879
+ var shapes = actor._shapes;
880
+ for(var i = 0, n = shapes.length; i < n; i++){
881
+ this._addColliderShape(shapes[i]);
882
+ }
848
883
  };
849
884
  /**
850
885
  * {@inheritDoc IPhysicsManager.removeCollider }
851
886
  */ _proto.removeCollider = function removeCollider(collider) {
887
+ collider._scene = null;
852
888
  var colliders = collider._isStaticCollider ? this._staticColliders : this._dynamicColliders;
853
889
  var index = colliders.indexOf(collider);
854
- if (index !== -1) {
855
- colliders.splice(index, 1);
890
+ index > -1 && colliders.splice(index, 1);
891
+ var shapes = collider._shapes;
892
+ for(var i = 0, n = shapes.length; i < n; i++){
893
+ this._removeColliderShape(shapes[i]);
856
894
  }
857
895
  };
858
896
  /**
@@ -900,6 +938,29 @@ LiteSphereColliderShape._tempSphere = new BoundingSphere();
900
938
  */ _proto.removeCharacterController = function removeCharacterController(characterController) {
901
939
  throw "Physics-lite don't support removeCharacterController. Use Physics-PhysX instead!";
902
940
  };
941
+ /**
942
+ * @internal
943
+ */ _proto._addColliderShape = function _addColliderShape(colliderShape) {
944
+ this._eventMap[colliderShape._id] = {};
945
+ };
946
+ /**
947
+ * @internal
948
+ */ _proto._removeColliderShape = function _removeColliderShape(colliderShape) {
949
+ var _this = this, eventPool = _this._eventPool, currentEvents = _this._currentEvents, eventMap = _this._eventMap;
950
+ var id = colliderShape._id;
951
+ currentEvents.forEach(function(event, i) {
952
+ if (event.index1 == id) {
953
+ currentEvents.deleteByIndex(i);
954
+ eventPool.push(event);
955
+ } else if (event.index2 == id) {
956
+ currentEvents.deleteByIndex(i);
957
+ eventPool.push(event);
958
+ // If the shape is big index, should clear from the small index shape subMap
959
+ eventMap[event.index1][id] = undefined;
960
+ }
961
+ });
962
+ delete eventMap[id];
963
+ };
903
964
  _proto._getTrigger = function _getTrigger(index1, index2) {
904
965
  var event;
905
966
  if (this._eventPool.length) {
@@ -1161,7 +1222,7 @@ var LitePhysics = /*#__PURE__*/ function() {
1161
1222
  }();
1162
1223
 
1163
1224
  //@ts-ignore
1164
- var version = "1.4.0-alpha.0";
1225
+ var version = "1.4.0-alpha.1";
1165
1226
  console.log("Galacean PhysicsLite version: " + version);
1166
1227
 
1167
1228
  export { LitePhysics, version };