BulletSim: fix the trimming of colliders so only the top 25 are returned.
parent
2cd56014a7
commit
f6380a3ad3
|
@ -708,8 +708,8 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters
|
||||||
}
|
}
|
||||||
|
|
||||||
List<BSPhysObject> orderedPrims = new List<BSPhysObject>(PhysObjects.Values);
|
List<BSPhysObject> orderedPrims = new List<BSPhysObject>(PhysObjects.Values);
|
||||||
orderedPrims.OrderByDescending(p => p.CollisionScore).Take(25);
|
orderedPrims.OrderByDescending(p => p.CollisionScore);
|
||||||
topColliders = orderedPrims.ToDictionary(p => p.LocalID, p => p.CollisionScore);
|
topColliders = orderedPrims.Take(25).ToDictionary(p => p.LocalID, p => p.CollisionScore);
|
||||||
}
|
}
|
||||||
|
|
||||||
return topColliders;
|
return topColliders;
|
||||||
|
|
|
@ -4096,8 +4096,8 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
lock (_prims)
|
lock (_prims)
|
||||||
{
|
{
|
||||||
List<OdePrim> orderedPrims = new List<OdePrim>(_prims);
|
List<OdePrim> orderedPrims = new List<OdePrim>(_prims);
|
||||||
orderedPrims.OrderByDescending(p => p.CollisionScore).Take(25);
|
orderedPrims.OrderByDescending(p => p.CollisionScore);
|
||||||
topColliders = orderedPrims.ToDictionary(p => p.LocalID, p => p.CollisionScore);
|
topColliders = orderedPrims.Take(25).ToDictionary(p => p.LocalID, p => p.CollisionScore);
|
||||||
|
|
||||||
foreach (OdePrim p in _prims)
|
foreach (OdePrim p in _prims)
|
||||||
p.CollisionScore = 0;
|
p.CollisionScore = 0;
|
||||||
|
|
Loading…
Reference in New Issue