aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/Manager
diff options
context:
space:
mode:
authorMelanie2011-10-26 01:27:24 +0100
committerMelanie2011-10-26 01:27:24 +0100
commitfd22159d0c7d7b149d35747cbaa436f3b1e6f579 (patch)
treebbe8cdc63dd1f98346a6afb844f4b4d3caf336a8 /OpenSim/Region/Physics/Manager
parentMerge commit 'e14cb45b9bc4c78300cb804833cb66c1c2e62187' into bigmerge (diff)
parentRestart the event queue worker threads that I accidentally disabled earlier t... (diff)
downloadopensim-SC-fd22159d0c7d7b149d35747cbaa436f3b1e6f579.zip
opensim-SC-fd22159d0c7d7b149d35747cbaa436f3b1e6f579.tar.gz
opensim-SC-fd22159d0c7d7b149d35747cbaa436f3b1e6f579.tar.bz2
opensim-SC-fd22159d0c7d7b149d35747cbaa436f3b1e6f579.tar.xz
Merge branch 'master' into bigmerge
Conflicts: OpenSim/Framework/Watchdog.cs
Diffstat (limited to 'OpenSim/Region/Physics/Manager')
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsActor.cs47
1 files changed, 24 insertions, 23 deletions
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
index 96dcfb6..362f997 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
@@ -66,42 +66,29 @@ namespace OpenSim.Region.Physics.Manager
66 } 66 }
67 } 67 }
68 68
69 /// <summary>
70 /// Used to pass collision information to OnCollisionUpdate listeners.
71 /// </summary>
69 public class CollisionEventUpdate : EventArgs 72 public class CollisionEventUpdate : EventArgs
70 { 73 {
71 // Raising the event on the object, so don't need to provide location.. further up the tree knows that info. 74 /// <summary>
75 /// Number of collision events in this update.
76 /// </summary>
77 public int Count { get { return m_objCollisionList.Count; } }
72 78
73 public int m_colliderType; 79 public Dictionary<uint, ContactPoint> m_objCollisionList;
74 public int m_GenericStartEnd;
75 //public uint m_LocalID;
76 public Dictionary<uint, ContactPoint> m_objCollisionList = new Dictionary<uint, ContactPoint>();
77 80
78 public CollisionEventUpdate(uint localID, int colliderType, int GenericStartEnd, Dictionary<uint, ContactPoint> objCollisionList) 81 public CollisionEventUpdate(Dictionary<uint, ContactPoint> objCollisionList)
79 { 82 {
80 m_colliderType = colliderType;
81 m_GenericStartEnd = GenericStartEnd;
82 m_objCollisionList = objCollisionList; 83 m_objCollisionList = objCollisionList;
83 } 84 }
84 85
85 public CollisionEventUpdate() 86 public CollisionEventUpdate()
86 { 87 {
87 m_colliderType = (int) ActorTypes.Unknown;
88 m_GenericStartEnd = 1;
89 m_objCollisionList = new Dictionary<uint, ContactPoint>(); 88 m_objCollisionList = new Dictionary<uint, ContactPoint>();
90 } 89 }
91 90
92 public int collidertype 91 public void AddCollider(uint localID, ContactPoint contact)
93 {
94 get { return m_colliderType; }
95 set { m_colliderType = value; }
96 }
97
98 public int GenericStartEnd
99 {
100 get { return m_GenericStartEnd; }
101 set { m_GenericStartEnd = value; }
102 }
103
104 public void addCollider(uint localID, ContactPoint contact)
105 { 92 {
106 if (!m_objCollisionList.ContainsKey(localID)) 93 if (!m_objCollisionList.ContainsKey(localID))
107 { 94 {
@@ -113,6 +100,14 @@ namespace OpenSim.Region.Physics.Manager
113 m_objCollisionList[localID] = contact; 100 m_objCollisionList[localID] = contact;
114 } 101 }
115 } 102 }
103
104 /// <summary>
105 /// Clear added collision events.
106 /// </summary>
107 public void Clear()
108 {
109 m_objCollisionList.Clear();
110 }
116 } 111 }
117 112
118 public abstract class PhysicsActor 113 public abstract class PhysicsActor
@@ -127,7 +122,13 @@ namespace OpenSim.Region.Physics.Manager
127 public event VelocityUpdate OnVelocityUpdate; 122 public event VelocityUpdate OnVelocityUpdate;
128 public event OrientationUpdate OnOrientationUpdate; 123 public event OrientationUpdate OnOrientationUpdate;
129 public event RequestTerseUpdate OnRequestTerseUpdate; 124 public event RequestTerseUpdate OnRequestTerseUpdate;
125
126 /// <summary>
127 /// Subscribers to this event must synchronously handle the dictionary of collisions received, since the event
128 /// object is reused in subsequent physics frames.
129 /// </summary>
130 public event CollisionUpdate OnCollisionUpdate; 130 public event CollisionUpdate OnCollisionUpdate;
131
131 public event OutOfBounds OnOutOfBounds; 132 public event OutOfBounds OnOutOfBounds;
132#pragma warning restore 67 133#pragma warning restore 67
133 134