diff options
author | Teravus Ovares | 2008-04-03 04:02:46 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-04-03 04:02:46 +0000 |
commit | 2d33bf854f14d7734d70d69304a20c429280d813 (patch) | |
tree | 5f28034df86a87520b63dce6f1940dd65d698aa4 /OpenSim | |
parent | Set svn:ignore. (diff) | |
download | opensim-SC-2d33bf854f14d7734d70d69304a20c429280d813.zip opensim-SC-2d33bf854f14d7734d70d69304a20c429280d813.tar.gz opensim-SC-2d33bf854f14d7734d70d69304a20c429280d813.tar.bz2 opensim-SC-2d33bf854f14d7734d70d69304a20c429280d813.tar.xz |
* ODEPlugin: put a limit on the minimum size a prim can be ( scale <=0 ).
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 309a767..4e39eb4 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -160,6 +160,10 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
160 | prim_geom = (IntPtr)0; | 160 | prim_geom = (IntPtr)0; |
161 | prev_geom = (IntPtr)0; | 161 | prev_geom = (IntPtr)0; |
162 | 162 | ||
163 | if (size.X <= 0) size.X = 0.01f; | ||
164 | if (size.Y <= 0) size.Y = 0.01f; | ||
165 | if (size.Z <= 0) size.Z = 0.01f; | ||
166 | |||
163 | _size = size; | 167 | _size = size; |
164 | m_taintsize = _size; | 168 | m_taintsize = _size; |
165 | _acceleration = new PhysicsVector(); | 169 | _acceleration = new PhysicsVector(); |
@@ -1296,7 +1300,10 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1296 | //} | 1300 | //} |
1297 | string oldname = _parent_scene.geom_name_map[prim_geom]; | 1301 | string oldname = _parent_scene.geom_name_map[prim_geom]; |
1298 | 1302 | ||
1299 | 1303 | if (_size.X <= 0) _size.X = 0.01f; | |
1304 | if (_size.Y <= 0) _size.Y = 0.01f; | ||
1305 | if (_size.Z <= 0) _size.Z = 0.01f; | ||
1306 | |||
1300 | // Cleanup of old prim geometry | 1307 | // Cleanup of old prim geometry |
1301 | if (_mesh != null) | 1308 | if (_mesh != null) |
1302 | { | 1309 | { |
@@ -1485,7 +1492,9 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1485 | d.GeomDestroy(prim_geom); | 1492 | d.GeomDestroy(prim_geom); |
1486 | prim_geom = (IntPtr) 0; | 1493 | prim_geom = (IntPtr) 0; |
1487 | // we don't need to do space calculation because the client sends a position update also. | 1494 | // we don't need to do space calculation because the client sends a position update also. |
1488 | 1495 | if (_size.X <= 0) _size.X = 0.01f; | |
1496 | if (_size.Y <= 0) _size.Y = 0.01f; | ||
1497 | if (_size.Z <= 0) _size.Z = 0.01f; | ||
1489 | // Construction of new prim | 1498 | // Construction of new prim |
1490 | if (_parent_scene.needsMeshing(_pbs)) | 1499 | if (_parent_scene.needsMeshing(_pbs)) |
1491 | { | 1500 | { |
@@ -1964,9 +1973,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1964 | 1973 | ||
1965 | if (_zeroFlag) | 1974 | if (_zeroFlag) |
1966 | { | 1975 | { |
1967 | // Supposedly this is supposed to tell SceneObjectGroup that | 1976 | |
1968 | // no more updates need to be sent.. | ||
1969 | // but it seems broken. | ||
1970 | _velocity.X = 0.0f; | 1977 | _velocity.X = 0.0f; |
1971 | _velocity.Y = 0.0f; | 1978 | _velocity.Y = 0.0f; |
1972 | _velocity.Z = 0.0f; | 1979 | _velocity.Z = 0.0f; |