If resized shape is a mesh/sculpt, leave it to the mesh asset callback to trigger the physics actor taint.
In the last commit, the fix was made by updating all the child prim physics actors with the new size rather than just the root part.bulletsim
parent
18652eb87e
commit
da7340b9fb
|
@ -2789,7 +2789,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (obPart.PhysActor != null)
|
if (obPart.PhysActor != null)
|
||||||
{
|
{
|
||||||
obPart.PhysActor.Size = newSize;
|
obPart.PhysActor.Size = newSize;
|
||||||
m_scene.PhysicsScene.AddPhysicsActorTaint(obPart.PhysActor);
|
|
||||||
|
// If we're a sculpt wait for the trigger when the sculpt texture is retrieved.
|
||||||
|
if (((OpenMetaverse.SculptType)obPart.Shape.SculptType) != SculptType.Mesh)
|
||||||
|
m_scene.PhysicsScene.AddPhysicsActorTaint(obPart.PhysActor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2800,7 +2803,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (part.PhysActor != null)
|
if (part.PhysActor != null)
|
||||||
{
|
{
|
||||||
part.PhysActor.Size = prevScale;
|
part.PhysActor.Size = prevScale;
|
||||||
m_scene.PhysicsScene.AddPhysicsActorTaint(part.PhysActor);
|
|
||||||
|
// If we're a sculpt wait for the trigger when the sculpt texture is retrieved.
|
||||||
|
if (((OpenMetaverse.SculptType)part.Shape.SculptType) != SculptType.Mesh)
|
||||||
|
m_scene.PhysicsScene.AddPhysicsActorTaint(part.PhysActor);
|
||||||
}
|
}
|
||||||
|
|
||||||
part.IgnoreUndoUpdate = false;
|
part.IgnoreUndoUpdate = false;
|
||||||
|
|
Loading…
Reference in New Issue