aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-05-01 06:31:12 +0000
committerTeravus Ovares2008-05-01 06:31:12 +0000
commit1c697ef0d206445c6819e338626169fc6ef56432 (patch)
tree88d6b26b5982eb73f75a5f051c2f068c1d8d8f27 /OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
parent* Fix OBB raycaster to respond properly to rays cast from any direction. (diff)
downloadopensim-SC-1c697ef0d206445c6819e338626169fc6ef56432.zip
opensim-SC-1c697ef0d206445c6819e338626169fc6ef56432.tar.gz
opensim-SC-1c697ef0d206445c6819e338626169fc6ef56432.tar.bz2
opensim-SC-1c697ef0d206445c6819e338626169fc6ef56432.tar.xz
* You can now rez objects out of inventory at the correct offset from prim you rez it on. Including multi prim groups and prim that have different X/Y/Z scales.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Scene.Inventory.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index 7e1b89f..7866b32 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -1235,10 +1235,12 @@ namespace OpenSim.Region.Environment.Scenes
1235 bRayEndIsIntersection = (byte)0; 1235 bRayEndIsIntersection = (byte)0;
1236 } 1236 }
1237 1237
1238 LLVector3 pos 1238 LLVector3 scale = new LLVector3(0.5f, 0.5f, 0.5f);
1239 = GetNewRezLocation( 1239
1240
1241 LLVector3 pos = GetNewRezLocation(
1240 RayStart, RayEnd, RayTargetID, new LLQuaternion(0, 0, 0, 1), 1242 RayStart, RayEnd, RayTargetID, new LLQuaternion(0, 0, 0, 1),
1241 BypassRayCast, bRayEndIsIntersection); 1243 BypassRayCast, bRayEndIsIntersection,true,scale);
1242 1244
1243 if (!PermissionsMngr.CanRezObject(remoteClient.AgentId, pos) && !attachment) 1245 if (!PermissionsMngr.CanRezObject(remoteClient.AgentId, pos) && !attachment)
1244 { 1246 {
@@ -1266,9 +1268,16 @@ namespace OpenSim.Region.Environment.Scenes
1266 // if attachment we set it's asset id so object updates can reflect that 1268 // if attachment we set it's asset id so object updates can reflect that
1267 // if not, we set it's position in world. 1269 // if not, we set it's position in world.
1268 if (!attachment) 1270 if (!attachment)
1271 {
1272 pos = GetNewRezLocation(
1273 RayStart, RayEnd, RayTargetID, new LLQuaternion(0, 0, 0, 1),
1274 BypassRayCast, bRayEndIsIntersection, true, group.GroupScale());
1269 group.AbsolutePosition = pos; 1275 group.AbsolutePosition = pos;
1276 }
1270 else 1277 else
1278 {
1271 group.SetFromAssetID(itemID); 1279 group.SetFromAssetID(itemID);
1280 }
1272 1281
1273 SceneObjectPart rootPart = group.GetChildPart(group.UUID); 1282 SceneObjectPart rootPart = group.GetChildPart(group.UUID);
1274 1283