fixing bug that get/set the wrong property for prim types other than sphere & box

integration
SignpostMarv 2012-08-02 09:28:32 +01:00 committed by Justin Clark-Casey (justincc)
parent 466d684fbe
commit 7068fddd2f
2 changed files with 6 additions and 3 deletions

View File

@ -4255,7 +4255,8 @@ namespace OpenSim.Region.Framework.Scenes
ushort uBegin = (ushort)(50000.0 * begin); ushort uBegin = (ushort)(50000.0 * begin);
ushort uEnd = (ushort)(50000.0 * (1f - end)); ushort uEnd = (ushort)(50000.0 * (1f - end));
bool updatePossiblyNeeded = false; bool updatePossiblyNeeded = false;
if (GetPrimType() == PrimType.SPHERE) PrimType primType = GetPrimType();
if (primType == PrimType.SPHERE || primType == PrimType.TORUS || primType == PrimType.TUBE || primType == PrimType.RING)
{ {
if (m_shape.ProfileBegin != uBegin || m_shape.ProfileEnd != uEnd) if (m_shape.ProfileBegin != uBegin || m_shape.ProfileEnd != uEnd)
{ {

View File

@ -8347,9 +8347,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
res.Add(new LSL_Vector(GetPartLocalPos(part))); res.Add(new LSL_Vector(GetPartLocalPos(part)));
break; break;
case (int)ScriptBaseClass.PRIM_SLICE: case (int)ScriptBaseClass.PRIM_SLICE:
PrimType prim_type = part.GetPrimType();
bool useProfileBeginEnd = (prim_type == PrimType.SPHERE || prim_type == PrimType.TORUS || prim_type == PrimType.TUBE || prim_type == PrimType.RING);
res.Add(new LSL_Vector( res.Add(new LSL_Vector(
(part.GetPrimType() == PrimType.SPHERE ? part.Shape.ProfileBegin : part.Shape.PathBegin) / 50000.0, (useProfileBeginEnd ? part.Shape.ProfileBegin : part.Shape.PathBegin) / 50000.0,
1 - (part.GetPrimType() == PrimType.SPHERE ? part.Shape.ProfileEnd : part.Shape.PathEnd) / 50000.0, 1 - (useProfileBeginEnd ? part.Shape.ProfileEnd : part.Shape.PathEnd) / 50000.0,
0 0
)); ));
break; break;