add test for rezzing an object from a prim item
parent
9fc29e1595
commit
7ed419217f
|
@ -1971,8 +1971,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// <summary>
|
||||
/// Add a newly created object to the scene.
|
||||
/// </summary>
|
||||
///
|
||||
/// <remarks>
|
||||
/// This method does not send updates to the client - callers need to handle this themselves.
|
||||
/// </remarks>
|
||||
/// <param name="sceneObject"></param>
|
||||
/// <param name="attachToBackup"></param>
|
||||
/// <param name="pos">Position of the object</param>
|
||||
|
|
|
@ -344,6 +344,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// Add an object to the scene. This will both update the scene, and send information about the
|
||||
/// new object to all clients interested in the scene.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The object's stored position, rotation and velocity are used.
|
||||
/// </remarks>
|
||||
/// <param name="sceneObject"></param>
|
||||
/// <param name="attachToBackup">
|
||||
/// If true, the object is made persistent into the scene.
|
||||
|
|
|
@ -90,11 +90,54 @@ namespace OpenSim.Region.Framework.Tests
|
|||
|
||||
return ncItem;
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void TestRezObjectFromInventoryItem()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
// log4net.Config.XmlConfigurator.Configure();
|
||||
|
||||
Scene scene = SceneSetupHelpers.SetupScene();
|
||||
UserAccount user1 = CreateUser(scene);
|
||||
SceneObjectGroup sog1 = CreateSO1(scene, user1.PrincipalID);
|
||||
SceneObjectPart sop1 = sog1.RootPart;
|
||||
|
||||
// Create an object embedded inside the first
|
||||
UUID taskSceneObjectItemId = UUID.Parse("00000000-0000-0000-0000-100000000000");
|
||||
|
||||
SceneObjectGroup taskSceneObject = SceneSetupHelpers.CreateSceneObject(1, UUID.Zero);
|
||||
AssetBase taskSceneObjectAsset = AssetHelpers.CreateAsset(0x10, taskSceneObject);
|
||||
scene.AssetService.Store(taskSceneObjectAsset);
|
||||
TaskInventoryItem taskSceneObjectItem
|
||||
= new TaskInventoryItem
|
||||
{ Name = "tso", AssetID = taskSceneObjectAsset.FullID, ItemID = taskSceneObjectItemId,
|
||||
Type = (int)AssetType.Object, InvType = (int)InventoryType.Object };
|
||||
sop1.Inventory.AddInventoryItem(taskSceneObjectItem, true);
|
||||
|
||||
scene.AddSceneObject(sog1);
|
||||
|
||||
Vector3 rezPos = new Vector3(10, 10, 10);
|
||||
Quaternion rezRot = new Quaternion(0.5f, 0.5f, 0.5f, 0.5f);
|
||||
Vector3 rezVel = new Vector3(2, 2, 2);
|
||||
|
||||
scene.RezObject(sop1, taskSceneObjectItem, rezPos, rezRot, rezVel, 0);
|
||||
|
||||
SceneObjectPart rezzedObjectPart = scene.GetSceneObjectPart("tso");
|
||||
|
||||
Assert.That(rezzedObjectPart, Is.Not.Null);
|
||||
Assert.That(rezzedObjectPart.AbsolutePosition, Is.EqualTo(rezPos));
|
||||
Assert.That(rezzedObjectPart.RotationOffset, Is.EqualTo(rezRot));
|
||||
|
||||
// Velocity isn't being set, possibly because we have no physics
|
||||
//Assert.That(rezzedObjectPart.Velocity, Is.EqualTo(rezVel));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test MoveTaskInventoryItem where the item has no parent folder assigned.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This should place it in the most suitable user folder.
|
||||
/// </remarks>
|
||||
[Test]
|
||||
public void TestMoveTaskInventoryItem()
|
||||
{
|
||||
|
|
|
@ -56,10 +56,24 @@ namespace OpenSim.Tests.Common
|
|||
AssetBase asset = CreateAsset(UUID.Random(), AssetType.Notecard, "hello", creatorId);
|
||||
scene.AssetService.Store(asset);
|
||||
return asset;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create an asset from the given object.
|
||||
/// </summary>
|
||||
/// <param name="assetUuidTail">
|
||||
/// The hexadecimal last part of the UUID for the asset created. A UUID of the form "00000000-0000-0000-0000-{0:XD12}"
|
||||
/// will be used.
|
||||
/// </param>
|
||||
/// <param name="sog"></param>
|
||||
/// <returns></returns>
|
||||
public static AssetBase CreateAsset(int assetUuidTail, SceneObjectGroup sog)
|
||||
{
|
||||
return CreateAsset(new UUID(string.Format("00000000-0000-0000-0000-{0:X12}", assetUuidTail)), sog);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create an asset from the given scene object.
|
||||
/// Create an asset from the given object.
|
||||
/// </summary>
|
||||
/// <param name="assetUuid"></param>
|
||||
/// <param name="sog"></param>
|
||||
|
@ -76,7 +90,7 @@ namespace OpenSim.Tests.Common
|
|||
/// <summary>
|
||||
/// Create an asset from the given scene object.
|
||||
/// </summary>
|
||||
/// <param name="assetUuidTailZ">
|
||||
/// <param name="assetUuidTail">
|
||||
/// The hexadecimal last part of the UUID for the asset created. A UUID of the form "00000000-0000-0000-0000-{0:XD12}"
|
||||
/// will be used.
|
||||
/// </param>
|
||||
|
|
Loading…
Reference in New Issue