Adding SOG/SOP to ScenePresence working more but confusion on UUID of presence vs SOG
parent
1ff16c93a3
commit
2335968271
|
@ -1969,7 +1969,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_log.Warn("Entity with " + sogID + " is not of type SceneObjectGroup");
|
m_log.WarnFormat("{0}: Entity with {1} is not of type SceneObjectGroup: {2}",
|
||||||
|
"[SCENE GRAPH]", sogID, entity.GetType().ToString());
|
||||||
//return false;
|
//return false;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -2008,7 +2009,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_log.Warn("Entity with " + sogID + " is not of type SceneObjectGroup");
|
m_log.WarnFormat("{0}: Entity with {1} iss not of type SceneObjectGroup: {2}",
|
||||||
|
"[SCENE GRAPH]", sogID, entity.GetType().ToString());
|
||||||
//return false;
|
//return false;
|
||||||
updateResult = Scene.ObjectUpdateResult.Error;
|
updateResult = Scene.ObjectUpdateResult.Error;
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,7 +166,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
get { return m_physActor; }
|
get { return m_physActor; }
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[SOP]: PhysActor set to {0} for {1} {2}", value, Name, UUID);
|
m_log.DebugFormat("[SCENE OBJECT PART]: PhysActor set to {0} for {1} {2}", value, Name, UUID);
|
||||||
m_physActor = value;
|
m_physActor = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2744,7 +2744,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (PhysActor != null)
|
if (PhysActor != null)
|
||||||
{
|
{
|
||||||
|
|
||||||
Vector3 newpos = new Vector3(PhysActor.Position.GetBytes(), 0);
|
// Vector3 newpos = new Vector3(PhysActor.Position.GetBytes(), 0);
|
||||||
|
Vector3 newpos = new Vector3(PhysActor.Position);
|
||||||
|
|
||||||
if (m_parentGroup == null)
|
if (m_parentGroup == null)
|
||||||
{
|
{
|
||||||
|
@ -2761,7 +2762,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
m_parentGroup.AbsolutePosition = newpos;
|
m_parentGroup.AbsolutePosition = newpos;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m_log.DebugFormat("[PHYSICS]: TerseUpdate: newpos={0}", newpos.ToString());
|
m_log.DebugFormat("[PHYSICS]: TerseUpdate: UUID={0}, newpos={1}", PhysActor.UUID.ToString(), newpos.ToString());
|
||||||
//m_parentGroup.RootPart.m_groupPosition = newpos;
|
//m_parentGroup.RootPart.m_groupPosition = newpos;
|
||||||
}
|
}
|
||||||
//ScheduleTerseUpdate();
|
//ScheduleTerseUpdate();
|
||||||
|
|
|
@ -2451,7 +2451,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void SendTerseUpdateToAllClients()
|
public void SendTerseUpdateToAllClients()
|
||||||
{
|
{
|
||||||
m_log.DebugFormat("[SCENE PRESENCE]: TerseUpdate: pos={0}", m_physicsActor.Position.ToString());
|
m_log.DebugFormat("[SCENE PRESENCE]: TerseUpdate: UUID={0}, pos={1}", m_physicsActor.UUID.ToString(), m_physicsActor.Position.ToString());
|
||||||
// REGION SYNC
|
// REGION SYNC
|
||||||
if (m_scene.IsSyncedServer())
|
if (m_scene.IsSyncedServer())
|
||||||
{
|
{
|
||||||
|
@ -3392,11 +3392,19 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
m_physicsActor.LocalID = LocalId;
|
m_physicsActor.LocalID = LocalId;
|
||||||
m_physicsActor.UUID = this.UUID;
|
m_physicsActor.UUID = this.UUID;
|
||||||
|
|
||||||
m_sop = new SceneObjectPart(this.UUID, new PrimitiveBaseShape(), Vector3.Zero, Quaternion.Identity, Vector3.Zero);
|
m_sop = new SceneObjectPart(this.UUID, new PrimitiveBaseShape(),
|
||||||
|
new Vector3(1f,1f,1f), Quaternion.Identity, new Vector3(2f, 2f, 2f));
|
||||||
|
// Vector3.Zero, Quaternion.Identity, Vector3.Zero);
|
||||||
m_sop.PhysActor = m_physicsActor;
|
m_sop.PhysActor = m_physicsActor;
|
||||||
m_sop.InitializeBucketSyncInfo();
|
m_sop.InitializeBucketSyncInfo();
|
||||||
|
// pull the values from the PhysActor into the SOP
|
||||||
|
Vector3 temp = m_sop.GroupPosition;
|
||||||
|
temp = m_sop.OffsetPosition;
|
||||||
|
Quaternion tempq = m_sop.RotationOffset;
|
||||||
|
|
||||||
m_sog = new SceneObjectGroup(m_sop, true);
|
m_sog = new SceneObjectGroup(m_sop, true);
|
||||||
m_sog.Scene = m_scene;
|
// m_sog.Scene = m_scene;
|
||||||
|
m_sog.AttachToSceneBySync(m_scene);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OutOfBoundsCall(Vector3 pos)
|
private void OutOfBoundsCall(Vector3 pos)
|
||||||
|
|
Loading…
Reference in New Issue