/// <summary> /// Spin the given object /// </summary> /// <param name="objectID"></param> /// <param name="rotation"></param> /// <param name="remoteClient"></param> public virtual void ProcessSpinObject(UUID objectID, Quaternion rotation, IClientAPI remoteClient) { SceneObjectGroup group = GetGroupByPrim(objectID); if (group != null) { if (Permissions.CanMoveObject(group, remoteClient))// && PermissionsMngr.) { group.SpinMovement(rotation, remoteClient); } // This is outside the above permissions condition // so that if the object is locked the client moving the object // get's it's position on the simulator even if it was the same as before // This keeps the moving user's client in sync with the rest of the world. group.SendGroupTerseUpdate(); } }