Add localID to prim and avatar physics creation calls

dsg
Robert Adams 2011-05-19 12:10:53 -07:00
parent 83d67391f1
commit b0173de7ec
3 changed files with 14 additions and 1 deletions

View File

@ -1627,6 +1627,7 @@ namespace OpenSim.Region.Framework.Scenes
if (!isPhantom && !IsAttachment && !(Shape.PathCurve == (byte) Extrusion.Flexible))
{
PhysActor = m_parentGroup.Scene.PhysicsScene.AddPrimShape(
LocalId,
string.Format("{0}/{1}", Name, UUID),
Shape,
AbsolutePosition,
@ -4495,6 +4496,7 @@ namespace OpenSim.Region.Framework.Scenes
{
// It's not phantom anymore. So make sure the physics engine get's knowledge of it
PhysActor = m_parentGroup.Scene.PhysicsScene.AddPrimShape(
LocalId,
string.Format("{0}/{1}", Name, UUID),
Shape,
AbsolutePosition,

View File

@ -3405,7 +3405,7 @@ namespace OpenSim.Region.Framework.Scenes
Vector3 pVec = AbsolutePosition;
// Old bug where the height was in centimeters instead of meters
m_physicsActor = scene.AddAvatar(Firstname + "." + Lastname, pVec,
m_physicsActor = scene.AddAvatar(LocalId, Firstname + "." + Lastname, pVec,
new Vector3(0f, 0f, m_appearance.AvatarHeight), isFlying);
scene.AddPhysicsActorTaint(m_physicsActor);

View File

@ -66,6 +66,11 @@ namespace OpenSim.Region.Physics.Manager
public abstract PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying);
public virtual PhysicsActor AddAvatar(uint localID, string avName, Vector3 position, Vector3 size, bool isFlying)
{
return AddAvatar(avName, position, size, isFlying);
}
public abstract void RemoveAvatar(PhysicsActor actor);
public abstract void RemovePrim(PhysicsActor prim);
@ -75,6 +80,12 @@ namespace OpenSim.Region.Physics.Manager
public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position,
Vector3 size, Quaternion rotation, bool isPhysical);
public virtual PhysicsActor AddPrimShape(uint localId, string primName, PrimitiveBaseShape pbs, Vector3 position,
Vector3 size, Quaternion rotation, bool isPhysical)
{
return AddPrimShape(primName, pbs, position, size, rotation, isPhysical);
}
public virtual float TimeDilation
{
get { return 1.0f; }