Thank you very much, ChrisIndigo for a patch that:
If a script updates an object to the same position or rotation offset, the object triggers an update and storage of the object. This become more prevalent in sensor and timer events which may be firing frequently.0.6.0-stable
parent
00751ab6f1
commit
82e3698f59
|
@ -2100,16 +2100,26 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
/// <param name="pos"></param>
|
||||
public void UpdateOffSet(LLVector3 pos)
|
||||
{
|
||||
LLVector3 newPos = new LLVector3(pos.X, pos.Y, pos.Z);
|
||||
OffsetPosition = newPos;
|
||||
ScheduleTerseUpdate();
|
||||
if ((pos.X != OffsetPosition.X) ||
|
||||
(pos.Y != OffsetPosition.Y) ||
|
||||
(pos.Z != OffsetPosition.Z))
|
||||
{
|
||||
LLVector3 newPos = new LLVector3(pos.X, pos.Y, pos.Z);
|
||||
OffsetPosition = newPos;
|
||||
ScheduleTerseUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateGroupPosition(LLVector3 pos)
|
||||
{
|
||||
LLVector3 newPos = new LLVector3(pos.X, pos.Y, pos.Z);
|
||||
GroupPosition = newPos;
|
||||
ScheduleTerseUpdate();
|
||||
if ((pos.X != GroupPosition.X) ||
|
||||
(pos.Y != GroupPosition.Y) ||
|
||||
(pos.Z != GroupPosition.Z))
|
||||
{
|
||||
LLVector3 newPos = new LLVector3(pos.X, pos.Y, pos.Z);
|
||||
GroupPosition = newPos;
|
||||
ScheduleTerseUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -2118,9 +2128,15 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
|
||||
public void UpdateRotation(LLQuaternion rot)
|
||||
{
|
||||
//StoreUndoState();
|
||||
RotationOffset = new LLQuaternion(rot.X, rot.Y, rot.Z, rot.W);
|
||||
ScheduleTerseUpdate();
|
||||
if ((rot.X != RotationOffset.X) ||
|
||||
(rot.Y != RotationOffset.Y) ||
|
||||
(rot.Z != RotationOffset.Z) ||
|
||||
(rot.W != RotationOffset.W))
|
||||
{
|
||||
//StoreUndoState();
|
||||
RotationOffset = new LLQuaternion(rot.X, rot.Y, rot.Z, rot.W);
|
||||
ScheduleTerseUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
Loading…
Reference in New Issue