diff options
author | UbitUmarov | 2015-09-24 06:46:07 +0100 |
---|---|---|
committer | UbitUmarov | 2015-09-24 06:46:07 +0100 |
commit | af34bfddd18b5253d9c57dd9191329c159dbd45e (patch) | |
tree | 37996a525802f84a581dfb587ec3d99323a20724 /OpenSim/Region/PhysicsModules/ubOde | |
parent | bug fix, let ubODE see more than one mesh on cast ray (diff) | |
download | opensim-SC-af34bfddd18b5253d9c57dd9191329c159dbd45e.zip opensim-SC-af34bfddd18b5253d9c57dd9191329c159dbd45e.tar.gz opensim-SC-af34bfddd18b5253d9c57dd9191329c159dbd45e.tar.bz2 opensim-SC-af34bfddd18b5253d9c57dd9191329c159dbd45e.tar.xz |
add physics assistance on placement of a new object. This may help on mantis 7727, but may still need more work
Diffstat (limited to 'OpenSim/Region/PhysicsModules/ubOde')
-rw-r--r-- | OpenSim/Region/PhysicsModules/ubOde/ODERayCastRequestManager.cs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODERayCastRequestManager.cs b/OpenSim/Region/PhysicsModules/ubOde/ODERayCastRequestManager.cs index ef1e57c..b82d593 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODERayCastRequestManager.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODERayCastRequestManager.cs | |||
@@ -139,8 +139,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
139 | continue; | 139 | continue; |
140 | } | 140 | } |
141 | } | 141 | } |
142 | 142 | ||
143 | |||
144 | CurrentRayFilter = req.filter; | 143 | CurrentRayFilter = req.filter; |
145 | CurrentMaxCount = req.Count; | 144 | CurrentMaxCount = req.Count; |
146 | 145 | ||
@@ -186,7 +185,6 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
186 | d.GeomRaySetLength(ray, req.length); | 185 | d.GeomRaySetLength(ray, req.length); |
187 | d.GeomRaySet(ray, req.Origin.X, req.Origin.Y, req.Origin.Z, req.Normal.X, req.Normal.Y, req.Normal.Z); | 186 | d.GeomRaySet(ray, req.Origin.X, req.Origin.Y, req.Origin.Z, req.Normal.X, req.Normal.Y, req.Normal.Z); |
188 | d.GeomRaySetParams(ray, 0, backfacecull); | 187 | d.GeomRaySetParams(ray, 0, backfacecull); |
189 | d.GeomRaySetClosestHit(ray, closestHit); | ||
190 | 188 | ||
191 | if (req.callbackMethod is RaycastCallback) | 189 | if (req.callbackMethod is RaycastCallback) |
192 | { | 190 | { |
@@ -318,9 +316,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
318 | { | 316 | { |
319 | // current ode land to ray collisions is very bad | 317 | // current ode land to ray collisions is very bad |
320 | // so for now limit its range badly | 318 | // so for now limit its range badly |
321 | 319 | if (req.length > 60.0f) | |
322 | if (req.length > 30.0f) | 320 | d.GeomRaySetLength(ray, 60.0f); |
323 | d.GeomRaySetLength(ray, 30.0f); | ||
324 | 321 | ||
325 | d.SpaceCollide2(ray, m_scene.GroundSpace, IntPtr.Zero, nearCallback); | 322 | d.SpaceCollide2(ray, m_scene.GroundSpace, IntPtr.Zero, nearCallback); |
326 | } | 323 | } |