mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 17:05:55 +08:00
* This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle. * This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big! * Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
This commit is contained in:
@@ -39,7 +39,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using Nini.Config;
|
||||
|
||||
@@ -50,8 +50,6 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
public class AuraMetaEntity : PointMetaEntity
|
||||
@@ -59,13 +57,13 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
#region Constructors
|
||||
|
||||
//transparency of root part, NOT particle system. Should probably add support for changing particle system transparency.
|
||||
public AuraMetaEntity(Scene scene, uint LocalId, LLVector3 groupPos, float transparency, LLVector3 color, LLVector3 scale)
|
||||
public AuraMetaEntity(Scene scene, uint LocalId, Vector3 groupPos, float transparency, Vector3 color, Vector3 scale)
|
||||
: base(scene, LocalId, groupPos, transparency)
|
||||
{
|
||||
SetAura(color, scale);
|
||||
}
|
||||
|
||||
public AuraMetaEntity(Scene scene, LLUUID uuid, uint LocalId, LLVector3 groupPos, float transparency, LLVector3 color, LLVector3 scale)
|
||||
public AuraMetaEntity(Scene scene, UUID uuid, uint LocalId, Vector3 groupPos, float transparency, Vector3 color, Vector3 scale)
|
||||
: base(scene, uuid, LocalId, groupPos, transparency)
|
||||
{
|
||||
SetAura(color, scale);
|
||||
@@ -75,7 +73,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private float Average(LLVector3 values)
|
||||
private float Average(Vector3 values)
|
||||
{
|
||||
return (values.X + values.Y + values.Z)/3f;
|
||||
}
|
||||
@@ -84,12 +82,12 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public void SetAura(LLVector3 color, LLVector3 scale)
|
||||
public void SetAura(Vector3 color, Vector3 scale)
|
||||
{
|
||||
SetAura(color, Average(scale) * 2.0f);
|
||||
}
|
||||
|
||||
public void SetAura(LLVector3 color, float radius)
|
||||
public void SetAura(Vector3 color, float radius)
|
||||
{
|
||||
SceneObjectPart From = m_Entity.RootPart;
|
||||
|
||||
@@ -110,7 +108,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
SetAura(From, color, radius, burstRadius, age, burstRate, patternFlags);
|
||||
}
|
||||
|
||||
public void SetAura(SceneObjectPart From, LLVector3 color, float radius, float burstRadius, float age, float burstRate, libsecondlife.Primitive.ParticleSystem.SourcePattern patternFlags)
|
||||
public void SetAura(SceneObjectPart From, Vector3 color, float radius, float burstRadius, float age, float burstRate, Primitive.ParticleSystem.SourcePattern patternFlags)
|
||||
{
|
||||
Primitive.ParticleSystem prules = new Primitive.ParticleSystem();
|
||||
//prules.PartDataFlags = Primitive.ParticleSystem.ParticleDataFlags.Emissive |
|
||||
@@ -139,7 +137,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
prules.PartAcceleration.Y = 0.0f;
|
||||
prules.PartAcceleration.Z = 0.0f;
|
||||
prules.Pattern = patternFlags; //PSYS_SRC_PATTERN
|
||||
//prules.Texture = LLUUID.Zero;//= LLUUID //PSYS_SRC_TEXTURE, default used if blank
|
||||
//prules.Texture = UUID.Zero;//= UUID //PSYS_SRC_TEXTURE, default used if blank
|
||||
prules.BurstRate = burstRate; //PSYS_SRC_BURST_RATE
|
||||
prules.BurstPartCount = 2; //PSYS_SRC_BURST_PART_COUNT
|
||||
//prules.BurstRadius = radius; //PSYS_SRC_BURST_RADIUS
|
||||
@@ -160,4 +158,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using Nini.Config;
|
||||
|
||||
@@ -50,21 +50,19 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
public class BeamMetaEntity : PointMetaEntity
|
||||
{
|
||||
#region Constructors
|
||||
|
||||
public BeamMetaEntity(Scene scene, uint LocalId, LLVector3 groupPos, float transparency, SceneObjectPart To, LLVector3 color)
|
||||
public BeamMetaEntity(Scene scene, uint LocalId, Vector3 groupPos, float transparency, SceneObjectPart To, Vector3 color)
|
||||
: base(scene, LocalId, groupPos, transparency)
|
||||
{
|
||||
SetBeamToUUID(To, color);
|
||||
}
|
||||
|
||||
public BeamMetaEntity(Scene scene, LLUUID uuid, uint LocalId, LLVector3 groupPos, float transparency, SceneObjectPart To, LLVector3 color)
|
||||
public BeamMetaEntity(Scene scene, UUID uuid, uint LocalId, Vector3 groupPos, float transparency, SceneObjectPart To, Vector3 color)
|
||||
: base(scene, uuid, LocalId, groupPos, transparency)
|
||||
{
|
||||
SetBeamToUUID(To, color);
|
||||
@@ -74,13 +72,13 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public void SetBeamToUUID(SceneObjectPart To, LLVector3 color)
|
||||
public void SetBeamToUUID(SceneObjectPart To, Vector3 color)
|
||||
{
|
||||
SceneObjectPart From = m_Entity.RootPart;
|
||||
//Scale size of particles to distance objects are apart (for better visibility)
|
||||
LLVector3 FromPos = From.GetWorldPosition();
|
||||
LLVector3 ToPos = From.GetWorldPosition();
|
||||
// LLUUID toUUID = To.UUID;
|
||||
Vector3 FromPos = From.GetWorldPosition();
|
||||
Vector3 ToPos = From.GetWorldPosition();
|
||||
UUID toUUID = To.UUID;
|
||||
float distance = (float) (Math.Sqrt(Math.Pow(FromPos.X-ToPos.X, 2) +
|
||||
Math.Pow(FromPos.X-ToPos.Y, 2) +
|
||||
Math.Pow(FromPos.X-ToPos.Z, 2)
|
||||
@@ -94,7 +92,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
SetBeamToUUID(From, To, color, rate, scale, speed);
|
||||
}
|
||||
|
||||
public void SetBeamToUUID(SceneObjectPart From, SceneObjectPart To, LLVector3 color, float rate, float scale, float speed)
|
||||
public void SetBeamToUUID(SceneObjectPart From, SceneObjectPart To, Vector3 color, float rate, float scale, float speed)
|
||||
{
|
||||
Primitive.ParticleSystem prules = new Primitive.ParticleSystem();
|
||||
//prules.PartDataFlags = Primitive.ParticleSystem.ParticleDataFlags.Emissive |
|
||||
@@ -118,7 +116,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
prules.PartAcceleration.Y = 0.0f;
|
||||
prules.PartAcceleration.Z = 0.0f;
|
||||
//prules.Pattern = Primitive.ParticleSystem.SourcePattern.Explode; //PSYS_SRC_PATTERN
|
||||
//prules.Texture = LLUUID.Zero;//= LLUUID //PSYS_SRC_TEXTURE, default used if blank
|
||||
//prules.Texture = UUID.Zero;//= UUID //PSYS_SRC_TEXTURE, default used if blank
|
||||
prules.BurstRate = rate; //PSYS_SRC_BURST_RATE
|
||||
prules.BurstPartCount = 1; //PSYS_SRC_BURST_PART_COUNT
|
||||
prules.BurstRadius = 0.5f; //PSYS_SRC_BURST_RADIUS
|
||||
@@ -138,4 +136,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using OpenSim;
|
||||
using OpenSim.Framework;
|
||||
@@ -49,8 +49,6 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
/// <summary>
|
||||
@@ -266,7 +264,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
/// <summary>
|
||||
/// Only called by the MainLoop.
|
||||
/// </summary>
|
||||
private void UndoDid(CMModel model, CMView view, LLUUID uuid)
|
||||
private void UndoDid(CMModel model, CMView view, UUID uuid)
|
||||
{
|
||||
if ((m_state & State.SHOWING_CHANGES) > 0)
|
||||
{
|
||||
@@ -289,7 +287,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_WorkQueue.Enqueue(moreWork);
|
||||
}
|
||||
|
||||
protected void ObjectDuplicated(uint localID, LLVector3 offset, uint dupeFlags, LLUUID AgentID, LLUUID GroupID)
|
||||
protected void ObjectDuplicated(uint localID, Vector3 offset, uint dupeFlags, UUID AgentID, UUID GroupID)
|
||||
{
|
||||
Work moreWork = new Work();
|
||||
moreWork.Type = WorkType.OBJECTDUPLICATED;
|
||||
@@ -298,8 +296,8 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_log.Debug("[CONTENT MANAGEMENT] dup queue");
|
||||
}
|
||||
|
||||
protected void ObjectDuplicatedOnRay(uint localID, uint dupeFlags, LLUUID AgentID, LLUUID GroupID,
|
||||
LLUUID RayTargetObj, LLVector3 RayEnd, LLVector3 RayStart,
|
||||
protected void ObjectDuplicatedOnRay(uint localID, uint dupeFlags, UUID AgentID, UUID GroupID,
|
||||
UUID RayTargetObj, Vector3 RayEnd, Vector3 RayStart,
|
||||
bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters, bool CopyRotates)
|
||||
{
|
||||
Work moreWork = new Work();
|
||||
@@ -318,7 +316,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_log.Debug("[CONTENT MANAGEMENT] new client");
|
||||
}
|
||||
|
||||
protected void OnUnDid(IClientAPI remoteClient, LLUUID primId)
|
||||
protected void OnUnDid(IClientAPI remoteClient, UUID primId)
|
||||
{
|
||||
Work moreWork = new Work();
|
||||
moreWork.Type = WorkType.UNDODID;
|
||||
@@ -405,7 +403,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
protected void StopManaging(LLUUID clientUUID)
|
||||
protected void StopManaging(UUID clientUUID)
|
||||
{
|
||||
foreach(Object sceneobj in m_sceneList.Values)
|
||||
{
|
||||
@@ -433,7 +431,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
}
|
||||
}
|
||||
|
||||
protected void UpdateMultiplePosition(uint localID, LLVector3 pos, IClientAPI remoteClient)
|
||||
protected void UpdateMultiplePosition(uint localID, Vector3 pos, IClientAPI remoteClient)
|
||||
{
|
||||
Work moreWork = new Work();
|
||||
moreWork.Type = WorkType.OBJECTATTRIBUTECHANGE;
|
||||
@@ -442,7 +440,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_log.Debug("[CONTENT MANAGEMENT] pos");
|
||||
}
|
||||
|
||||
protected void UpdateMultipleRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient)
|
||||
protected void UpdateMultipleRotation(uint localID, Quaternion rot, IClientAPI remoteClient)
|
||||
{
|
||||
Work moreWork = new Work();
|
||||
moreWork.Type = WorkType.OBJECTATTRIBUTECHANGE;
|
||||
@@ -451,7 +449,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_log.Debug("[CONTENT MANAGEMENT] rot");
|
||||
}
|
||||
|
||||
protected void UpdateMultipleScale(uint localID, LLVector3 scale, IClientAPI remoteClient)
|
||||
protected void UpdateMultipleScale(uint localID, Vector3 scale, IClientAPI remoteClient)
|
||||
{
|
||||
Work moreWork = new Work();
|
||||
moreWork.Type = WorkType.OBJECTATTRIBUTECHANGE;
|
||||
@@ -460,8 +458,8 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_log.Debug("[CONTENT MANAGEMENT]scale");
|
||||
}
|
||||
|
||||
protected void UpdateNewParts(LLUUID ownerID, LLVector3 RayEnd, LLQuaternion rot, PrimitiveBaseShape shape,
|
||||
byte bypassRaycast, LLVector3 RayStart, LLUUID RayTargetID,
|
||||
protected void UpdateNewParts(UUID ownerID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape,
|
||||
byte bypassRaycast, Vector3 RayStart, UUID RayTargetID,
|
||||
byte RayEndIsIntersection)
|
||||
{
|
||||
Work moreWork = new Work();
|
||||
@@ -471,7 +469,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_log.Debug("[CONTENT MANAGEMENT] new parts");
|
||||
}
|
||||
|
||||
protected void UpdateSinglePosition(uint localID, LLVector3 pos, IClientAPI remoteClient)
|
||||
protected void UpdateSinglePosition(uint localID, Vector3 pos, IClientAPI remoteClient)
|
||||
{
|
||||
Work moreWork = new Work();
|
||||
moreWork.Type = WorkType.OBJECTATTRIBUTECHANGE;
|
||||
@@ -483,7 +481,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
protected void UpdateSingleRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient)
|
||||
protected void UpdateSingleRotation(uint localID, Quaternion rot, IClientAPI remoteClient)
|
||||
{
|
||||
Work moreWork = new Work();
|
||||
moreWork.Type = WorkType.OBJECTATTRIBUTECHANGE;
|
||||
@@ -492,7 +490,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_log.Debug("[CONTENT MANAGEMENT] rot");
|
||||
}
|
||||
|
||||
protected void UpdateSingleScale(uint localID, LLVector3 scale, IClientAPI remoteClient)
|
||||
protected void UpdateSingleScale(uint localID, Vector3 scale, IClientAPI remoteClient)
|
||||
{
|
||||
Work moreWork = new Work();
|
||||
moreWork.Type = WorkType.OBJECTATTRIBUTECHANGE;
|
||||
@@ -723,7 +721,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
public Object Data2; //Just more space for holding data.
|
||||
public uint LocalId; //Convenient
|
||||
public WorkType Type;
|
||||
public LLUUID UUID; //Convenient
|
||||
public UUID UUID; //Convenient
|
||||
|
||||
#endregion Fields
|
||||
}
|
||||
@@ -745,4 +743,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#endregion Other
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using Nini.Config;
|
||||
|
||||
@@ -52,8 +52,6 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
public class CMEntityCollection
|
||||
@@ -63,12 +61,12 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
// private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||
// Any ContentManagementEntities that represent old versions of current SceneObjectGroups or
|
||||
// old versions of deleted SceneObjectGroups will be stored in this hash table.
|
||||
// The LLUUID keys are from the SceneObjectGroup RootPart UUIDs
|
||||
protected Hashtable m_CMEntityHash = Hashtable.Synchronized(new Hashtable()); //LLUUID to ContentManagementEntity
|
||||
// The UUID keys are from the SceneObjectGroup RootPart UUIDs
|
||||
protected Hashtable m_CMEntityHash = Hashtable.Synchronized(new Hashtable()); //UUID to ContentManagementEntity
|
||||
|
||||
// SceneObjectParts that have not been revisioned will be given green auras stored in this hashtable
|
||||
// The LLUUID keys are from the SceneObjectPart that they are supposed to be on.
|
||||
protected Hashtable m_NewlyCreatedEntityAura = Hashtable.Synchronized(new Hashtable()); //LLUUID to AuraMetaEntity
|
||||
// The UUID keys are from the SceneObjectPart that they are supposed to be on.
|
||||
protected Hashtable m_NewlyCreatedEntityAura = Hashtable.Synchronized(new Hashtable()); //UUID to AuraMetaEntity
|
||||
|
||||
#endregion Fields
|
||||
|
||||
@@ -151,7 +149,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
part.ParentGroup.Scene.PrimIDAllocate(),
|
||||
part.GetWorldPosition(),
|
||||
MetaEntity.TRANSLUCENT,
|
||||
new LLVector3(0,254,0),
|
||||
new Vector3(0,254,0),
|
||||
part.Scale
|
||||
);
|
||||
m_NewlyCreatedEntityAura.Add(part.UUID, ent);
|
||||
@@ -175,7 +173,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
return ent;
|
||||
}
|
||||
|
||||
public bool RemoveEntity(LLUUID uuid)
|
||||
public bool RemoveEntity(UUID uuid)
|
||||
{
|
||||
if (!m_CMEntityHash.ContainsKey(uuid))
|
||||
return false;
|
||||
@@ -183,7 +181,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool RemoveNewlyCreatedEntityAura(LLUUID uuid)
|
||||
public bool RemoveNewlyCreatedEntityAura(UUID uuid)
|
||||
{
|
||||
if (!m_NewlyCreatedEntityAura.ContainsKey(uuid))
|
||||
return false;
|
||||
@@ -193,4 +191,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using OpenSim;
|
||||
using OpenSim.Framework;
|
||||
@@ -49,8 +49,6 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
public class CMModel
|
||||
@@ -133,14 +131,14 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_MetaEntityCollection.ClearAll();
|
||||
}
|
||||
|
||||
public ContentManagementEntity FindMetaEntityAffectedByUndo(LLUUID uuid)
|
||||
public ContentManagementEntity FindMetaEntityAffectedByUndo(UUID uuid)
|
||||
{
|
||||
ContentManagementEntity ent = GetMetaGroupByPrim(uuid);
|
||||
return ent;
|
||||
}
|
||||
|
||||
//-------------------------------- HELPERS --------------------------------------------------------------------//
|
||||
public ContentManagementEntity GetMetaGroupByPrim(LLUUID uuid)
|
||||
public ContentManagementEntity GetMetaGroupByPrim(UUID uuid)
|
||||
{
|
||||
foreach (Object ent in m_MetaEntityCollection.Entities.Values)
|
||||
{
|
||||
@@ -194,7 +192,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
SceneObjectGroup temp = null;
|
||||
System.Collections.Hashtable deleteListUUIDs = new Hashtable();
|
||||
// Dictionary<LLUUID, EntityBase> SearchList = new Dictionary<LLUUID,EntityBase>();
|
||||
Dictionary<LLUUID, EntityBase> ReplacementList = new Dictionary<LLUUID,EntityBase>();
|
||||
Dictionary<UUID, EntityBase> ReplacementList = new Dictionary<UUID,EntityBase>();
|
||||
int revision = m_database.GetMostRecentRevision(scene.RegionInfo.RegionID);
|
||||
// EntityBase[] searchArray;
|
||||
|
||||
@@ -255,14 +253,14 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
break;
|
||||
}
|
||||
|
||||
foreach(LLUUID uuid in deleteListUUIDs.Keys)
|
||||
foreach(UUID uuid in deleteListUUIDs.Keys)
|
||||
{
|
||||
try
|
||||
{
|
||||
// I thought that the DeleteGroup() function would handle all of this, but it doesn't. I'm not sure WHAT it handles.
|
||||
((SceneObjectGroup)scene.Entities[uuid]).DetachFromBackup((SceneObjectGroup)scene.Entities[uuid]);
|
||||
scene.PhysicsScene.RemovePrim(((SceneObjectGroup)scene.Entities[uuid]).RootPart.PhysActor);
|
||||
scene.SendKillObject(scene.Entities[uuid].LocalId);
|
||||
scene.SendKiPrimitive(scene.Entities[uuid].LocalId);
|
||||
scene.m_innerScene.DeleteSceneObject(uuid, false);
|
||||
((SceneObjectGroup)scene.Entities[uuid]).DeleteGroup();
|
||||
}
|
||||
@@ -284,7 +282,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
if (!(ent is SceneObjectGroup))
|
||||
continue;
|
||||
|
||||
if ((((SceneObjectGroup)ent).RootPart.GetEffectiveObjectFlags() & (uint) LLObject.ObjectFlags.Phantom) == 0)
|
||||
if ((((SceneObjectGroup)ent).RootPart.GetEffectiveObjectFlags() & (uint) PrimFlags.Phantom) == 0)
|
||||
((SceneObjectGroup)ent).ApplyPhysics(true);
|
||||
((SceneObjectGroup)ent).AttachToBackup();
|
||||
((SceneObjectGroup)ent).HasGroupChanged = true; // If not true, then attaching to backup does nothing because no change is detected.
|
||||
@@ -346,7 +344,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
if (m_MetaEntityCollection.Auras.ContainsKey(part.UUID))
|
||||
{
|
||||
((AuraMetaEntity)m_MetaEntityCollection.Auras[part.UUID]).SetAura(new LLVector3(0,254,0), part.Scale);
|
||||
((AuraMetaEntity)m_MetaEntityCollection.Auras[part.UUID]).SetAura(new Vector3(0,254,0), part.Scale);
|
||||
((AuraMetaEntity)m_MetaEntityCollection.Auras[part.UUID]).RootPart.GroupPosition = part.GetWorldPosition();
|
||||
auraList.Add((AuraMetaEntity)m_MetaEntityCollection.Auras[part.UUID]);
|
||||
}
|
||||
@@ -356,4 +354,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using OpenSim;
|
||||
using OpenSim.Framework;
|
||||
@@ -49,8 +49,6 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
public class CMView
|
||||
@@ -136,7 +134,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
SendSimChatMessage(scene, menu);
|
||||
}
|
||||
|
||||
public void DisplayMetaEntity(LLUUID uuid)
|
||||
public void DisplayMetaEntity(UUID uuid)
|
||||
{
|
||||
ContentManagementEntity group = m_model.GetMetaGroupByPrim(uuid);
|
||||
if (group != null)
|
||||
@@ -199,10 +197,10 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
public void SendSimChatMessage(Scene scene, string message)
|
||||
{
|
||||
scene.SimChat(Helpers.StringToField(message),
|
||||
ChatTypeEnum.Broadcast, 0, new LLVector3(0,0,0), "Content Manager", LLUUID.Zero, false);
|
||||
scene.SimChat(Utils.StringToBytes(message),
|
||||
ChatTypeEnum.Broadcast, 0, new Vector3(0,0,0), "Content Manager", UUID.Zero, false);
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using Nini.Config;
|
||||
|
||||
@@ -49,8 +49,6 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
public class ContentManagementEntity : MetaEntity
|
||||
@@ -64,8 +62,8 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#region Fields
|
||||
|
||||
protected Dictionary<LLUUID, AuraMetaEntity> m_AuraEntities = new Dictionary<LLUUID, AuraMetaEntity>();
|
||||
protected Dictionary<LLUUID, BeamMetaEntity> m_BeamEntities = new Dictionary<LLUUID, BeamMetaEntity>();
|
||||
protected Dictionary<UUID, AuraMetaEntity> m_AuraEntities = new Dictionary<UUID, AuraMetaEntity>();
|
||||
protected Dictionary<UUID, BeamMetaEntity> m_BeamEntities = new Dictionary<UUID, BeamMetaEntity>();
|
||||
|
||||
// The LinkNum of parts in m_Entity and m_UnchangedEntity are the same though UUID and LocalId are different.
|
||||
// This can come in handy.
|
||||
@@ -108,7 +106,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
/// <summary>
|
||||
/// Check if an entitybase list (like that returned by scene.GetEntities() ) contains a group with the rootpart uuid that matches the current uuid.
|
||||
/// </summary>
|
||||
private bool ContainsKey(List<EntityBase> list, LLUUID uuid)
|
||||
private bool ContainsKey(List<EntityBase> list, UUID uuid)
|
||||
{
|
||||
foreach( EntityBase part in list)
|
||||
if (part.UUID == uuid)
|
||||
@@ -116,7 +114,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
return false;
|
||||
}
|
||||
|
||||
private SceneObjectGroup GetGroupByUUID(System.Collections.Generic.List<EntityBase> list, LLUUID uuid)
|
||||
private SceneObjectGroup GetGroupByUUID(System.Collections.Generic.List<EntityBase> list, UUID uuid)
|
||||
{
|
||||
foreach (EntityBase ent in list)
|
||||
{
|
||||
@@ -150,7 +148,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
// if already displaying a red aura over part, make sure its red
|
||||
if (m_AuraEntities.ContainsKey(part.UUID))
|
||||
{
|
||||
m_AuraEntities[part.UUID].SetAura(new LLVector3(254,0,0), part.Scale);
|
||||
m_AuraEntities[part.UUID].SetAura(new Vector3(254,0,0), part.Scale);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -158,7 +156,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_Entity.Scene.PrimIDAllocate(),
|
||||
part.GetWorldPosition(),
|
||||
MetaEntity.TRANSLUCENT,
|
||||
new LLVector3(254,0,0),
|
||||
new Vector3(254,0,0),
|
||||
part.Scale
|
||||
);
|
||||
m_AuraEntities.Add(part.UUID, auraGroup);
|
||||
@@ -189,7 +187,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
/// <summary>
|
||||
/// Check if the revisioned scene object group that this CMEntity is based off of contains a child with the given UUID.
|
||||
/// </summary>
|
||||
public bool HasChildPrim(LLUUID uuid)
|
||||
public bool HasChildPrim(UUID uuid)
|
||||
{
|
||||
if (m_UnchangedEntity.Children.ContainsKey(uuid))
|
||||
return true;
|
||||
@@ -266,7 +264,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_UnchangedEntity.RootPart.GetWorldPosition(),
|
||||
MetaEntity.TRANSLUCENT,
|
||||
sceneEntityPart,
|
||||
new LLVector3(0,0,254)
|
||||
new Vector3(0,0,254)
|
||||
);
|
||||
m_BeamEntities.Add(m_UnchangedEntity.RootPart.UUID, beamGroup);
|
||||
}
|
||||
@@ -280,7 +278,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_Entity.Scene.PrimIDAllocate(),
|
||||
UnchangedPart.GetWorldPosition(),
|
||||
MetaEntity.TRANSLUCENT,
|
||||
new LLVector3(0,0,254),
|
||||
new Vector3(0,0,254),
|
||||
UnchangedPart.Scale
|
||||
);
|
||||
m_AuraEntities.Add(UnchangedPart.UUID, auraGroup);
|
||||
@@ -314,7 +312,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_Entity.Scene.PrimIDAllocate(),
|
||||
UnchangedPart.GetWorldPosition(),
|
||||
MetaEntity.TRANSLUCENT,
|
||||
new LLVector3(254,0,0),
|
||||
new Vector3(254,0,0),
|
||||
UnchangedPart.Scale
|
||||
);
|
||||
m_AuraEntities.Add(UnchangedPart.UUID, auraGroup);
|
||||
@@ -386,4 +384,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using Nini.Config;
|
||||
|
||||
@@ -48,8 +48,6 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
public class ContentManagementModule : IRegionModule
|
||||
@@ -162,4 +160,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ using Slash = System.IO.Path;
|
||||
using System.Reflection;
|
||||
using System.Xml;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using Nini.Config;
|
||||
|
||||
@@ -53,8 +53,6 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
public class FileSystemDatabase : IContentDatabase
|
||||
@@ -70,8 +68,8 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
#region Fields
|
||||
|
||||
private string m_repodir = null;
|
||||
private Dictionary<LLUUID, Scene> m_scenes = new Dictionary<LLUUID, Scene>();
|
||||
private Dictionary<LLUUID, IRegionSerialiser> m_serialiser = new Dictionary<LLUUID, IRegionSerialiser>();
|
||||
private Dictionary<UUID, Scene> m_scenes = new Dictionary<UUID, Scene>();
|
||||
private Dictionary<UUID, IRegionSerialiser> m_serialiser = new Dictionary<UUID, IRegionSerialiser>();
|
||||
|
||||
#endregion Fields
|
||||
|
||||
@@ -92,7 +90,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
if (!Directory.Exists(m_repodir))
|
||||
Directory.CreateDirectory(m_repodir);
|
||||
|
||||
foreach (LLUUID region in m_scenes.Keys)
|
||||
foreach (UUID region in m_scenes.Keys)
|
||||
{
|
||||
scenedir = m_repodir + Slash.DirectorySeparatorChar + region + Slash.DirectorySeparatorChar;
|
||||
if (!Directory.Exists(scenedir))
|
||||
@@ -104,7 +102,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
private void SetupSerialiser()
|
||||
{
|
||||
if (m_serialiser.Count == 0)
|
||||
foreach(LLUUID region in m_scenes.Keys)
|
||||
foreach(UUID region in m_scenes.Keys)
|
||||
m_serialiser.Add(region,
|
||||
m_scenes[region].RequestModuleInterface<IRegionSerialiser>()
|
||||
);
|
||||
@@ -114,12 +112,12 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public int GetMostRecentRevision(LLUUID regionid)
|
||||
public int GetMostRecentRevision(UUID regionid)
|
||||
{
|
||||
return NumOfRegionRev(regionid);
|
||||
}
|
||||
|
||||
public string GetRegionObjectHeightMap(LLUUID regionid)
|
||||
public string GetRegionObjectHeightMap(UUID regionid)
|
||||
{
|
||||
String filename = m_repodir + Slash.DirectorySeparatorChar + regionid +
|
||||
Slash.DirectorySeparatorChar + "heightmap.r32";
|
||||
@@ -131,7 +129,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
return result;
|
||||
}
|
||||
|
||||
public string GetRegionObjectHeightMap(LLUUID regionid, int revision)
|
||||
public string GetRegionObjectHeightMap(UUID regionid, int revision)
|
||||
{
|
||||
String filename = m_repodir + Slash.DirectorySeparatorChar + regionid +
|
||||
Slash.DirectorySeparatorChar + "heightmap.r32";
|
||||
@@ -143,7 +141,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
return result;
|
||||
}
|
||||
|
||||
public System.Collections.ArrayList GetRegionObjectXMLList(LLUUID regionid, int revision)
|
||||
public System.Collections.ArrayList GetRegionObjectXMLList(UUID regionid, int revision)
|
||||
{
|
||||
System.Collections.ArrayList objectList = new System.Collections.ArrayList();
|
||||
string filename = m_repodir + Slash.DirectorySeparatorChar + regionid + Slash.DirectorySeparatorChar +
|
||||
@@ -169,7 +167,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
return null;
|
||||
}
|
||||
|
||||
public System.Collections.ArrayList GetRegionObjectXMLList(LLUUID regionid)
|
||||
public System.Collections.ArrayList GetRegionObjectXMLList(UUID regionid)
|
||||
{
|
||||
int revision = NumOfRegionRev(regionid);
|
||||
m_log.Info("[FSDB]: found revisions:" + revision);
|
||||
@@ -215,7 +213,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
m_scenes.Add(scene.RegionInfo.RegionID, scene);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.SortedDictionary<string, string> ListOfRegionRevisions(LLUUID regionid)
|
||||
public System.Collections.Generic.SortedDictionary<string, string> ListOfRegionRevisions(UUID regionid)
|
||||
{
|
||||
SortedDictionary<string, string> revisionDict = new SortedDictionary<string,string>();
|
||||
|
||||
@@ -244,7 +242,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
return revisionDict;
|
||||
}
|
||||
|
||||
public int NumOfRegionRev(LLUUID regionid)
|
||||
public int NumOfRegionRev(UUID regionid)
|
||||
{
|
||||
string scenedir = m_repodir + Slash.DirectorySeparatorChar + regionid + Slash.DirectorySeparatorChar;
|
||||
m_log.Info("[FSDB]: Reading scene dir: " + scenedir);
|
||||
@@ -261,7 +259,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
CreateDirectory();
|
||||
}
|
||||
|
||||
public void SaveRegion(LLUUID regionid, string regionName, string logMessage)
|
||||
public void SaveRegion(UUID regionid, string regionName, string logMessage)
|
||||
{
|
||||
m_log.Info("[FSDB]: ...............................");
|
||||
string scenedir = m_repodir + Slash.DirectorySeparatorChar + regionid + Slash.DirectorySeparatorChar;
|
||||
@@ -311,4 +309,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ using Slash = System.IO.Path;
|
||||
using System.Reflection;
|
||||
using System.Xml;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using Nini.Config;
|
||||
|
||||
@@ -54,8 +54,6 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
/// <summary>
|
||||
@@ -73,57 +71,57 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public SceneObjectGroup GetMostRecentObjectRevision(LLUUID id)
|
||||
public SceneObjectGroup GetMostRecentObjectRevision(UUID id)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public int GetMostRecentRevision(LLUUID regionid)
|
||||
public int GetMostRecentRevision(UUID regionid)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
public SceneObjectGroup GetObjectRevision(LLUUID id, int revision)
|
||||
public SceneObjectGroup GetObjectRevision(UUID id, int revision)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public System.Collections.ArrayList GetObjectsFromRegion(LLUUID regionid, int revision)
|
||||
public System.Collections.ArrayList GetObjectsFromRegion(UUID regionid, int revision)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public string GetRegionObjectHeightMap(LLUUID regionid)
|
||||
public string GetRegionObjectHeightMap(UUID regionid)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public string GetRegionObjectHeightMap(LLUUID regionid, int revision)
|
||||
public string GetRegionObjectHeightMap(UUID regionid, int revision)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public string GetRegionObjectXML(LLUUID regionid)
|
||||
public string GetRegionObjectXML(UUID regionid)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public string GetRegionObjectXML(LLUUID regionid, int revision)
|
||||
public string GetRegionObjectXML(UUID regionid, int revision)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public System.Collections.ArrayList GetRegionObjectXMLList(LLUUID regionid)
|
||||
public System.Collections.ArrayList GetRegionObjectXMLList(UUID regionid)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public System.Collections.ArrayList GetRegionObjectXMLList(LLUUID regionid, int revision)
|
||||
public System.Collections.ArrayList GetRegionObjectXMLList(UUID regionid, int revision)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public bool InRepository(LLUUID id)
|
||||
public bool InRepository(UUID id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -132,22 +130,22 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
}
|
||||
|
||||
public System.Collections.Generic.SortedDictionary<string, string> ListOfObjectRevisions(LLUUID id)
|
||||
public System.Collections.Generic.SortedDictionary<string, string> ListOfObjectRevisions(UUID id)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public System.Collections.Generic.SortedDictionary<string, string> ListOfRegionRevisions(LLUUID id)
|
||||
public System.Collections.Generic.SortedDictionary<string, string> ListOfRegionRevisions(UUID id)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public int NumOfObjectRev(LLUUID id)
|
||||
public int NumOfObjectRev(UUID id)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int NumOfRegionRev(LLUUID regionid)
|
||||
public int NumOfRegionRev(UUID regionid)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -160,10 +158,10 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
}
|
||||
|
||||
public void SaveRegion(LLUUID regionid, string regionName, string logMessage)
|
||||
public void SaveRegion(UUID regionid, string regionName, string logMessage)
|
||||
{
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,11 +36,8 @@
|
||||
#endregion Header
|
||||
|
||||
using System;
|
||||
|
||||
using libsecondlife;
|
||||
|
||||
using OpenMetaverse;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
|
||||
using Nini.Config;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
@@ -52,18 +49,18 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
/// <summary>
|
||||
/// Returns the most recent revision number of a region.
|
||||
/// </summary>
|
||||
int GetMostRecentRevision(LLUUID regionid);
|
||||
int GetMostRecentRevision(UUID regionid);
|
||||
|
||||
string GetRegionObjectHeightMap(LLUUID regionid);
|
||||
string GetRegionObjectHeightMap(UUID regionid);
|
||||
|
||||
string GetRegionObjectHeightMap(LLUUID regionid, int revision);
|
||||
string GetRegionObjectHeightMap(UUID regionid, int revision);
|
||||
|
||||
/// <summary>
|
||||
/// Retrieves the xml that describes each individual object from the last revision or specific revision of the given region.
|
||||
/// </summary>
|
||||
System.Collections.ArrayList GetRegionObjectXMLList(LLUUID regionid);
|
||||
System.Collections.ArrayList GetRegionObjectXMLList(UUID regionid);
|
||||
|
||||
System.Collections.ArrayList GetRegionObjectXMLList(LLUUID regionid, int revision);
|
||||
System.Collections.ArrayList GetRegionObjectXMLList(UUID regionid, int revision);
|
||||
|
||||
/// <summary>
|
||||
/// Similar to the IRegionModule function. This is the function to be called before attempting to interface with the database.
|
||||
@@ -75,12 +72,12 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
/// <summary>
|
||||
/// Returns a list of the revision numbers and corresponding log messages for a given region.
|
||||
/// </summary>
|
||||
System.Collections.Generic.SortedDictionary<string, string> ListOfRegionRevisions(LLUUID id);
|
||||
System.Collections.Generic.SortedDictionary<string, string> ListOfRegionRevisions(UUID id);
|
||||
|
||||
/// <summary>
|
||||
/// Returns the total number of revisions saved for a specific region.
|
||||
/// </summary>
|
||||
int NumOfRegionRev(LLUUID regionid);
|
||||
int NumOfRegionRev(UUID regionid);
|
||||
|
||||
/// <summary>
|
||||
/// Should be called once after Initialise has been called.
|
||||
@@ -90,8 +87,8 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
/// <summary>
|
||||
/// Saves the Region terrain map and objects within the region as xml to the database.
|
||||
/// </summary>
|
||||
void SaveRegion(LLUUID regionid, string regionName, string logMessage);
|
||||
void SaveRegion(UUID regionid, string regionName, string logMessage);
|
||||
|
||||
#endregion Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using Nini.Config;
|
||||
|
||||
@@ -50,8 +50,6 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
public class MetaEntity
|
||||
@@ -109,7 +107,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#region Public Properties
|
||||
|
||||
public Dictionary<LLUUID, SceneObjectPart> Children
|
||||
public Dictionary<UUID, SceneObjectPart> Children
|
||||
{
|
||||
get { return m_Entity.Children; }
|
||||
set { m_Entity.Children = value; }
|
||||
@@ -142,7 +140,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
get { return m_Entity.Scene; }
|
||||
}
|
||||
|
||||
public LLUUID UUID
|
||||
public UUID UUID
|
||||
{
|
||||
get { return m_Entity.UUID; }
|
||||
set { m_Entity.UUID = value; }
|
||||
@@ -161,7 +159,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
protected void Initialize(bool physics)
|
||||
{
|
||||
//make new uuids
|
||||
Dictionary<LLUUID, SceneObjectPart> parts = new Dictionary<LLUUID, SceneObjectPart>();
|
||||
Dictionary<UUID, SceneObjectPart> parts = new Dictionary<UUID, SceneObjectPart>();
|
||||
foreach(SceneObjectPart part in m_Entity.Children.Values)
|
||||
{
|
||||
part.ResetIDs(part.LinkNum);
|
||||
@@ -191,7 +189,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
//This is important because we are not IN any database.
|
||||
//m_Entity.FakeDeleteGroup();
|
||||
foreach( SceneObjectPart part in m_Entity.Children.Values)
|
||||
client.SendKillObject(m_Entity.RegionHandle, part.LocalId);
|
||||
client.SendKiPrimitive(m_Entity.RegionHandle, part.LocalId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -201,7 +199,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
foreach( SceneObjectPart part in m_Entity.Children.Values)
|
||||
m_Entity.Scene.ClientManager.ForEachClient(delegate(IClientAPI controller)
|
||||
{ controller.SendKillObject(m_Entity.RegionHandle, part.LocalId); }
|
||||
{ controller.SendKiPrimitive(m_Entity.RegionHandle, part.LocalId); }
|
||||
);
|
||||
}
|
||||
|
||||
@@ -237,12 +235,12 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
/// </param>
|
||||
public static void SetPartTransparency(SceneObjectPart part, float transparencyAmount)
|
||||
{
|
||||
LLObject.TextureEntry tex = null;
|
||||
LLColor texcolor;
|
||||
Primitive.TextureEntry tex = null;
|
||||
Color4 texcolor;
|
||||
try
|
||||
{
|
||||
tex = part.Shape.Textures;
|
||||
texcolor = new LLColor();
|
||||
texcolor = new Color4();
|
||||
}
|
||||
catch(Exception)
|
||||
{
|
||||
@@ -280,4 +278,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using Nini.Config;
|
||||
|
||||
@@ -50,22 +50,20 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
public class PointMetaEntity : MetaEntity
|
||||
{
|
||||
#region Constructors
|
||||
|
||||
public PointMetaEntity(Scene scene, uint LocalId, LLVector3 groupPos, float transparency)
|
||||
public PointMetaEntity(Scene scene, uint LocalId, Vector3 groupPos, float transparency)
|
||||
: base()
|
||||
{
|
||||
CreatePointEntity(scene, LLUUID.Random(), LocalId, groupPos);
|
||||
CreatePointEntity(scene, UUID.Random(), LocalId, groupPos);
|
||||
SetPartTransparency(m_Entity.RootPart, transparency);
|
||||
}
|
||||
|
||||
public PointMetaEntity(Scene scene, LLUUID uuid, uint LocalId, LLVector3 groupPos, float transparency)
|
||||
public PointMetaEntity(Scene scene, UUID uuid, uint LocalId, Vector3 groupPos, float transparency)
|
||||
: base()
|
||||
{
|
||||
CreatePointEntity(scene, uuid, LocalId, groupPos);
|
||||
@@ -76,7 +74,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private void CreatePointEntity(Scene scene, LLUUID uuid, uint LocalId, LLVector3 groupPos)
|
||||
private void CreatePointEntity(Scene scene, UUID uuid, uint LocalId, Vector3 groupPos)
|
||||
{
|
||||
SceneObjectGroup x = new SceneObjectGroup();
|
||||
SceneObjectPart y = new SceneObjectPart();
|
||||
@@ -85,23 +83,23 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
y.Name = "Very Small Point";
|
||||
y.RegionHandle = scene.RegionInfo.RegionHandle;
|
||||
y.CreationDate = (Int32) (DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
|
||||
y.OwnerID = LLUUID.Zero;
|
||||
y.CreatorID = LLUUID.Zero;
|
||||
y.LastOwnerID = LLUUID.Zero;
|
||||
y.OwnerID = UUID.Zero;
|
||||
y.CreatorID = UUID.Zero;
|
||||
y.LastOwnerID = UUID.Zero;
|
||||
y.UUID = uuid;
|
||||
|
||||
y.LocalId = LocalId;
|
||||
|
||||
y.Shape = PrimitiveBaseShape.CreateBox();
|
||||
y.Scale = new LLVector3(0.01f,0.01f,0.01f);
|
||||
y.LastOwnerID = LLUUID.Zero;
|
||||
y.Scale = new Vector3(0.01f,0.01f,0.01f);
|
||||
y.LastOwnerID = UUID.Zero;
|
||||
y.GroupPosition = groupPos;
|
||||
y.OffsetPosition = new LLVector3(0, 0, 0);
|
||||
y.RotationOffset = new LLQuaternion(0,0,0,0);
|
||||
y.Velocity = new LLVector3(0, 0, 0);
|
||||
y.RotationalVelocity = new LLVector3(0, 0, 0);
|
||||
y.AngularVelocity = new LLVector3(0, 0, 0);
|
||||
y.Acceleration = new LLVector3(0, 0, 0);
|
||||
y.OffsetPosition = new Vector3(0, 0, 0);
|
||||
y.RotationOffset = new Quaternion(0,0,0,0);
|
||||
y.Velocity = new Vector3(0, 0, 0);
|
||||
y.RotationalVelocity = new Vector3(0, 0, 0);
|
||||
y.AngularVelocity = new Vector3(0, 0, 0);
|
||||
y.Acceleration = new Vector3(0, 0, 0);
|
||||
|
||||
y.Flags = 0;
|
||||
y.TrimPermissions();
|
||||
@@ -121,4 +119,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
|
||||
using libsecondlife;
|
||||
using OpenMetaverse;
|
||||
|
||||
using Nini.Config;
|
||||
|
||||
@@ -48,8 +48,6 @@ using OpenSim.Region.Physics.Manager;
|
||||
|
||||
using log4net;
|
||||
|
||||
using Axiom.Math;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
{
|
||||
#region Enumerations
|
||||
@@ -99,14 +97,14 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private static bool AreQuaternionsEquivalent(LLQuaternion first, LLQuaternion second)
|
||||
private static bool AreQuaternionsEquivalent(Quaternion first, Quaternion second)
|
||||
{
|
||||
LLVector3 firstVector = llRot2Euler(first);
|
||||
LLVector3 secondVector = llRot2Euler(second);
|
||||
Vector3 firstVector = llRot2Euler(first);
|
||||
Vector3 secondVector = llRot2Euler(second);
|
||||
return AreVectorsEquivalent(firstVector, secondVector);
|
||||
}
|
||||
|
||||
private static bool AreVectorsEquivalent(LLVector3 first, LLVector3 second)
|
||||
private static bool AreVectorsEquivalent(Vector3 first, Vector3 second)
|
||||
{
|
||||
if(TruncateSignificant(first.X, 2) == TruncateSignificant(second.X, 2)
|
||||
&& TruncateSignificant(first.Y, 2) == TruncateSignificant(second.Y, 2)
|
||||
@@ -133,21 +131,21 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
// Taken from Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
|
||||
// Also changed the original function from LSL_Types to LL types
|
||||
private static LLVector3 llRot2Euler(LLQuaternion r)
|
||||
private static Vector3 llRot2Euler(Quaternion r)
|
||||
{
|
||||
LLQuaternion t = new LLQuaternion(r.X * r.X, r.Y * r.Y, r.Z * r.Z, r.W * r.W);
|
||||
Quaternion t = new Quaternion(r.X * r.X, r.Y * r.Y, r.Z * r.Z, r.W * r.W);
|
||||
double m = (t.X + t.Y + t.Z + t.W);
|
||||
if (m == 0) return new LLVector3();
|
||||
if (m == 0) return new Vector3();
|
||||
double n = 2 * (r.Y * r.W + r.X * r.Z);
|
||||
double p = m * m - n * n;
|
||||
if (p > 0)
|
||||
return new LLVector3((float)NormalizeAngle(Math.Atan2(2.0 * (r.X * r.W - r.Y * r.Z), (-t.X - t.Y + t.Z + t.W))),
|
||||
return new Vector3((float)NormalizeAngle(Math.Atan2(2.0 * (r.X * r.W - r.Y * r.Z), (-t.X - t.Y + t.Z + t.W))),
|
||||
(float)NormalizeAngle(Math.Atan2(n, Math.Sqrt(p))),
|
||||
(float)NormalizeAngle(Math.Atan2(2.0 * (r.Z * r.W - r.X * r.Y), (t.X - t.Y - t.Z + t.W))));
|
||||
else if (n > 0)
|
||||
return new LLVector3(0.0f, (float)(Math.PI / 2), (float)NormalizeAngle(Math.Atan2((r.Z * r.W + r.X * r.Y), 0.5 - t.X - t.Z)));
|
||||
return new Vector3(0.0f, (float)(Math.PI / 2), (float)NormalizeAngle(Math.Atan2((r.Z * r.W + r.X * r.Y), 0.5 - t.X - t.Z)));
|
||||
else
|
||||
return new LLVector3(0.0f, (float)(-Math.PI / 2), (float)NormalizeAngle(Math.Atan2((r.Z * r.W + r.X * r.Y), 0.5 - t.X - t.Z)));
|
||||
return new Vector3(0.0f, (float)(-Math.PI / 2), (float)NormalizeAngle(Math.Atan2((r.Z * r.W + r.X * r.Y), 0.5 - t.X - t.Z)));
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
@@ -187,7 +185,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
result |= Diff.ROTATIONOFFSET;
|
||||
|
||||
|
||||
// MISC COMPARISONS (LLUUID, Byte)
|
||||
// MISC COMPARISONS (UUID, Byte)
|
||||
if(first.ClickAction != second.ClickAction)
|
||||
result |= Diff.CLICKACTION;
|
||||
if(first.ObjectOwner != second.ObjectOwner)
|
||||
@@ -217,4 +215,4 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user