Just committing this because I want my commit to be on the front page of www.opensimulator.org rather than lbsa71's being there.

Sugilite
MW 2007-07-01 21:45:47 +00:00
parent 2d34caabb9
commit 7f18f494f1
4 changed files with 76 additions and 77 deletions

View File

@ -1,5 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 9.00 Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005 # Visual C# Express 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Framework.Data", "OpenSim\Framework\Data\OpenSim.Framework.Data.csproj", "{36B72A9B-0000-0000-0000-000000000000}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Framework.Data", "OpenSim\Framework\Data\OpenSim.Framework.Data.csproj", "{36B72A9B-0000-0000-0000-000000000000}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Framework.Data.DB4o", "OpenSim\Framework\Data.DB4o\OpenSim.Framework.Data.DB4o.csproj", "{FD2D303D-0000-0000-0000-000000000000}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Framework.Data.DB4o", "OpenSim\Framework\Data.DB4o\OpenSim.Framework.Data.DB4o.csproj", "{FD2D303D-0000-0000-0000-000000000000}"
@ -29,17 +29,6 @@ Global
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(ProjectDependencies) = postSolution
({FD2D303D-0000-0000-0000-000000000000}).2 = ({36B72A9B-0000-0000-0000-000000000000})
({17F7F694-0000-0000-0000-000000000000}).1 = ({36B72A9B-0000-0000-0000-000000000000})
({17F7F6BE-0000-0000-0000-000000000000}).2 = ({36B72A9B-0000-0000-0000-000000000000})
({6ECC56A9-0000-0000-0000-000000000000}).1 = ({36B72A9B-0000-0000-0000-000000000000})
({586E2916-0000-0000-0000-000000000000}).4 = ({36B72A9B-0000-0000-0000-000000000000})
({60FCC3A6-0000-0000-0000-000000000000}).4 = ({36B72A9B-0000-0000-0000-000000000000})
({60FCC3A6-0000-0000-0000-000000000000}).7 = ({4B7BFD1C-0000-0000-0000-000000000000})
({2FC96F92-0000-0000-0000-000000000000}).4 = ({36B72A9B-0000-0000-0000-000000000000})
({2FC96F92-0000-0000-0000-000000000000}).7 = ({586E2916-0000-0000-0000-000000000000})
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU {36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU

View File

@ -16,12 +16,13 @@ namespace OpenSim.Framework.Types
Torus, Torus,
Prism, Prism,
Scuplted, Scuplted,
Cylinder Cylinder,
Unknown
} }
public class PrimitiveBaseShape public class PrimitiveBaseShape
{ {
private ShapeType type; private ShapeType type = ShapeType.Unknown;
public byte PCode; public byte PCode;
public ushort PathBegin; public ushort PathBegin;

View File

@ -94,7 +94,7 @@ namespace OpenSim.Region.Environment.Scenes
/// </summary> /// </summary>
public override void update() public override void update()
{ {
if (this.updateFlag == 1) // is a new prim just been created/reloaded if (this.updateFlag == 1) // is a new prim just been created/reloaded or has major changes
{ {
this.SendFullUpdateToAllClients(); this.SendFullUpdateToAllClients();
this.updateFlag = 0; this.updateFlag = 0;
@ -151,7 +151,7 @@ namespace OpenSim.Region.Environment.Scenes
this.updateFlag = 1; this.updateFlag = 1;
} }
public void AddToChildren(SceneObject linkObject) public void AddNewChildren(SceneObject linkObject)
{ {
// Console.WriteLine("linking new prims " + linkObject.rootLocalID + " to me (" + this.LocalId + ")"); // Console.WriteLine("linking new prims " + linkObject.rootLocalID + " to me (" + this.LocalId + ")");
//TODO check permissions //TODO check permissions
@ -159,7 +159,7 @@ namespace OpenSim.Region.Environment.Scenes
linkObject.rootPrimitive.SetNewParent(this, this.m_RootParent); linkObject.rootPrimitive.SetNewParent(this, this.m_RootParent);
this.m_world.DeleteEntity(linkObject.rootUUID); this.m_world.DeleteEntity(linkObject.rootUUID);
linkObject.rootPrimitive = null; linkObject.DeleteAllChildren();
} }
public void SetNewParent(Primitive newParent, SceneObject rootParent) public void SetNewParent(Primitive newParent, SceneObject rootParent)

View File

@ -74,7 +74,7 @@ namespace OpenSim.Region.Environment.Scenes
m_regionHandle = regionHandle; m_regionHandle = regionHandle;
m_world = world; m_world = world;
this.Pos = addPacket.ObjectData.RayEnd; this.Pos = addPacket.ObjectData.RayEnd;
this.CreateFromPacket(addPacket, ownerID, localID); this.CreateRootFromPacket(addPacket, ownerID, localID);
} }
/// <summary> /// <summary>
@ -83,7 +83,7 @@ namespace OpenSim.Region.Environment.Scenes
/// <param name="addPacket"></param> /// <param name="addPacket"></param>
/// <param name="agentID"></param> /// <param name="agentID"></param>
/// <param name="localID"></param> /// <param name="localID"></param>
public void CreateFromPacket(ObjectAddPacket addPacket, LLUUID agentID, uint localID) public void CreateRootFromPacket(ObjectAddPacket addPacket, LLUUID agentID, uint localID)
{ {
this.rootPrimitive = new Primitive( this.m_regionHandle, this.m_world, addPacket, agentID, localID, true, this, this); this.rootPrimitive = new Primitive( this.m_regionHandle, this.m_world, addPacket, agentID, localID, true, this, this);
this.children.Add(rootPrimitive); this.children.Add(rootPrimitive);
@ -99,6 +99,15 @@ namespace OpenSim.Region.Environment.Scenes
} }
/// <summary>
///
/// </summary>
public void DeleteAllChildren()
{
this.children.Clear();
this.ChildPrimitives.Clear();
this.rootPrimitive = null;
}
/// <summary> /// <summary>
/// ///
@ -106,7 +115,7 @@ namespace OpenSim.Region.Environment.Scenes
/// <param name="primObject"></param> /// <param name="primObject"></param>
public void AddNewChildPrims(SceneObject primObject) public void AddNewChildPrims(SceneObject primObject)
{ {
this.rootPrimitive.AddToChildren(primObject); this.rootPrimitive.AddNewChildren(primObject);
} }
/// <summary> /// <summary>