diff options
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 12 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 19 | ||||
-rw-r--r-- | OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs | 13 | ||||
-rw-r--r-- | OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs | 66 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/PhysicsActor.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/Physics/Manager/PhysicsScene.cs | 12 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 19 | ||||
-rw-r--r-- | OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs | 19 |
10 files changed, 114 insertions, 63 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index a0c9a50..17f7566 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -456,6 +456,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
456 | AddEntity(group); | 456 | AddEntity(group); |
457 | group.AbsolutePosition = pos; | 457 | group.AbsolutePosition = pos; |
458 | SceneObjectPart rootPart = group.GetChildPart(group.UUID); | 458 | SceneObjectPart rootPart = group.GetChildPart(group.UUID); |
459 | bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0); | ||
459 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) | 460 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) |
460 | { | 461 | { |
461 | PrimitiveBaseShape pbs = rootPart.Shape; | 462 | PrimitiveBaseShape pbs = rootPart.Shape; |
@@ -466,7 +467,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
466 | rootPart.AbsolutePosition.Z), | 467 | rootPart.AbsolutePosition.Z), |
467 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), | 468 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), |
468 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, | 469 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, |
469 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z)); | 470 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z), UsePhysics); |
470 | } | 471 | } |
471 | } | 472 | } |
472 | } | 473 | } |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index d02f3e3..9eb3a71 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -533,6 +533,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
533 | { | 533 | { |
534 | AddEntityFromStorage(prim); | 534 | AddEntityFromStorage(prim); |
535 | SceneObjectPart rootPart = prim.GetChildPart(prim.UUID); | 535 | SceneObjectPart rootPart = prim.GetChildPart(prim.UUID); |
536 | bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0); | ||
536 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) | 537 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) |
537 | rootPart.PhysActor = phyScene.AddPrimShape( | 538 | rootPart.PhysActor = phyScene.AddPrimShape( |
538 | rootPart.Name, | 539 | rootPart.Name, |
@@ -541,7 +542,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
541 | rootPart.AbsolutePosition.Z), | 542 | rootPart.AbsolutePosition.Z), |
542 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), | 543 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), |
543 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, | 544 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, |
544 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z)); | 545 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z), UsePhysics); |
545 | } | 546 | } |
546 | MainLog.Instance.Verbose("Loaded " + PrimsFromDB.Count.ToString() + " SceneObject(s)"); | 547 | MainLog.Instance.Verbose("Loaded " + PrimsFromDB.Count.ToString() + " SceneObject(s)"); |
547 | } | 548 | } |
@@ -582,6 +583,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
582 | rootPart.ObjectFlags += (uint) LLObject.ObjectFlags.Phantom; | 583 | rootPart.ObjectFlags += (uint) LLObject.ObjectFlags.Phantom; |
583 | } | 584 | } |
584 | // if not phantom, add to physics | 585 | // if not phantom, add to physics |
586 | bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0); | ||
585 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) | 587 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) |
586 | rootPart.PhysActor = | 588 | rootPart.PhysActor = |
587 | phyScene.AddPrimShape( | 589 | phyScene.AddPrimShape( |
@@ -589,7 +591,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
589 | rootPart.Shape, | 591 | rootPart.Shape, |
590 | new PhysicsVector(pos.X, pos.Y, pos.Z), | 592 | new PhysicsVector(pos.X, pos.Y, pos.Z), |
591 | new PhysicsVector(shape.Scale.X, shape.Scale.Y, shape.Scale.Z), | 593 | new PhysicsVector(shape.Scale.X, shape.Scale.Y, shape.Scale.Z), |
592 | new Quaternion()); | 594 | new Quaternion(), UsePhysics); |
593 | } | 595 | } |
594 | } | 596 | } |
595 | 597 | ||
@@ -669,6 +671,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
669 | AddEntity(obj); | 671 | AddEntity(obj); |
670 | 672 | ||
671 | SceneObjectPart rootPart = obj.GetChildPart(obj.UUID); | 673 | SceneObjectPart rootPart = obj.GetChildPart(obj.UUID); |
674 | bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0); | ||
672 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) | 675 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) |
673 | rootPart.PhysActor = phyScene.AddPrimShape( | 676 | rootPart.PhysActor = phyScene.AddPrimShape( |
674 | rootPart.Name, | 677 | rootPart.Name, |
@@ -677,7 +680,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
677 | rootPart.AbsolutePosition.Z), | 680 | rootPart.AbsolutePosition.Z), |
678 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), | 681 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), |
679 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, | 682 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, |
680 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z)); | 683 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z), UsePhysics); |
681 | primCount++; | 684 | primCount++; |
682 | } | 685 | } |
683 | } | 686 | } |
@@ -734,6 +737,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
734 | AddEntityFromStorage(obj); | 737 | AddEntityFromStorage(obj); |
735 | 738 | ||
736 | SceneObjectPart rootPart = obj.GetChildPart(obj.UUID); | 739 | SceneObjectPart rootPart = obj.GetChildPart(obj.UUID); |
740 | bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0); | ||
737 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) | 741 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) |
738 | rootPart.PhysActor = phyScene.AddPrimShape( | 742 | rootPart.PhysActor = phyScene.AddPrimShape( |
739 | rootPart.Name, | 743 | rootPart.Name, |
@@ -742,7 +746,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
742 | rootPart.AbsolutePosition.Z), | 746 | rootPart.AbsolutePosition.Z), |
743 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), | 747 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), |
744 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, | 748 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, |
745 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z)); | 749 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z), UsePhysics); |
746 | } | 750 | } |
747 | 751 | ||
748 | public void SavePrimsToXml2(string fileName) | 752 | public void SavePrimsToXml2(string fileName) |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 2f746b2..39f4e5c 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -438,7 +438,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
438 | dupe.RootPart.AbsolutePosition.Z), | 438 | dupe.RootPart.AbsolutePosition.Z), |
439 | new PhysicsVector(dupe.RootPart.Scale.X, dupe.RootPart.Scale.Y, dupe.RootPart.Scale.Z), | 439 | new PhysicsVector(dupe.RootPart.Scale.X, dupe.RootPart.Scale.Y, dupe.RootPart.Scale.Z), |
440 | new Quaternion(dupe.RootPart.RotationOffset.W, dupe.RootPart.RotationOffset.X, | 440 | new Quaternion(dupe.RootPart.RotationOffset.W, dupe.RootPart.RotationOffset.X, |
441 | dupe.RootPart.RotationOffset.Y, dupe.RootPart.RotationOffset.Z)); | 441 | dupe.RootPart.RotationOffset.Y, dupe.RootPart.RotationOffset.Z), |
442 | dupe.RootPart.PhysActor.IsPhysical); | ||
442 | } | 443 | } |
443 | 444 | ||
444 | List<SceneObjectPart> partList = new List<SceneObjectPart>(m_parts.Values); | 445 | List<SceneObjectPart> partList = new List<SceneObjectPart>(m_parts.Values); |
@@ -977,7 +978,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
977 | m_rootPart.AbsolutePosition.Z), | 978 | m_rootPart.AbsolutePosition.Z), |
978 | new PhysicsVector(m_rootPart.Scale.X, m_rootPart.Scale.Y, m_rootPart.Scale.Z), | 979 | new PhysicsVector(m_rootPart.Scale.X, m_rootPart.Scale.Y, m_rootPart.Scale.Z), |
979 | new Quaternion(m_rootPart.RotationOffset.W, m_rootPart.RotationOffset.X, | 980 | new Quaternion(m_rootPart.RotationOffset.W, m_rootPart.RotationOffset.X, |
980 | m_rootPart.RotationOffset.Y, m_rootPart.RotationOffset.Z)); | 981 | m_rootPart.RotationOffset.Y, m_rootPart.RotationOffset.Z), |
982 | m_rootPart.PhysActor.IsPhysical); | ||
981 | } | 983 | } |
982 | } | 984 | } |
983 | 985 | ||
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 38eaf90..d0edff3 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -672,6 +672,15 @@ namespace OpenSim.Region.Environment.Scenes | |||
672 | //Silently ignore it - TODO: FIXME Quick | 672 | //Silently ignore it - TODO: FIXME Quick |
673 | } | 673 | } |
674 | 674 | ||
675 | if (UsePhysics) | ||
676 | { | ||
677 | AddFlag(LLObject.ObjectFlags.Physics); | ||
678 | } | ||
679 | else | ||
680 | { | ||
681 | RemFlag(LLObject.ObjectFlags.Physics); | ||
682 | } | ||
683 | |||
675 | if (IsPhantom) | 684 | if (IsPhantom) |
676 | { | 685 | { |
677 | AddFlag(LLObject.ObjectFlags.Phantom); | 686 | AddFlag(LLObject.ObjectFlags.Phantom); |
@@ -694,18 +703,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
694 | AbsolutePosition.Z), | 703 | AbsolutePosition.Z), |
695 | new PhysicsVector(Scale.X, Scale.Y, Scale.Z), | 704 | new PhysicsVector(Scale.X, Scale.Y, Scale.Z), |
696 | new Quaternion(RotationOffset.W, RotationOffset.X, | 705 | new Quaternion(RotationOffset.W, RotationOffset.X, |
697 | RotationOffset.Y, RotationOffset.Z)); | 706 | RotationOffset.Y, RotationOffset.Z), UsePhysics); |
698 | } | 707 | } |
699 | } | 708 | } |
700 | 709 | ||
701 | if (UsePhysics) | ||
702 | { | ||
703 | AddFlag(LLObject.ObjectFlags.Physics); | ||
704 | } | ||
705 | else | ||
706 | { | ||
707 | RemFlag(LLObject.ObjectFlags.Physics); | ||
708 | } | ||
709 | if (IsTemporary) | 710 | if (IsTemporary) |
710 | { | 711 | { |
711 | AddFlag(LLObject.ObjectFlags.TemporaryOnRez); | 712 | AddFlag(LLObject.ObjectFlags.TemporaryOnRez); |
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs index f26b9a1..7c2bbf4 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs | |||
@@ -101,9 +101,14 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin | |||
101 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | 101 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, |
102 | PhysicsVector size, Quaternion rotation) | 102 | PhysicsVector size, Quaternion rotation) |
103 | { | 103 | { |
104 | return null; | 104 | return this.AddPrimShape(primName, pbs, position, size, rotation, false); |
105 | } | 105 | } |
106 | 106 | ||
107 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | ||
108 | PhysicsVector size, Quaternion rotation, bool isPhysical) | ||
109 | { | ||
110 | return null; | ||
111 | } | ||
107 | 112 | ||
108 | public override void Simulate(float timeStep) | 113 | public override void Simulate(float timeStep) |
109 | { | 114 | { |
@@ -186,6 +191,12 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin | |||
186 | _acceleration = new PhysicsVector(); | 191 | _acceleration = new PhysicsVector(); |
187 | } | 192 | } |
188 | 193 | ||
194 | public override bool IsPhysical | ||
195 | { | ||
196 | get { return false; } | ||
197 | set { return; } | ||
198 | } | ||
199 | |||
189 | public override bool Flying | 200 | public override bool Flying |
190 | { | 201 | { |
191 | get { return flying; } | 202 | get { return flying; } |
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 | { |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index f1d0f84..bfe1d0b 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs | |||
@@ -58,6 +58,8 @@ namespace OpenSim.Region.Physics.Manager | |||
58 | 58 | ||
59 | public abstract Quaternion Orientation { get; set; } | 59 | public abstract Quaternion Orientation { get; set; } |
60 | 60 | ||
61 | public abstract bool IsPhysical {get; set;} | ||
62 | |||
61 | public abstract bool Flying { get; set; } | 63 | public abstract bool Flying { get; set; } |
62 | 64 | ||
63 | public abstract bool IsColliding { get; set; } | 65 | public abstract bool IsColliding { get; set; } |
@@ -100,6 +102,12 @@ namespace OpenSim.Region.Physics.Manager | |||
100 | get { return PhysicsVector.Zero; } | 102 | get { return PhysicsVector.Zero; } |
101 | } | 103 | } |
102 | 104 | ||
105 | public override bool IsPhysical | ||
106 | { | ||
107 | get { return false; } | ||
108 | set { return; } | ||
109 | } | ||
110 | |||
103 | public override bool Flying | 111 | public override bool Flying |
104 | { | 112 | { |
105 | get { return false; } | 113 | get { return false; } |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs index 3f08234..13591ea 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs | |||
@@ -45,7 +45,9 @@ namespace OpenSim.Region.Physics.Manager | |||
45 | public abstract void RemovePrim(PhysicsActor prim); | 45 | public abstract void RemovePrim(PhysicsActor prim); |
46 | 46 | ||
47 | public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | 47 | public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, |
48 | PhysicsVector size, Quaternion rotation); | 48 | PhysicsVector size, Quaternion rotation); //To be removed |
49 | public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | ||
50 | PhysicsVector size, Quaternion rotation, bool isPhysical); | ||
49 | 51 | ||
50 | public abstract void Simulate(float timeStep); | 52 | public abstract void Simulate(float timeStep); |
51 | 53 | ||
@@ -82,9 +84,13 @@ namespace OpenSim.Region.Physics.Manager | |||
82 | return PhysicsActor.Null; | 84 | return PhysicsActor.Null; |
83 | } | 85 | } |
84 | */ | 86 | */ |
85 | |||
86 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | 87 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, |
87 | PhysicsVector size, Quaternion rotation) | 88 | PhysicsVector size, Quaternion rotation) //To be removed |
89 | { | ||
90 | return this.AddPrimShape(primName, pbs, position, size, rotation, false); | ||
91 | } | ||
92 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | ||
93 | PhysicsVector size, Quaternion rotation, bool isPhysical) | ||
88 | { | 94 | { |
89 | MainLog.Instance.Verbose("NullPhysicsScene : AddPrim({0},{1})", position, size); | 95 | MainLog.Instance.Verbose("NullPhysicsScene : AddPrim({0},{1})", position, size); |
90 | return PhysicsActor.Null; | 96 | return PhysicsActor.Null; |
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 82b94db..f1db034 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -300,7 +300,12 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
300 | 300 | ||
301 | 301 | ||
302 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | 302 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, |
303 | PhysicsVector size, Quaternion rotation) | 303 | PhysicsVector size, Quaternion rotation) //To be removed |
304 | { | ||
305 | return this.AddPrimShape(primName, pbs, position, size, rotation, false); | ||
306 | } | ||
307 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | ||
308 | PhysicsVector size, Quaternion rotation, bool isPhysical) | ||
304 | { | 309 | { |
305 | PhysicsActor result; | 310 | PhysicsActor result; |
306 | 311 | ||
@@ -510,6 +515,12 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
510 | parent_scene.actor_name_map[Shell] = (PhysicsActor)this; | 515 | parent_scene.actor_name_map[Shell] = (PhysicsActor)this; |
511 | } | 516 | } |
512 | 517 | ||
518 | public override bool IsPhysical | ||
519 | { | ||
520 | get { return false; } | ||
521 | set { return; } | ||
522 | } | ||
523 | |||
513 | public override bool Flying | 524 | public override bool Flying |
514 | { | 525 | { |
515 | get { return flying; } | 526 | get { return flying; } |
@@ -758,6 +769,12 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
758 | prim_geom = d.CreateTriMesh(parent_scene.space, _triMeshData, parent_scene.triCallback, null, null); | 769 | prim_geom = d.CreateTriMesh(parent_scene.space, _triMeshData, parent_scene.triCallback, null, null); |
759 | } | 770 | } |
760 | 771 | ||
772 | public override bool IsPhysical | ||
773 | { | ||
774 | get { return false; } | ||
775 | set { return; } | ||
776 | } | ||
777 | |||
761 | public override bool Flying | 778 | public override bool Flying |
762 | { | 779 | { |
763 | get { return false; //no flying prims for you | 780 | get { return false; //no flying prims for you |
diff --git a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs index cad66d7..7a43a0a 100644 --- a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs +++ b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs | |||
@@ -120,7 +120,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin | |||
120 | } | 120 | } |
121 | 121 | ||
122 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | 122 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, |
123 | PhysicsVector size, Quaternion rotation) | 123 | PhysicsVector size, Quaternion rotation) //To be removed |
124 | { | ||
125 | return this.AddPrimShape(primName, pbs, position, size, rotation, false); | ||
126 | } | ||
127 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, | ||
128 | PhysicsVector size, Quaternion rotation, bool isPhysical) | ||
124 | { | 129 | { |
125 | return AddPrim(position, size, rotation); | 130 | return AddPrim(position, size, rotation); |
126 | } | 131 | } |
@@ -193,6 +198,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin | |||
193 | _character = character; | 198 | _character = character; |
194 | } | 199 | } |
195 | 200 | ||
201 | public override bool IsPhysical | ||
202 | { | ||
203 | get { return false; } | ||
204 | set { return; } | ||
205 | } | ||
206 | |||
196 | public override bool Flying | 207 | public override bool Flying |
197 | { | 208 | { |
198 | get { return flying; } | 209 | get { return flying; } |
@@ -305,6 +316,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin | |||
305 | _prim = prim; | 316 | _prim = prim; |
306 | } | 317 | } |
307 | 318 | ||
319 | public override bool IsPhysical | ||
320 | { | ||
321 | get { return false; } | ||
322 | set { return; } | ||
323 | } | ||
324 | |||
308 | public override bool Flying | 325 | public override bool Flying |
309 | { | 326 | { |
310 | get { return false; //no flying prims for you | 327 | get { return false; //no flying prims for you |