Replace axis rotation numeric constants (STATUS_ROTATE_XYZ) with symbols. Also made it so llSetStatus() can individually enable disable rotation axi using the bitmask of flags.
parent
ae67435146
commit
d15bfcf614
|
@ -99,6 +99,15 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// </summary>
|
||||
public partial class SceneObjectGroup : EntityBase, ISceneObject
|
||||
{
|
||||
// Axis selection bitmask used by SetAxisRotation()
|
||||
// Just happen to be the same bits used by llSetStatus() and defined in ScriptBaseClass.
|
||||
public enum axisSelect : int
|
||||
{
|
||||
STATUS_ROTATE_X = 0x002,
|
||||
STATUS_ROTATE_Y = 0x004,
|
||||
STATUS_ROTATE_Z = 0x008,
|
||||
}
|
||||
|
||||
// private PrimCountTaintedDelegate handlerPrimCountTainted = null;
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -1918,11 +1918,11 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
public int GetAxisRotation(int axis)
|
||||
{
|
||||
//Cannot use ScriptBaseClass constants as no referance to it currently.
|
||||
if (axis == 2)//STATUS_ROTATE_X
|
||||
if (axis == (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_X)
|
||||
return STATUS_ROTATE_X;
|
||||
if (axis == 4)//STATUS_ROTATE_Y
|
||||
if (axis == (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Y)
|
||||
return STATUS_ROTATE_Y;
|
||||
if (axis == 8)//STATUS_ROTATE_Z
|
||||
if (axis == (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Z)
|
||||
return STATUS_ROTATE_Z;
|
||||
|
||||
return 0;
|
||||
|
@ -2671,13 +2671,13 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
ParentGroup.SetAxisRotation(axis, rotate);
|
||||
|
||||
//Cannot use ScriptBaseClass constants as no referance to it currently.
|
||||
if (axis == 2)//STATUS_ROTATE_X
|
||||
if ((axis & (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_X) != 0)
|
||||
STATUS_ROTATE_X = rotate;
|
||||
|
||||
if (axis == 4)//STATUS_ROTATE_Y
|
||||
if ((axis & (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Y) != 0)
|
||||
STATUS_ROTATE_Y = rotate;
|
||||
|
||||
if (axis == 8)//STATUS_ROTATE_Z
|
||||
if ((axis & (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Z) != 0)
|
||||
STATUS_ROTATE_Z = rotate;
|
||||
}
|
||||
|
||||
|
|
|
@ -1334,19 +1334,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
return 0;
|
||||
|
||||
case ScriptBaseClass.STATUS_ROTATE_X:
|
||||
if (m_host.GetAxisRotation(2) == 2)
|
||||
// if (m_host.GetAxisRotation(2) != 0)
|
||||
if (m_host.GetAxisRotation((int)SceneObjectGroup.axisSelect.STATUS_ROTATE_X) != 0)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
|
||||
case ScriptBaseClass.STATUS_ROTATE_Y:
|
||||
if (m_host.GetAxisRotation(4) == 4)
|
||||
if (m_host.GetAxisRotation((int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Y) != 0)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
|
||||
case ScriptBaseClass.STATUS_ROTATE_Z:
|
||||
if (m_host.GetAxisRotation(8) == 8)
|
||||
if (m_host.GetAxisRotation((int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Z) != 0)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue