From 96d5c8196a3c756639e9f57a7fb3d630d174d0c4 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 2 Feb 2010 15:45:41 +0000
Subject: minor: add reminder to lock SOG.Children before using it directly in
order to avoid threading issues
---
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index ec41ac7..8c56870 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -235,6 +235,9 @@ namespace OpenSim.Region.Framework.Scenes
set { m_rootPart.GroupID = value; }
}
+ ///
+ /// The parts of this scene object group. You must lock this property before using it.
+ ///
public Dictionary Children
{
get { return m_parts; }
@@ -2097,7 +2100,7 @@ namespace OpenSim.Region.Framework.Scenes
}
///
- /// Get a child part with a given UUID
+ /// Get a part with a given UUID
///
///
/// null if a child part with the primID was not found
@@ -2112,7 +2115,7 @@ namespace OpenSim.Region.Framework.Scenes
}
///
- /// Get a child part with a given local ID
+ /// Get a part with a given local ID
///
///
/// null if a child part with the local ID was not found
--
cgit v1.1
From 0e23c5fffb8eced017c696ee85bee32131e18d51 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 2 Feb 2010 18:19:15 +0000
Subject: minor: add some documentation to EventManager.OnObjectGrab
---
OpenSim/Region/Framework/Scenes/EventManager.cs | 23 ++++++++---------------
1 file changed, 8 insertions(+), 15 deletions(-)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs
index 464ead8..a4a1abc 100644
--- a/OpenSim/Region/Framework/Scenes/EventManager.cs
+++ b/OpenSim/Region/Framework/Scenes/EventManager.cs
@@ -92,8 +92,7 @@ namespace OpenSim.Region.Framework.Scenes
public delegate void OnShutdownDelegate();
public event OnShutdownDelegate OnShutdown;
-
- public delegate void ObjectGrabDelegate(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs);
+
public delegate void ObjectDeGrabDelegate(uint localID, uint originalID, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs);
public delegate void ScriptResetDelegate(uint localID, UUID itemID);
@@ -103,7 +102,14 @@ namespace OpenSim.Region.Framework.Scenes
public event OnSetRootAgentSceneDelegate OnSetRootAgentScene;
+ ///
+ /// Called when an object is touched/grabbed.
+ ///
+ /// The originalID is the local ID of the part that was actually touched. The localID itself is always that of
+ /// the root part.
+ public delegate void ObjectGrabDelegate(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs);
public event ObjectGrabDelegate OnObjectGrab;
+
public event ObjectGrabDelegate OnObjectGrabbing;
public event ObjectDeGrabDelegate OnObjectDeGrab;
public event ScriptResetDelegate OnScriptReset;
@@ -111,55 +117,42 @@ namespace OpenSim.Region.Framework.Scenes
public event OnPermissionErrorDelegate OnPermissionError;
public delegate void NewRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine, int stateSource);
-
public event NewRezScript OnRezScript;
public delegate void RemoveScript(uint localID, UUID itemID);
-
public event RemoveScript OnRemoveScript;
public delegate void StartScript(uint localID, UUID itemID);
-
public event StartScript OnStartScript;
public delegate void StopScript(uint localID, UUID itemID);
-
public event StopScript OnStopScript;
public delegate bool SceneGroupMoved(UUID groupID, Vector3 delta);
-
public event SceneGroupMoved OnSceneGroupMove;
public delegate void SceneGroupGrabed(UUID groupID, Vector3 offset, UUID userID);
-
public event SceneGroupGrabed OnSceneGroupGrab;
public delegate bool SceneGroupSpinStarted(UUID groupID);
-
public event SceneGroupSpinStarted OnSceneGroupSpinStart;
public delegate bool SceneGroupSpun(UUID groupID, Quaternion rotation);
-
public event SceneGroupSpun OnSceneGroupSpin;
public delegate void LandObjectAdded(ILandObject newParcel);
-
public event LandObjectAdded OnLandObjectAdded;
public delegate void LandObjectRemoved(UUID globalID);
-
public event LandObjectRemoved OnLandObjectRemoved;
public delegate void AvatarEnteringNewParcel(ScenePresence avatar, int localLandID, UUID regionID);
-
public event AvatarEnteringNewParcel OnAvatarEnteringNewParcel;
public delegate void SignificantClientMovement(IClientAPI remote_client);
-
public event SignificantClientMovement OnSignificantClientMovement;
public delegate void IncomingInstantMessage(GridInstantMessage message);
-
public event IncomingInstantMessage OnIncomingInstantMessage;
public event IncomingInstantMessage OnUnhandledInstantMessage;
--
cgit v1.1
From dc8240910620b1ca2faa0709c0db00d405124193 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 2 Feb 2010 19:04:06 +0000
Subject: minor: add method doc to sop.SetScriptEvents()
---
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 5 +++++
1 file changed, 5 insertions(+)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index ef9005f..d7f9bbb 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -3178,6 +3178,11 @@ namespace OpenSim.Region.Framework.Scenes
}
}
+ ///
+ /// Set the events that this part will pass on to listeners.
+ ///
+ ///
+ ///
public void SetScriptEvents(UUID scriptid, int events)
{
// scriptEvents oldparts;
--
cgit v1.1
From 0faeaf98a66bbe32a171ee32024ea38fc17b6db2 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 2 Feb 2010 19:42:45 +0000
Subject: minor: copy some method doc from the WorldComm implementation to the
interface
---
OpenSim/Region/Framework/Interfaces/IWorldComm.cs | 39 +++++++++++++++++++++++
1 file changed, 39 insertions(+)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/Framework/Interfaces/IWorldComm.cs b/OpenSim/Region/Framework/Interfaces/IWorldComm.cs
index 74526c4..948b9dc 100644
--- a/OpenSim/Region/Framework/Interfaces/IWorldComm.cs
+++ b/OpenSim/Region/Framework/Interfaces/IWorldComm.cs
@@ -49,10 +49,49 @@ namespace OpenSim.Region.Framework.Interfaces
public interface IWorldComm
{
+ ///
+ /// Create a listen event callback with the specified filters.
+ /// The parameters localID,itemID are needed to uniquely identify
+ /// the script during 'peek' time. Parameter hostID is needed to
+ /// determine the position of the script.
+ ///
+ /// localID of the script engine
+ /// UUID of the script engine
+ /// UUID of the SceneObjectPart
+ /// channel to listen on
+ /// name to filter on
+ /// key to filter on (user given, could be totally faked)
+ /// msg to filter on
+ /// number of the scripts handle
int Listen(uint LocalID, UUID itemID, UUID hostID, int channel, string name, UUID id, string msg);
+
+ ///
+ /// This method scans over the objects which registered an interest in listen callbacks.
+ /// For everyone it finds, it checks if it fits the given filter. If it does, then
+ /// enqueue the message for delivery to the objects listen event handler.
+ /// The enqueued ListenerInfo no longer has filter values, but the actually trigged values.
+ /// Objects that do an llSay have their messages delivered here and for nearby avatars,
+ /// the OnChatFromClient event is used.
+ ///
+ /// type of delvery (whisper,say,shout or regionwide)
+ /// channel to sent on
+ /// name of sender (object or avatar)
+ /// key of sender (object or avatar)
+ /// msg to sent
void DeliverMessage(ChatTypeEnum type, int channel, string name, UUID id, string msg);
+
+ ///
+ /// Are there any listen events ready to be dispatched?
+ ///
+ /// boolean indication
bool HasMessages();
+
+ ///
+ /// Pop the first availlable listen event from the queue
+ ///
+ /// ListenerInfo with filter filled in
IWorldCommListenerInfo GetNextMessage();
+
void ListenControl(UUID itemID, int handle, int active);
void ListenRemove(UUID itemID, int handle);
void DeleteListener(UUID itemID);
--
cgit v1.1
From 88d0fc3b093e1ae79ef17e2496348251e196a5fa Mon Sep 17 00:00:00 2001
From: radams1
Date: Tue, 2 Feb 2010 16:20:02 -0800
Subject: allow terrain collision events after regular collision check
Signed-off-by: Melanie
---
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index ef9005f..b1c6fb9 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -1921,7 +1921,7 @@ namespace OpenSim.Region.Framework.Scenes
foreach (uint localId in startedColliders)
{
if (localId == 0)
- return;
+ continue;
// always running this check because if the user deletes the object it would return a null reference.
if (m_parentGroup == null)
return;
@@ -2057,7 +2057,7 @@ namespace OpenSim.Region.Framework.Scenes
{
// always running this check because if the user deletes the object it would return a null reference.
if (localId == 0)
- return;
+ continue;
if (m_parentGroup == null)
return;
@@ -2189,7 +2189,7 @@ namespace OpenSim.Region.Framework.Scenes
foreach (uint localId in endedColliders)
{
if (localId == 0)
- return;
+ continue;
// always running this check because if the user deletes the object it would return a null reference.
if (m_parentGroup == null)
--
cgit v1.1