diff options
Changes in BulletXPlugin: Added new class BulletXActor class inherits from PhysicsActor and it's the ancestor for BulletXCharacter and BulletXPrim.Physical modifications: Changes for pass the value of Physical flag in the SceneObjectPart class to the Physics engines. New call for AddPrimShape so it has a new parameter called "isPhysical". The old call will be obselete soon (i believe). PhysActor and its descendants have a new property called IsPhysical. By the way no new special funcionallity added. It's more like preparing the way for new modifications.
Diffstat (limited to 'OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs')
-rw-r--r-- | OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs | 66 |
1 files changed, 25 insertions, 41 deletions
diff --git a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs index 7159754..5a2b22c 100644 --- a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs +++ b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs | |||
@@ -387,6 +387,11 @@ namespace OpenSim.Region.Physics.BulletXPlugin | |||
387 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | 387 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, |
388 | PhysicsVector size, AxiomQuaternion rotation) | 388 | PhysicsVector size, AxiomQuaternion rotation) |
389 | { | 389 | { |
390 | return this.AddPrimShape(primName, pbs, position, size, rotation, false); | ||
391 | } | ||
392 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | ||
393 | PhysicsVector size, AxiomQuaternion rotation, bool isPhysical) | ||
394 | { | ||
390 | PhysicsActor result; | 395 | PhysicsActor result; |
391 | 396 | ||
392 | switch (pbs.ProfileShape) | 397 | switch (pbs.ProfileShape) |
@@ -651,10 +656,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin | |||
651 | 656 | ||
652 | public override PhysicsVector Position | 657 | public override PhysicsVector Position |
653 | { | 658 | { |
654 | get | 659 | get { return _position; } |
655 | { | ||
656 | return _position; | ||
657 | } | ||
658 | set | 660 | set |
659 | { | 661 | { |
660 | lock (BulletXScene.BulletXLock) | 662 | lock (BulletXScene.BulletXLock) |
@@ -666,10 +668,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin | |||
666 | } | 668 | } |
667 | public override PhysicsVector Velocity | 669 | public override PhysicsVector Velocity |
668 | { | 670 | { |
669 | get | 671 | get { return _velocity; } |
670 | { | ||
671 | return _velocity; | ||
672 | } | ||
673 | set | 672 | set |
674 | { | 673 | { |
675 | lock (BulletXScene.BulletXLock) | 674 | lock (BulletXScene.BulletXLock) |
@@ -689,31 +688,16 @@ namespace OpenSim.Region.Physics.BulletXPlugin | |||
689 | } | 688 | } |
690 | public override PhysicsVector Size | 689 | public override PhysicsVector Size |
691 | { | 690 | { |
692 | get | 691 | get { return _size; } |
693 | { | 692 | set { lock (BulletXScene.BulletXLock) { _size = value; } } |
694 | return _size; | ||
695 | } | ||
696 | set | ||
697 | { | ||
698 | lock (BulletXScene.BulletXLock) | ||
699 | { | ||
700 | _size = value; | ||
701 | } | ||
702 | } | ||
703 | } | 693 | } |
704 | public override PhysicsVector Acceleration | 694 | public override PhysicsVector Acceleration |
705 | { | 695 | { |
706 | get | 696 | get { return _acceleration; } |
707 | { | ||
708 | return _acceleration; | ||
709 | } | ||
710 | } | 697 | } |
711 | public override AxiomQuaternion Orientation | 698 | public override AxiomQuaternion Orientation |
712 | { | 699 | { |
713 | get | 700 | get { return _orientation; } |
714 | { | ||
715 | return _orientation; | ||
716 | } | ||
717 | set | 701 | set |
718 | { | 702 | { |
719 | lock (BulletXScene.BulletXLock) | 703 | lock (BulletXScene.BulletXLock) |
@@ -723,29 +707,29 @@ namespace OpenSim.Region.Physics.BulletXPlugin | |||
723 | } | 707 | } |
724 | } | 708 | } |
725 | } | 709 | } |
726 | public virtual float Mass | 710 | public virtual float Mass |
727 | { get { return 0; } } | 711 | { |
712 | get { return 0; } | ||
713 | } | ||
728 | public RigidBody RigidBody | 714 | public RigidBody RigidBody |
729 | { | 715 | { |
730 | get | 716 | get { return rigidBody; } |
731 | { | ||
732 | return rigidBody; | ||
733 | } | ||
734 | } | 717 | } |
735 | public Vector3 RigidBodyPosition | 718 | public Vector3 RigidBodyPosition |
736 | { | 719 | { |
737 | get { return this.rigidBody.CenterOfMassPosition; } | 720 | get { return this.rigidBody.CenterOfMassPosition; } |
738 | } | 721 | } |
722 | |||
723 | public override bool IsPhysical | ||
724 | { | ||
725 | get { return false; } | ||
726 | set { return; } | ||
727 | } | ||
728 | |||
739 | public override bool Flying | 729 | public override bool Flying |
740 | { | 730 | { |
741 | get | 731 | get { return flying; } |
742 | { | 732 | set { flying = value; } |
743 | return flying; | ||
744 | } | ||
745 | set | ||
746 | { | ||
747 | flying = value; | ||
748 | } | ||
749 | } | 733 | } |
750 | public override bool IsColliding | 734 | public override bool IsColliding |
751 | { | 735 | { |