Commit Graph

741 Commits (add47befacb0397f2a0b5c9455ed1e658616aba4)

Author SHA1 Message Date
Teravus Ovares c0c330988f * Some minor cleanup
* sealed OdeScene
2009-02-08 17:41:15 +00:00
Teravus Ovares 26ca3e26bf Reverts patch from tuco/mikkopa/sempuki mantis #3072 2009-02-08 17:25:02 +00:00
Teravus Ovares b60931b686 * Limit the total number of joints created per frame to the maximum possible without causing a stack collision.
* This fixes crashing on large sets of physical prims because of stack collisions (assuming you follow the directions on linux for starting ode with ulimit).   After the maximum joints are created, objects will start to fall through the ground and be disabled.   Not the best solution, but it's better then a crash caused by a stack collision with the process exceeding the maximum available memory/recursions per thread.
* Make a clean region, make a stack of 5000 prim, 20 layers high.  Make them physical, *SLOW*, but no crash.
2009-02-08 03:02:43 +00:00
Teravus Ovares 08a9a85376 * Fixes colliding with the terrain lower then 0 and higher then 256m
* The actual AABB of the heightfield on the Z is now determined by the minimum and maximum heightfield value in the terrain array (assuming it's a reasonable number).  This might optimize collisions in simulators that have a small difference between minimum and maximum heightfield values.
2009-02-08 01:05:09 +00:00
Mike Mazur 949ae6136e Change access levels from private to protected to facilitate
subclassing; also add new method signatures. Thanks tuco and mikkopa.
Fix Mantis #3072.
2009-02-03 08:31:08 +00:00
Teravus Ovares 85c0c0557e * Tweaks some locks when modifying an ODECharacter. This actually allows a user to log-in while the physics scene and the scripts are starting up. This also seems to smooth out the jerks on teleport/connect/disconnect a little bit.
* If you log-in while the simulator is starting up, you won't be able to move and the sim stats will say 0 FPS, and 0 Physics Frames and you may see only terrain.  Once the sim finishes starting up, it'll all resume as normal.
2009-01-31 16:49:32 +00:00
Teravus Ovares 1a55dd11f1 * More friendly OpenJpeg error handling.
* Often times now the only reason OpenJpeg doesn't work is because it requires Glibc 2.4    The error messages reflect that.
* In J2kDecoder module, It stops trying to decode modules if it encounters a dllnotfound exception and instead sends a full resolution layer that causes the texture sender to only send the full resolution image.  (big decrease in texture download speed, but it's better then nasty repeating error messages)
2009-01-21 11:16:33 +00:00
Dahlia Trimble 032b30ffdb Fix an error in sculpt LOD calculation 2009-01-21 02:40:09 +00:00
nlin bfdf2479fb Improve parsing of joint parameters for NINJA physics (Mantis #2966).
Multiple spaces or leading/trailing spaces when specifying the prims 
to connect should no longer cause problems.
2009-01-14 04:59:57 +00:00
Dahlia Trimble 20670ff0c8 sync with primmesher r26 on forge 2009-01-04 19:09:31 +00:00
Dahlia Trimble f836e36c49 Improve LOD scaling for anisotropic sculpted prim meshes 2009-01-04 18:36:13 +00:00
Homer Horwitz a72d3522ff Slight optimisation: Don't check for duplication if we won't use the result anyway. 2008-12-31 20:09:17 +00:00
Homer Horwitz 4b760bba79 - Added the fixed Ode.NET.dll
- Adapted code to match the corrected signatures
- Fixes Mantis #2934. Hopefully.
Note: Physics on linked objects still don't work correctly:
It doesn't crash the region anymore, but the example object in
the mentioned mantis now falls through the ground.
2008-12-31 19:35:46 +00:00
Homer Horwitz 067a9f3d5f Added a missing setMass for initializing the mass of prims 2008-12-31 19:35:33 +00:00
Justin Clarke Casey e4c7bdc730 * Remove mono compiler warnings
* Leaving the 23 warnings in ChildAgentDataUpdate.cs for Diva to look at
2008-12-30 20:48:31 +00:00
Jeff Ames 2be0f7a6f0 Update svn properties, minor formatting cleanup. 2008-12-30 01:08:07 +00:00
Teravus Ovares 6eed7fcd1e * More NINJA Joint physics fixes from nlin.
fixes mantis #2874
2008-12-28 16:30:00 +00:00
Teravus Ovares b378bd33ad * Fixes mantis #2922
* Converts some C# 3.0 syntax into it's 2.0 equivalent so that Visual Studio 2005 can compile it successfully.
2008-12-27 00:17:08 +00:00
Teravus Ovares ec2dc354b4 * Applying Nlin's NINJA Joint patch. v2. Mantis# 2874
* Thanks nlin!
* To try it out, set ninja joints active in the ODEPhysicsSettings
and use the example at:
* http://forge.opensimulator.org/gf/download/frsrelease/142/304/demo-playground.tgz.
* Don't forget to change the .tgz to .oar and load it with load-oar.
2008-12-26 12:58:02 +00:00
Dahlia Trimble 8a86439985 Removed some debugging code that was inadvertently left in in my last commit :/ 2008-12-22 07:25:41 +00:00
Dahlia Trimble c66cfb51f7 Fix a floating point comparison that was causing some misshaped triangles on some prim faces 2008-12-22 06:07:51 +00:00
Charles Krinke 62dd67b8b8 Mantis#2796. Thank you kindly, Gerhard for a patch that addresses:
On a call of llVolumeDetect(1) (or any other number !=0) volume 
detection is enabled. Together with VD, the phantom flag is set to the GUI.
On a call of llVolumeDetect(0), vd detection is switched of again, 
also the phantom state is removed. On a call to llSetState(STATE_PHANTOM, 
false) while VD is active, also VD is switched off. The same is true for 
unchecking the phantom flag via GUI. This allows to take back VD without 
the need to script just by removing the phantom flag.
Things missing in this patch: persistance of the volume-detection flag. 
This needs more discussion and will be included in another patch soon.
2008-12-20 21:36:42 +00:00
Dahlia Trimble 2537a4098a Enabled complex meshing for simple box prims with non-zero shear 2008-12-18 17:53:38 +00:00
Justin Clarke Casey ff7c8551ba * remove mono compiler warnings
* should work - the last compile failure looks like a random glitch...
2008-12-17 18:42:23 +00:00
Justin Clarke Casey 3b0db66b92 * Apply http://opensimulator.org/mantis/view.php?id=2775 with small tweaks
* This pushes an identifier for the OpenSim scene to the physics scene.  This allows log messages from the physics scene to identify which OpenSim scene they relate to.
* Thanks Gerhard
2008-12-15 18:39:54 +00:00
Teravus Ovares 8ad6f575eb * Implements the torque/Rotational Impulse methods in the PhysicsAPI and the ODEPlugin and pipes them to their respective LSL method.
* NBody will need to be updated, this is an API change.   Torque property and AddAngularForce
2008-12-14 14:30:28 +00:00
Teravus Ovares b5dec9a37f * Added Avatar minimum size in the ODEPlugin and a stern warning about setting the capsule size too low in OpenSim.ini 2008-12-14 07:29:40 +00:00
Teravus Ovares 6f7a560c04 * A Few physical prim + linkset fixes. Prevent some crashes 2008-12-14 06:34:05 +00:00
Teravus Ovares 7f80eff067 * Committing a slightly distilled version of nlin's ODECharacter race condition eliminator.
* The modifications that I made were only so that it didn't require changes to the public physics api.
2008-12-10 23:46:20 +00:00
Teravus Ovares cb73cf1a92 * Fixes a few instances of llSetStatus with Axis lock gone wrong.
* Sums up the masses of the objects within a physical linkset
2008-12-09 16:27:07 +00:00
Jeff Ames 3ba0bc8f44 Minor formatting cleanup. 2008-12-09 12:15:02 +00:00
Teravus Ovares 3844e73d27 * Gerhard's patch m2781. Does some initial work for setting up llVolumeDetect.
* Warning! Physics API change. This means that the NBodySimulation needs to be updated!
* PhysicsActor -> void SetVolumeDetect(int) needs to go into classes that use PhysicsActor as their base class.
2008-12-09 11:11:16 +00:00
Dahlia Trimble 44d133da66 clean up some old debugging code 2008-12-09 08:17:31 +00:00
Teravus Ovares e61dacb928 * Adds some rudimentary error handling to the physics debug drawstuff tool. 2008-12-08 07:19:26 +00:00
Teravus Ovares 76e1462dff * Tweaks physics so that linked prim are a single body. This will make linked prim more stable and probably the last obstacle to vehicles physics wise.
* Fixed a bug that caused physics proxies to be scattered when you link an object.
* Single physical prim work exactly the same as before, just linked physical prim will have changed.
2008-12-07 04:03:09 +00:00
Dr Scofield bdffd56a45 killing warnings, reformatting RemoteAdminPlugin 2008-12-05 15:28:03 +00:00
Justin Clarke Casey b4db3a550a * Apply http://opensimulator.org/mantis/view.php?id=2750 with a small tweak.
* Initializes ODE only when a scene is grabbed rather than on plugin load.  This means we don't initialize ode if that physics engine is not used, and it allows other ode use 
plugins to be used instead.
2008-12-04 20:29:34 +00:00
Jeff Ames d324389dd9 Update svn properties. 2008-12-03 04:41:31 +00:00
idb 098f16fe31 Remove duplicated avatar height calculation in lsl functions.
Use height calculation in Basic Physics and Physics of Simplicity so that avatars larger than the default walk with straight legs and shorter walk on the ground.
2008-12-01 00:49:36 +00:00
Dahlia Trimble 07ee2c3504 Revert r7548 and r7549 until someone with prebuild-fu can help structure the dependencies 2008-11-30 03:52:18 +00:00
Dahlia Trimble 37afd69feb Removed remaining meshing code
Add PrimMesher.dll r21
All meshing tasks are now passed through Meshmerizer and handled by PrimMesher.dll
2008-11-30 03:13:02 +00:00
Dahlia Trimble fdd2388331 Update meshing code to sync with current PrimMesher.cs on forge.
Migrate sculpt meshing code to primMesher version. This should result in more accurate physical sculpted prim proxies.
Remove much obsolete code from Region/Physics/Meshing
2008-11-29 11:02:14 +00:00
Justin Clarke Casey b9c07730f5 * refactor: change some method names and doc in the physics plugin manager
* move the directory choice for plugins outside into RegionApplicationBase
2008-11-20 19:52:55 +00:00
Justin Clarke Casey d625095959 * Allow physics dlls to be loaded separately, rather than just the contents of bin/Physics
* This is primarily to see if not loading ODE in the unit tests will allow them to proceed, though the option of separate loading is probably a good thing in itself
2008-11-20 18:28:30 +00:00
Justin Clarke Casey 81dcf223bf * Add enough infrastructure code to run an extremely basic and flaky add root agent scene test 2008-11-20 16:58:40 +00:00
Melanie Thielker 6f0e068cf1 Guard against a strange nullref in ODE 2008-11-19 20:04:41 +00:00
Dahlia Trimble a3f785e978 Changed sculpted prim texture scaling method to bilinear to reduce scaling artifacts 2008-11-16 00:24:10 +00:00
Justin Clarke Casey a760586f26 * minor: remove mono compiler warnings 2008-11-14 20:15:22 +00:00
Justin Clarke Casey cec112c87a * refactor: as per a recent opensim-dev thread, rename InnerScene to SceneGraph to make it more descriptive of its intended function 2008-11-12 20:16:46 +00:00
Melanie Thielker ce37b80c68 Thank you, idb, for a patch that fixes avatar height calculation
Our feet will now be above ground
2008-11-10 01:28:37 +00:00
Charles Krinke 087d2f9147 Enabled SoftERP for the contact structure but not SoftCFM.
A tube on a pole is a bit less "flubbery" so maybe this is
the right direction.
2008-11-09 20:20:20 +00:00
Charles Krinke c6ed72b4fa Clean up a few comments. 2008-11-09 18:43:46 +00:00
Charles Krinke 8ed4821c47 Clean up the mass < 0 logic a tiny bit when
calculating mass.
2008-11-09 18:22:36 +00:00
Justin Clarke Casey c6dad833f5 * minor: remove some mono compiler warnings 2008-11-06 21:01:16 +00:00
Justin Clarke Casey 9770cf778e * minor: Make some 'startup config failed to load' log messages more consistent 2008-11-06 20:38:04 +00:00
Dahlia Trimble 5fffc04ae6 Add more vertex normals and UV coordinates. Sync with primmesher.dll forge project. 2008-11-05 10:22:41 +00:00
Charles Krinke 9299be0080 Revert last checkin. Avatars fall through non-physical prims now.
There is more to the solution then just enabling soft_erp and 
soft_cfm for all d.Contact cases.
2008-11-01 17:58:34 +00:00
Charles Krinke 1e376deedd Added soft_cfm and soft_erp to the general "contact" initialization
for physical prim interactions. They were not previously enabled
for prim-prim interactions.
2008-11-01 17:30:06 +00:00
Dahlia Trimble 5cf6a7f118 Viewer side normals and UV fixes on profile cuts. Sync with primmesher.dll forge project. 2008-10-29 09:47:45 +00:00
Justin Clarke Casey 7beeaf51f8 * minor: remove mono compiler warnings 2008-10-28 21:47:43 +00:00
Dahlia Trimble ae5d92a167 some sorely needed extruder code simplification and refactoring, also some fixes to cut face UV coordinates 2008-10-28 08:57:15 +00:00
Justin Clarke Casey 754f6ba2a2 * minor: remove mono compiler warnings 2008-10-27 20:16:42 +00:00
Dahlia Trimble 3447bed8be Add end faces when radius setting is non-zero 2008-10-24 23:37:09 +00:00
Justin Clarke Casey c519b80680 * minor: eliminate some mono compiler warnings 2008-10-24 21:40:05 +00:00
Dahlia Trimble 71660003de un-double-flipped some double-flipped normals in circular path prim end caps 2008-10-24 20:04:34 +00:00
Dahlia Trimble a11fa9055a Fixed a floating point error accumulation that was causing missing end faces on some twisted prims 2008-10-24 05:31:43 +00:00
Teravus Ovares dfc12d591c * Add a config option for filtering collisions. Sometimes, under load, this seems to cause bouncing on really thin flat prim. 2008-10-22 01:52:12 +00:00
Dahlia Trimble 931b04485d More work in vertex normals and texture UVs. Syncing code with pyov. 2008-10-21 01:35:05 +00:00
Justin Clarke Casey 923f9fb749 * minor: remove mono warnings 2008-10-19 18:45:41 +00:00
Dahlia Trimble b6396bc9a7 More progress towards implementing vertex normals - not complete yet. 2008-10-19 09:04:25 +00:00
Teravus Ovares 11fd935038 * Changed the dupe collision depth limiter to be slightly more restrictive. (less chance for a dupe) 2008-10-18 16:20:02 +00:00
Teravus Ovares 0916b38b83 * Fix an over compensation for bounciness on flat Primitive
* Implement the linear impulse portion of llPushObject.  We should have a lsl compatible implementation of that portion of the push.  Angular..   well.  still have yet to implement a torque accumulator.
* llPushObject respects the region and parcel settings for Restrict Push, it also respects GodMode as is defined in the LSL spec.
2008-10-17 23:19:00 +00:00
Teravus Ovares a6df2011f7 * Adds a lot of stability and performance to the physics engine. The avatar bounces less and things are a bit less explosive.
* Additionally, you can probably get more physical prim now together..  though, I think this puts us back on par with where we were in the beginning of the year on number of physical objects.   Experiment.  Make videos.  Send Feedback.  Enjoy.
2008-10-17 05:09:23 +00:00
Justin Clarke Casey 82b7374ed2 * minor: get rid of pointless ipeSender 2008-10-16 19:50:12 +00:00
Justin Clarke Casey 4df08aed30 * Apply http://opensimulator.org/mantis/view.php?id=2401
* Removes spacers that are also separators in llParseString2List
* Thanks idb
2008-10-16 17:14:02 +00:00
Teravus Ovares 68d85497ad * Releases the inter-region thread synchronization between physics in ODE on the same instance.
* If you are hosting many regions on a single instance, you will probably notice a decrease in region startup time and maybe a slight increase in performance.
* Single regions won't notice anything different
2008-10-16 12:57:29 +00:00
Justin Clarke Casey 98245e4bfa * minor: Oh go on, one more warning. Oooh, you are naughty 2008-10-15 20:46:39 +00:00
Justin Clarke Casey b1248004f0 * minor: remove some warnings 2008-10-15 17:19:02 +00:00
Teravus Ovares 180e3de50f * Cleaned up tons of code duplication in ODEPrim
* Re-enabled the native ODE prim types when possible
* Fixed several invalid assumptions in the prim recycle process.
* Added better message for 'reused a disposed physicsactor'
* Added a way to recover from errors during collision_optimized
* Added a way to recover from an error condition where prim_geom wasn't reset properly
2008-10-14 02:48:30 +00:00
Dahlia Trimble 138a3924e0 Committing more work towards implementing vertex normals. Also added some (hopefully) helpful messages for identifying corrupt prims and some fixup code for corrupt profile cut data. 2008-10-13 22:52:39 +00:00
Teravus Ovares f344f26bd8 * Based on user reports, it looks like the OS specific settings have been unified as far as tuning (thank heavens).
* If you're experiencing knee bendiness try the windows settings, as the *nix settings seem to now be incorrect.  (this update does that, but you may have your own opensim.ini settings active.
2008-10-13 01:54:13 +00:00
Teravus Ovares 2ede1a3ce7 * This updates ODE to the most up-to-date version as of today. 1558
* Mac users, pray to chi11ken to make you a .dylib version
* This is semi-tuned and post teravus hack.   (Though I didn't apply the terrain pitting fix hack.   I'm still deciding if it's necessary as there was a lot of work over the past several months on the heightfield collider.
* Please use '--enable-shared --disable-demos --disable-asserts' if you are building your own libode in the configure step.   Asserts are pretty much useless for use with .NET
* This also updates ODE.NET as, there were some API changes in May that were just added to ODE.NET today.
2008-10-12 23:47:39 +00:00
Dahlia Trimble f2700590d7 removed some more extraneous hidden faces 2008-10-12 09:36:01 +00:00
Dahlia Trimble 116a08f42e Fixed a missing face on a profile cut 2008-10-12 08:52:42 +00:00
Dahlia Trimble 216787ee1d Optimization: calculation of profile vertex normals is now disabled as default. 2008-10-12 07:04:52 +00:00
Dahlia Trimble 09c8713801 Eliminate some unnecessary polygons 2008-10-11 00:30:27 +00:00
Justin Clarke Casey dd886a035b * minor: remove warnings 2008-10-10 21:05:44 +00:00
Dahlia Trimble 62f3e11b4e Some more decrufting 2008-10-10 09:16:36 +00:00
Dahlia Trimble 726e0045d9 Some decrufting 2008-10-10 09:00:52 +00:00
Dahlia Trimble 7fbe942792 refactoring PrimMesher to add viewer compatable features and some code cleanup 2008-10-10 08:22:13 +00:00
Dahlia Trimble 979a354ba0 Cap proxy mesh scale minimum to 0.01 meter for X, Y, and Z terms. 2008-10-04 17:39:03 +00:00
Dahlia Trimble cf9835130a Square hollow size in cylinder meshes were a little too small - fixed. 2008-10-02 02:33:45 +00:00
Charles Krinke 6758ecc403 Implement the plumbing for llSetVehicleType from the LSL
subroutine down through the physics modules through PhysActor
and SceneObjectPart. No connection to the physics simulators.
2008-09-28 22:38:59 +00:00
Charles Krinke ebbbd37605 Added the plumbing for llSetVehicleRotationParam
in the classes between the LSL implementation and the
underlying physics engines.
2008-09-28 21:53:56 +00:00
Charles Krinke 3747862999 Plumb the connection though from llSetVehicleVectorParam
to the various physics engines. No connection to the 
underlying physics simulator yet, just plumbing through
the various classes.
2008-09-28 20:20:32 +00:00
Charles Krinke 3397236c6c Plumb the connection through from llSetVehicleFloatParam
to the various physics engines. No connection to the 
underlying physics simulator yet, just plumbing through
the various classes.
2008-09-28 18:36:30 +00:00
Dahlia Trimble 232aa783ad Disabled use of ODE internal geometry to see if it affects the "waves finger" error 2008-09-22 02:33:48 +00:00
Dahlia Trimble 52af9b3fd7 ODE was using a box collision shape for some spheres - changed those cases to now use a mesh instead. 2008-09-21 08:12:52 +00:00
Jeff Ames c8349e21c4 Update svn properties, minor formatting cleanup. 2008-09-21 02:41:22 +00:00
Dahlia Trimble e6afb28355 re-enabled some ODE internal proxies for some simple prim types to try to save some more memory 2008-09-19 09:13:27 +00:00
Justin Clarke Casey 8ff1bc5b03 * Make the ode simulation update loop print out the stack if an exception occurs (at least, this is what will happen on linux) 2008-09-18 18:54:42 +00:00
Melanie Thielker 903fbd1f06 XEngine: fix collisions, add event coalescing for collision events.
Fix a nasty concurrency issue that could cause a high event frequency
to start more than one thread pool job for a single script.
2008-09-18 18:50:39 +00:00
Jeff Ames b4141f9e56 Formatting cleanup. 2008-09-13 22:07:07 +00:00
Dahlia Trimble 8a8b01d1b8 Circular path prim meshes are now joined where the path ends meet if they match. This may have a minor improvement in memory and speed performance, but it's mainly for viewer applications and it also syncs the c# version of PrimMesher with my python sandbox version. 2008-09-13 10:22:17 +00:00
Justin Clarke Casey 0dc1018ca1 * minor: Remove warnings
* leaving in the ones to do with ScriptBase since these actually indicate coding bugs that I don't have the time/brainpower to fix at the moment
2008-09-12 21:20:24 +00:00
Dahlia Trimble febb781779 remove hidden faces inside prim meshes to improve memory use and startup time 2008-09-12 19:42:26 +00:00
Jeff Ames fae34bb10c Update svn properties, formatting cleanup. 2008-09-09 01:26:48 +00:00
Teravus Ovares 7d89e12293 * This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point.  Regular people should let the dust settle.
* This has been tested to work with most basic functions. However..   make sure you back up 'everything' before using this.  It's that big!  
* Essentially we're back at square 1 in the testing phase..  so lets identify things that broke.
2008-09-06 07:52:41 +00:00
Dahlia Trimble 0fc618e7b2 Replaced a lot of trig calls with lookup tables for common prim types in an attempt to improve meshing speed.
Added a new between points interpolation method to improve accuracy of profile cuts in triangle and square profile prims.
2008-09-05 16:38:51 +00:00
Dr Scofield 109aa00150 fix: PostInitialise() not being called on script engines (nasty one that)
cleanup: warnings, readability
2008-09-02 12:07:23 +00:00
Dahlia Trimble a5e7807612 Y top shear accuracy improvements in circular path prim meshes 2008-09-02 01:54:08 +00:00
Dahlia Trimble f4035840d2 compensates profile placement effects of Y hole size on X top shear for circular path prim meshes 2008-09-01 08:19:47 +00:00
Dahlia Trimble 9cf9c08696 Improvement in mesh accuracy in X Top Shear parameter for circular path prims 2008-09-01 06:00:07 +00:00
Justin Clarke Casey 49ec6dd882 * squash some obvious warnings
* a couple more remain that preferably the original coders should look at in more detail (obsolete warnings in the ogp module and not overriding warnings in the script 
engine)
2008-08-30 18:09:38 +00:00
Dahlia Trimble 35ad484b6b fixed some ugliness in the conversion from the new mesher format to the old that should speed up region startup a little and maybe even use less memory if the GC decides to play friendly with the other kids. 2008-08-29 08:19:47 +00:00
Jeff Ames 3bf8858727 Update svn properties, formatting cleanup. 2008-08-28 14:41:54 +00:00
Dahlia Trimble 49f9bd8b68 Added some exceptions for bad profile cut parameters 2008-08-28 06:41:32 +00:00
Dahlia Trimble 1a83384f90 re-enable new PrimMesher module for mesh creation for standard (non-flexy) prims. 2008-08-27 23:43:53 +00:00
Dahlia Trimble 2c842652c1 ODEPlugin now frees source mesh data after conversion to pinned lists to save memory 2008-08-27 23:39:50 +00:00
Dahlia Trimble e593a333c7 adds releaseSourceMeshData() method to IMesh and Mesh for freeing mesh data after conversion to pinned lists. 2008-08-27 23:37:14 +00:00
Dahlia Trimble 36d1720fde reverting to prior meshing methods until some physics timing issues can be resolved 2008-08-27 09:49:13 +00:00
Dahlia Trimble 65c82c2494 Added some exception trapping to PrimMesher 2008-08-27 08:03:52 +00:00
Dahlia Trimble cf951d4d04 Added some exception handling to help catch some possibly corrupt prims 2008-08-27 07:30:14 +00:00
Dahlia Trimble 3481a977f0 Meshmerizer now uses new PrimMesher class for meshing all standard (non-sculpty) prims. This should result in more accurate meshes, lower memory consumption, and eliminate several lockup modes. 2008-08-27 06:53:09 +00:00
Dahlia Trimble 8be249bc68 Completion of new PrimMesher class 2008-08-27 06:39:39 +00:00
Dahlia Trimble fce83731ad Modified Mesh object to allow alternative mesher interfacing 2008-08-27 06:29:34 +00:00
Dahlia Trimble 29407a43f5 more progress on new meshing routines 2008-08-24 01:23:04 +00:00
Dahlia Trimble 72f74acdbf more work on new meshing routines... 2008-08-23 10:28:35 +00:00
Dahlia Trimble df14889635 some initial work on new prim meshing routines (incomplete) 2008-08-23 08:33:00 +00:00
Dahlia Trimble 0f6b899ec7 Cleaned up some warnings 2008-08-22 07:25:53 +00:00
Dahlia Trimble 261876fd47 Commented out the float array "normals" in the Mesh object and all references to save memory as it was unused 2008-08-22 07:06:33 +00:00
Jeff Ames 6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Dahlia Trimble 1bf60fa1ac updated some prim parameters to project maintained versions 2008-08-14 08:59:13 +00:00
Dahlia Trimble 88fba448a1 reinstates torus profile zflip which was mistakenly removed in patch 1870 2008-08-01 05:48:24 +00:00
Dahlia Trimble 1d3677eb9b Thank you jhurliman for a meshmerizer patch that replaces the quaternion->matrix->vertex*matrix->vertex code with a direct transformation. 2008-08-01 05:45:58 +00:00
Dahlia Trimble 3035f5cb64 Re-enables testing for config option mesh_sculpted_prim which was inadvertently disabled in a prior modification (oops) :) 2008-07-25 20:29:37 +00:00
Teravus Ovares 1e7c9e4810 * Fix the ODEPlugin unit test 2008-07-25 05:23:10 +00:00
Dahlia Trimble c67198299e Changed application of constant forces to after PID force is applied. llSetForce() should behave identical to the Linden implementation now. 2008-07-24 21:05:30 +00:00
Dahlia Trimble f74a9bcdc7 Implements llSetForce() and llGetForce(). These are experimental and the units may not match the Linden implementation. 2008-07-24 07:45:58 +00:00
Dahlia Trimble 492b25362c Clean up Meshmerizer.cs a bit to make it more readable 2008-07-21 23:08:23 +00:00
Dahlia Trimble 49adb6e09f refactor - commenting out needsMeshing() and all references as createMesh() has the same logic and obsoletes the need for it. 2008-07-18 00:03:28 +00:00
Dahlia Trimble 13399ff439 Passes prim physical status to mesher from physics plugins
Small prims now get a full mesh if they are physical
Fixed a logic bug that was preventing many prim meshes from having excess memory cleaned up
Switched to more conservative method of vertex and triangle list trimming to prevent possible crash
2008-07-12 01:58:20 +00:00
Dahlia Trimble f6c7f167b9 Overloads CreateMesh method of interface IMesher to pass prim physical status to mesher 2008-07-12 01:02:41 +00:00
Dahlia Trimble b42770bf7a Trim out nulls from mesh vertex and triangle lists to try and save more memory 2008-07-11 20:32:58 +00:00
Dahlia Trimble 3646cc32c4 Experimental physics optimization: prims with all 3 dimensions less than 0.2 meters will be meshed as a simple box 2008-07-11 17:22:37 +00:00
Dahlia Trimble c5333af7a2 added a hollow size constraint to box, cylinder, and prism prim meshes to prevent a possible sim lockup 2008-07-07 10:09:35 +00:00
Dahlia Trimble 56c6bdcb26 Addresses more problem box cut angles 2008-07-07 05:42:37 +00:00
Dahlia Trimble 063365c0dc fix some Meshmerizer problem angles for sphere dimple and box path cut 2008-07-07 04:32:05 +00:00
Dahlia Trimble 6914fb6f13 disables changes in r5356 until I have more time to do further characterization 2008-07-06 19:44:59 +00:00
Dahlia Trimble ae468bfc9b Corrects errors in sphere mesh with dimple start angle > 0 and hollow == 0 2008-07-06 17:18:59 +00:00
Dahlia Trimble fd69251bcd alters a problem path cut angle for the cylinder prim profile 2008-07-06 02:04:24 +00:00
Dahlia Trimble 13d6615263 Adds experimental Meshmerizer support for "prim torture" effects of sphere dimple on prim types box, cylinder, and prism 2008-07-02 17:08:52 +00:00
Dr Scofield 313f7f60fd properly explaining each #pragma warning disable
massaging OSHttpRequestPump to not abort on exceptions...
2008-06-30 11:57:47 +00:00
Dahlia Trimble b0287a43bd disables spam-like debugging messages inadvertently left on in last commit (oops) 2008-06-30 06:11:43 +00:00
Dahlia Trimble 7077cffe52 Corrects Meshmerizer orientation of profile cut angles for ring type prim 2008-06-30 06:08:43 +00:00
Dahlia Trimble a944ef4947 Corrects meshmerizer profile cut angle orientation for tube type prims 2008-06-30 02:08:27 +00:00
Dahlia Trimble 0260b33517 Altered prim description/debugging message code to be more warning friendly 2008-06-28 18:04:04 +00:00
Charles Krinke c06dbf4fe5 Mantis#1620. Applied Melanie's patch 2008-06-28 16:13:11 +00:00
Dahlia Trimble 8b8b45267e altered prior warning fix to Meshmerizer.cs to allow mesh debugging code to function 2008-06-28 00:16:41 +00:00
Dr Scofield 748f72326d last round of warning squashing. calling it a day now. 2008-06-27 23:03:39 +00:00
Dr Scofield 7d55dfba8a dr scofield's warnings safari:
* commenting out unused variables
2008-06-27 17:25:03 +00:00
Jeff Ames 76e24d02ad Minor refactoring of POS. Adds a Util.Clamp(x, min, max) function. 2008-06-26 02:03:40 +00:00
Jeff Ames e75dc1bd23 Separate POS classes into mutiple files. 2008-06-26 00:30:33 +00:00
Jeff Ames a2b1a1787d Minor formatting cleanup. 2008-06-25 14:30:28 +00:00
Jeff Ames 80f5eb21ea More svn properties. Minor cleanup in POS. 2008-06-25 13:32:27 +00:00
Dahlia Trimble bc66a851d6 Modifies box prim profile cut parameters to avoid angles which cause spurious triangles in mesh 2008-06-25 07:17:36 +00:00
Dahlia Trimble 7b4991430b Changes selection criteria to allow meshing of more sphere prim configurations.
Adds comments to some functions in Meshmerizer.cs.
2008-06-21 08:50:56 +00:00
Teravus Ovares e02a2e31e0 * Patch from nlin to enable DIF state file writing from the ODEPlugin
* Rebuilt libode.so, ode.dll
* If you roll your own ODE library, make sure to update your opensim-libs.
2008-06-20 04:57:32 +00:00
Teravus Ovares 1d91613679 * Patch from Dahlia - 0001576: Exception of type 'System.OutOfMemoryException' was thrown .Void set_Capacity(Int32), with regards to sphere mesh. Thanks Dahlia!
* Also allows a sphere to be hollow with no cuts or dimples. (walking around inside the sphere).
2008-06-19 17:21:17 +00:00
Teravus Ovares e6ce30d4f1 * 0001571: (PATCH) patch to implement editable sphere meshes for meshmerizer/ode (Initial Implementation) from Dahlia! Thanks Dahlia!!!
* The included patch implements the editor parameters twist, dimple, path cut, and profile cut to the sphere mesh for meshmerizer. The mesh will default back to the geodesic sphere if the parameters are adjusted to beyond a reasonable arbitrarily chosen threshold that would expose too many inverted normals on the mesh.
2008-06-19 04:17:04 +00:00
Teravus Ovares 11d68ce0f5 * 0001558: [PATCH] Add support for full collision geometry feature set for linear path prims (patch attached) By Dahlia. Thanks Dahlia!
* This update re-does the cube/cylinder/prism prims to dynamically add faces as twist is used.
2008-06-15 19:34:48 +00:00
Jeff Ames 5910a49da6 Update svn properties. Formatting cleanup. 2008-06-10 08:35:46 +00:00
mingchen db151bcec7 *Fixed bug that caused failure when System.Console.Readline returns null (no stdin)
*Fixed bug that would crash the simulator if there were two physics/meshing engines loaded with the same name.
2008-06-09 15:20:08 +00:00
Teravus Ovares 11246c284f * Added a check for a non-finite heightfield array value passed to the ODEPlugin. This may, or may not fix anything. 2008-06-04 16:27:35 +00:00
Teravus Ovares 99e7a2a380 * From Dahlia
* Committing : 0001449: Patch implements X and Y Top Shear parameters for torus prim physical mesh generation (PATCH attached) 
* The included patch implements the X and Y Top Shear parameter adjustments to the mesh generator for the torus prim physical mesh. These are approximations as I was unable to determine their exact function but they appear to generate meshes which quite closely duplicate their counterparts in the viewer. 
* Thanks Dahlia!!!!
2008-06-04 10:57:05 +00:00
Jeff Ames 4ec4e16c80 Formatting cleanup, minor refactoring, svn properties. 2008-06-04 09:59:27 +00:00
Teravus Ovares 832d609b44 PATCH : 0001431: corrections to torus physical mesh for default hollow shape and taper orientation along path.
--------- From Dahlia!  Thanks Dahlia!!!
the attached patch reinstates the default hollow shape of the physics mesh of the torus prim type and corrects the orientation of the effects of taper on the profile along the path.
2008-06-02 08:31:34 +00:00
Teravus Ovares c0f631dbdb * While I couldn't reproduce it, I was able to see how it *might* happen, so therefore; fix to: 0001058: Physics crash when changing Type of Prim intersecting with ground. 2008-06-02 08:13:13 +00:00
Teravus Ovares 52c55c8c23 * Applying Dahlia's patch : 0001429: Patch to fix prism physical mesh and add path start and end to skew z offset of circular path prim meshes (PATCH attached)
* Apparently this fixed a bug in my code that caused PushX to appear to work and pushX didn't appear to work after the patch..   so I fixed that after applying this patch and PushX actually works now.
2008-06-01 04:33:07 +00:00
Jeff Ames 0462510956 Update svn properties. Formatting cleanup. 2008-05-30 08:35:57 +00:00
Teravus Ovares 45c6523904 * Fixes a few taper/top-sheer situations that were previously having issues. 2008-05-29 20:50:38 +00:00
Teravus Ovares 918f887c0c * Applying Dahlia's interim path curve patch. it adds initial support for some tori/ring parameters. Thanks Dahlia!
* Some situations do not match the client's render of the tori, we know and are working on it.   This is an initial support patch, so expect it to not be exact.
* Some tapers are acting slightly odd.  Will fix.
2008-05-29 20:20:50 +00:00
Teravus Ovares 042c9ed4d8 * Adds Top Colliders when using ODE. Access it from the estate tools/debug tab. 2008-05-25 11:22:05 +00:00
Teravus Ovares c29409dc24 * Yet another way to optimize the sculpt mesh generator 2008-05-25 02:56:00 +00:00
Teravus Ovares f57cb17494 * kill a potentially large float array. 2008-05-25 02:50:17 +00:00
Teravus Ovares d3b013be1c * Releases Pinned vertex/index list in ODE on next mesh request. 2008-05-25 02:39:58 +00:00
Teravus Ovares bdcfc2e322 * Prevent an error from stopping startup when decoding the sculpt mesh j2k fails. 2008-05-22 02:40:19 +00:00
Jeff Ames 6ec680918b Formatting cleanup, minor refactoring. Fixed some comparisons of value types and null. 2008-05-18 23:06:50 +00:00
Jeff Ames a5f08b430d Formatting cleanup. 2008-05-17 00:06:35 +00:00
Teravus Ovares 00a1f0bab0 * This finishes the ODE options section of the OpenSim.ini.example. I've added 44 configurable options!
* This includes if you want to mesh sculpties and the Level of detail on the sculptie meshing for non physical and a separate LOD on physical sculpties.
* The options range from gravity..  to avatar movement speed, to friction management..  to object density.. to update throttling.
2008-05-16 20:16:33 +00:00
Jeff Ames 65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Teravus Ovares afd5da6851 * Adds various tweakable avatar control options to the OpenSim.ini.example. 2008-05-15 23:11:31 +00:00
Teravus Ovares 173d13b0a4 * Added about half of the planned ODE physics options to OpenSim.ini.example.
* Some will do cool things, some will make your scene explode dramatically if you're not careful.
2008-05-15 06:35:01 +00:00
Teravus Ovares 66e6711f3e * Got rid of an old crufty sleep that was being called. Thanks for your support in load testing Adam's simulator was what pointed this old crufty sleep out.
* Please, we need more load tests with profilers running. :D
2008-05-15 02:48:32 +00:00
Teravus Ovares 2a988f187e * Refactored IConfigSource into Physics plug-ins and Scene. We can get rid of some of the parameters we pass to it's constructor now like, 'm_allowPhysicalPrim', 'seeIntoOtherRegions', etc.. so on
* The main purpose of this is to provide configuration options for ODE and other physics plug-ins that are advanced enough to be able to be configured.
2008-05-14 23:15:25 +00:00
Jeff Ames 6a1b787436 More formatting cleanup. 2008-05-14 05:33:32 +00:00
Jeff Ames c995d60d37 Formatting cleanup. 2008-05-14 05:11:23 +00:00
Adam Frisby 5548dd6b06 * Some more bulletx physics fixes from Jed (DeepThink) 2008-05-13 17:05:52 +00:00
Teravus Ovares fcc23be577 * Fixed directory not found when saving Mesh previews (my bad, I was testing) 2008-05-13 05:06:58 +00:00
Teravus Ovares e70da2e174 * Committing meshmerizer patch from Dahlia. Thanks Dahlia!
* 0001241: physics cylinder proxy distorted and square hollow misaligned (patch attached) 
* The included patch corrects the outer shell of the meshmerizer proxy for the cylinder prim to eliminate spurious vertices and shape distortion, and corrects the orientation of the square hollow.
* The size and orientation of the square hollow for the prism prim has been corrected also.
2008-05-13 04:16:16 +00:00
Adam Frisby 93ec7f0c3c * Patch from Jed (DeepThink) - More optimisations for BulletX renderer. Trimesh collisions should now work relatively efficiently. BulletX plugin should now be functional - feedback would be appreciated as to how it performs vs ODE. 2008-05-09 17:17:54 +00:00
Teravus Ovares b7baa3cd2a * Valid Sculpted prim now collide properly.
* The first time you set the sculpted texture of a prim you might have to futz with it to get it to generate a sculpted physics proxy
* Note that there are already issues in Trunk, (such as the prim scaling issue and prim jumping issue.  Essentially editing is difficult right now)
* This just adds to the experimental nature of trunk. :D
2008-05-09 07:50:00 +00:00
Teravus Ovares 6bb4ab0563 * Applying Dahlia's Triangular hole in a cube peg patch. Fixes the hollow orientation in a cube in the meshmerizer. Thanks Dahlia!
* See mantis 0001203 for more details!
2008-05-09 02:00:55 +00:00
Teravus Ovares 7e275bfa37 * Wrote a method to get the OpenJpeg data of a sculpt texture asset and save it to the prim shape.
* Added some stuff around sculpted prim meshes..   but it's just there so the project compiles now.
2008-05-09 01:28:54 +00:00
Teravus Ovares 08ec34e4d3 * Removed ODELock message since it wasn't telling us anything important and people seemed to think it was the cause of their issues rather then a message to help locate a situation where physics stalls for a second and then kicks.
* This was simply a message added when an avatar was added/removed from the scene.
2008-05-08 16:07:41 +00:00
Adam Frisby cf7560d1aa * Commit from Jed Zhu (DeepThink) - Initial implementation of mesh collision into BulletX plugin. Additional work to come in the next few days. 2008-05-08 13:32:15 +00:00
Adam Frisby ba8ff761c0 * Reduced sleep durations in a number of files. 2008-05-08 04:47:38 +00:00
Teravus Ovares 240e8646da * If you llApplyImpulse on an attachment, it applies impulse on the avatar, not the attachment. 2008-05-06 00:23:19 +00:00
Teravus Ovares e8acb49fef * For your fragging desire, damage enabled land works, but watch out!, life does not regenerate until you're dead! 2008-05-03 15:39:40 +00:00
Teravus Ovares 07167c9a3f * Committing some collision stuffs that I'm working on.
* Nothing user facing yet.
2008-05-03 04:33:17 +00:00
Adam Frisby 01f31fd933 * Breaking all the code, breaking all the code..!
* Made a bunch more members static, removed some dead code, general cleaning.
2008-05-01 16:23:53 +00:00
Jeff Ames d51ce47b2d Update svn properties. Minor formatting cleanup. 2008-05-01 14:31:30 +00:00
Teravus Ovares 1d9c68969e * ODE Tweak. See if this helps. 2008-05-01 00:54:21 +00:00
Teravus Ovares 911e63765c * Single Attachments now work from inventory. You can attach from inventory and detach from inventory.
* Detaching from right clicking in world, detaches to your inventory.
* If you go up to a prim and attach it from in world, it appears in your inventory.
* Attachment placement is saved when you detach them. 
* Choosing wear remembers your last attachment point from inventory.
* Wrote a method to update an inventory item's asset and sends the updated inventory item to the Client
* Wrote a recursive method to find the folder of a known existing inventory item.
* Removed a block on physics object position on creation.  This might crash a region or two, let us know via Mantis if your region crashes because of a physics out of bounds error.
* Drop doesn't work.  The menu item doesn't even come up.  Don't know why :P.
2008-04-27 20:10:28 +00:00
Teravus Ovares d023c331f8 * Tuned the llMove2Target PID controller to be more reasonable and not overshoot the target. 2008-04-24 22:26:26 +00:00
Teravus Ovares aa8aee90a3 * Adds much better support for attachments that you right click on in world.
* Your friends can see your attachments now.  People who appear in the sim after you've attached something can also see your attachments.
* You can position & rotate your attachments now.  Positions do *not* save.
* You can detach attachments now the regular way.
* Attachments do not cross into other regions with you..(this isn't too far off)
* Updated ODE to not request terse updates on child prim.
2008-04-24 11:32:41 +00:00
Teravus Ovares 2a3bdde0fa * Adds llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z,TF)
* Currently if you apply that to only one or two axis you get unpredictable and sometimes explosive results.
* Three axis works well enough to play with it anyway.   More work is needed here.
* Fixed an incorrectly named method in ODE.NET
2008-04-23 15:32:19 +00:00
Adam Frisby fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Teravus Ovares 9fec575b3e * Made it safe again to use the restart button from the estate tools and the restart console command.
* It looks ugly on the console..   but it's really safe..  and restores some memory.
2008-04-10 10:27:03 +00:00
Teravus Ovares b85624db18 * Adds twist support for Cubes, Cylinders, and Prisms in the Meshmerizer
* A tweak of the SimStatsReporter so it would report the prim capacity to be 45000.
2008-04-10 00:31:44 +00:00
Teravus Ovares 95e31c9f02 * Added stretchable ellipsoid support with configurable LOD. It's actually a split facet icosahedral geodesic sphere that's scaled.
* In other words, you can stretch spheres into oblong shapes now and watch them roll around like a football would.
* Still can't cut, twist or profile cut spheres yet.
2008-04-08 05:03:43 +00:00
Teravus Ovares d0f7784101 * Adds poor support for ellipsis in the Meshmerizer. This will get better.. notice the huge nasty facets! Regular spheres still work as they did. 2008-04-08 01:29:45 +00:00
Teravus Ovares e409892a9c * Updated ODE.NET bindings to the ODE library.
* Fixed some Tapers with Cylinders in the Meshmerizer
2008-04-07 22:11:41 +00:00
Teravus Ovares 899f00b83d * Fixed up some documentation
* Should help the sinking feeling when new avatar arrive in the scene.
2008-04-06 06:42:54 +00:00
Teravus Ovares 2d33bf854f * ODEPlugin: put a limit on the minimum size a prim can be ( scale <=0 ). 2008-04-03 04:02:46 +00:00
Teravus Ovares b790a16e98 * Updating the version of the ODE library. (big update). The Mac library needs to be updated still.
* Adding some XMPP stuff that's incomplete.
2008-04-02 01:03:31 +00:00
Teravus Ovares 8aa4308097 * Minor cleanup 2008-03-30 19:58:14 +00:00
Jeff Ames 86128ba4d4 Fix compiler warnings in BulletXPlugin. 2008-03-29 04:30:19 +00:00
Jeff Ames 9d1b42c39a Comment out unused private methods. 2008-03-25 03:49:08 +00:00
Jeff Ames a7556af7de Fix a few compiler warnings. 2008-03-25 03:37:48 +00:00
Teravus Ovares a21112ccee * Adds llMoveToTarget and llStopMoveToTarget support to the ODEPlugin.
* It doesn't generate at_target events, because they don't exist yet in the script engine.
* The Tau is different, however, compatible with scripts I tested.
* Not perfect...  but pretty good.
2008-03-25 03:36:31 +00:00
Charles Krinke 21e5e65bb7 Comment out "m_randomizeWater" and "ms" until we use them later. 2008-03-21 16:52:55 +00:00
Jeff Ames bf8b5844f2 Formatting cleanup. Minor refactoring. 2008-03-18 14:51:42 +00:00
Justin Clarke Casey 0b7626b630 * Remove unused (and somewhat nonsensical) method in PhysicsActor
* Thanks for DrScofld for drawing attention to this
2008-03-18 11:37:34 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
Teravus Ovares abacfba287 * Preliminary work with the ODEPlugin to collect collision data. 2008-03-14 05:22:52 +00:00
Teravus Ovares f46fcbb9d2 * Added Linear Acceleration reporting to the ODEPlugin.
* Added support for LSL llGetOmega (Rotational/Angular Velocity)- ODEPlugin is the only physics plugin that reports it.
2008-03-10 14:14:44 +00:00
Teravus Ovares d0123a796b ODEPlugin
* Added osSetPrimFloatOnWater(BOOL) to make Physical prim float at the water level.   
* osSetPrimFloatOnWater(TRUE); or osSetPrimFloatOnWater(FALSE);
* By default, prim do not float at the water level.
* More work is needed on the floating, but it's a start.
2008-03-10 05:56:58 +00:00
Teravus Ovares 8bea3dbdb9 * Added ODEPlugin Support for llSetBuoyancy. Set Buoyancy to 1 for space prim.
* Added WaterLevel support to the ODEPlugin.   More on this later.
2008-03-10 05:23:43 +00:00
Teravus Ovares 8bba8e232c * Fixed a few things and enabling Physical Prim border crossings again.
* Everyone try to push a physical prim across a region border now.
2008-03-09 20:29:59 +00:00
Teravus Ovares 7cae577094 ODE Plugin
* More cleanup
* Less noise
2008-03-09 17:50:24 +00:00
Teravus Ovares 5b6eba968b * Fixed the Link + Duplicate + Unlink both = 'ODE Invalid Argument in Collision Space Crash'
* Added: Console comment: [PHYSICS]: The scene reused a disposed PhysActor! *waves finger*, Don't be evil.
2008-03-09 16:32:44 +00:00
Teravus Ovares 081b2ac34e * Cleaned up some locking on the ODEPlugin to make it more developer friendly
* Expect the occasional deadlock?
2008-03-09 15:43:01 +00:00
Teravus Ovares 0cb4e401ad * Killed 4 more warnings (at 16 now) 2008-03-06 09:41:34 +00:00
Adam Frisby 1410210b84 * Four more warnings, etc etc. 2008-03-05 22:00:41 +00:00
Adam Frisby 810d2126ea * Three more warnings are a-gone. 2008-03-05 21:56:14 +00:00
Jeff Ames cd6f4a57e7 Added copyright heaaders. Minor cleanup. 2008-03-04 04:11:37 +00:00
Teravus Ovares d015356902 * Applied patch 708 from devalnor. Thanks devalnor!
* ODE: Added support for larger box stacks. (they're slow, but they work)
* ODEPlugin no longer tries to 'catch up' with the simulator frame rate if it gets behind.  Catching up was causing a lot of problems with larger box stacks and other things that stall the simulator (like saving prim in the datastore)
2008-03-03 16:52:25 +00:00
Teravus Ovares 0a5c48b1c8 * This is a very icky implementation of physical linkset prim using fixed joints. This will change quite drastically, however it's fun to play with.
* To play with this you must link your prim before setting it physical, otherwise they won't link in the physics engine properly.  This will also be fixed.
* Currently the linked prim are extremely unstable because I have yet to implement combining of forces with the same normal. This will also be fixed.   In fact, the whole PhysicsActor, ODEPrim relationship will be reworked to consider groups from the get-go.
* This implementation is better then it crashing your sim, so I'm commiting it for now.
2008-03-02 09:31:39 +00:00
Teravus Ovares fa7322eac9 * Fixed Cylinder mass formula using diameter instead of radius. 2008-02-29 06:55:31 +00:00
Teravus Ovares fe1f15f4ec * killed a 'new mass' debug line. 2008-02-29 05:50:40 +00:00
Teravus Ovares e333eaf4b6 * ODEPlugin
** Added more realistic calculations of mass for the rest of the supported prim shapes+holes+cuts+tapers.  Previously they were the generic height * width * length. Spheres roll (Angular velocity) more realistically, etc.
2008-02-29 05:46:24 +00:00
Teravus Ovares 95def8c636 * Adds unit test glue to the OdePlugin.
* Adds one unit test. CreateAndDropPhysicalCube.
* More unit tests will be done
* Let me know if this breaks Linux build..
2008-02-24 04:06:01 +00:00
Teravus Ovares bbb8b66908 * Made Physics updates a teensy bit more responsive. A previous CPU optimization of mine slowed the speed of updates using the 'poll' method in certain circumstances. 2008-02-23 12:46:23 +00:00
Teravus Ovares db264013d4 * One more fix to the selected feature
* Don't act immediately on a physical prim unless it's moving.
* This helps when you're trying to make a box stack and you select the bottom most box.
2008-02-23 12:26:37 +00:00
Teravus Ovares 27508c1ad8 * Added Support within the ODEPlugin for Selected. Which means that;
* When you select a physical prim, it stops while you've got it selected.
* When you move or alter a prim in some manner, it doesn't become collidable until you de-select it
* When you select a prim, it doesn't become temporarily 'phantom' until you make some change to it while it's selected. (this prevents accidental selections in prim floor from causing it to go phantom on you(but don't move it or you'll fall))
* There's one major difference, and that's a physical object won't stop if you don't have permission to edit it.  This prevents people who don't have edit permissions on a prim from stopping it while it's moving.
2008-02-23 11:42:55 +00:00
Teravus Ovares 640ad259d4 * A few additional null checks in the Physics Scene and PhysicsActor so we don't try to enumerate dead null ODECharacter objects when things get *really* slow. 2008-02-21 14:51:39 +00:00
Teravus Ovares 740ce20d9d * Found the land bug, yay 2008-02-20 20:07:12 +00:00
Jeff Ames a8cfbbe963 Minor cleanup. 2008-02-20 18:38:20 +00:00
Teravus Ovares 07774473af * Fixed a long standing race condition in physics events. Could this be the source of the null on multicast_void: error? 2008-02-20 17:50:19 +00:00
Teravus Ovares cfc9ee4265 * Adds limited support for each hollow type for the supported prim., Cube with a triangle hollow, Cube with a cylinder hollow, cylinder with a triangle hollow, etc.
* More work needs to be done here as several of the profileshape/hollow combinations are rotationally offset from where they render in the client.
2008-02-19 16:01:14 +00:00
Teravus Ovares 62f608b152 *rawfile fix. 2008-02-19 08:57:43 +00:00
Teravus Ovares e789a6bc9b * This patch adds Prism support to the Meshmerizer. Prism is one of the object types in the drop down on the object tab. Positive tapers are slightly incorrect(prim sinks into ground a tiny bit). Everything else that's supported works as expected. Hollow, cut, negative tapers, top shear. 2008-02-19 08:49:38 +00:00
Tedd Hansen c62328950a More exception checks and crash hints
If no scriptengine is specified then don't try to load any.
2008-02-18 14:21:51 +00:00
Teravus Ovares 8edaada1d3 ODE: Tired of floating above the ground after crossing a border? Boy have I got a solution for you! For a limited time, you can be the right height after border crossings automatically. Just three easy payments of $9.95 and make sure your neighbor is sending child agent updates! 2008-02-18 01:52:25 +00:00
Teravus Ovares c2d7beb617 * Last bit of cleanup now. As long as you keep physical prim off, you should have a reasonably stable experience with ODE again.
* Physical prim at the simulator edge still seems to have the occasional issue.
2008-02-17 20:40:21 +00:00
Teravus Ovares f80a534eb0 * Various ODE Cleanups 2008-02-17 20:04:28 +00:00
Teravus Ovares 89349a3810 * Disabling physical prim crossings until they get a bit more stable. 2008-02-17 12:10:47 +00:00
Teravus Ovares e33a0c5fc0 * Fixed the Ghost physical hull on deleting a physical Prim
* Fixed a deadlock when there is an exception in the collision and stepping parts of Simulate.
2008-02-17 11:50:15 +00:00
Teravus Ovares 19e0ada93a * Located and destroyed the weird velocity and rotation transfers. It turned out to be that the Static PhysicsVector.Zero was transferring velocities between all non fixed objects. Not so static after all :(. Finding it was cruel and unusual punishment from the CLR.
* Therefore, when you run through a pile of prim you won't see things rotate when they're not supposed to anymore.
* Avatars don't float off either.
2008-02-17 10:41:08 +00:00
Jeff Ames 3b9d332f84 Added copyright notices. 2008-02-17 01:16:40 +00:00
Teravus Ovares be6edefcfb * ODE Stability update 4 :D
* Changed the way meshing requests get sent to the ODEPlugin
* Numerous other fixes
2008-02-15 21:35:52 +00:00
Adam Frisby f3afa68a2a * Made new Framework.Constants class, added RegionSize member.
* Converted all instances of "256" spotted to use RegionSize instead. Some approximations used for border crossings (ie 255.9f) are still using that value, but should be updated to use something based on RegionSize.
* Moving Terrain to a RegionModule, implemented ITerrainChannel and TerrainModule - nonfunctional, but will be soon.
2008-02-14 12:16:33 +00:00
Teravus Ovares 135a72d6ca * Removed the noise from the console. The last commit seems to have resolved the recent reports of 'argument not a space' on linux. Though, there were about 50 changes :D 2008-02-14 10:07:15 +00:00
Teravus Ovares bd880f9178 * Another ODE Stability update. This might fix the recent Linux issues with the ODEPlugin. 2008-02-14 09:31:22 +00:00
Teravus Ovares e3a711536b * ODE - This fixes a few things and breaks a few more. 2008-02-14 01:57:19 +00:00
Jeff Ames 4e005fc225 Cleaned up some typos. 2008-02-14 00:44:21 +00:00
Teravus Ovares 0d14c47c28 * Bigisn ODE Stability update 2 2008-02-14 00:39:08 +00:00
Teravus Ovares 3588d89b2c * Bigish ODE stability Update. Run Prebuild 2008-02-13 23:14:41 +00:00
Teravus Ovares 2e89c01851 * This fixes mantis 553 (It appears that the exception is thrown when there is a collision with a cylinder that is both hollowed and either tapered or cut. The sequence of actions that reproduce the problem for me are: create a cylinder, hollow to 95%, taper X/Y, then collide it with another object or avatar. Note that the cylinder itself is not marked physical. ) 2008-02-13 19:06:35 +00:00
Teravus Ovares c1044039d4 * Removed a debug line that got called every frame. 2008-02-13 08:37:50 +00:00
Teravus Ovares d773ca5147 * Made physical prim stable enough for the general population to turn on. (though I still don't recommend it for welcome regions unless object build is off.
* Updated the ode.dll for windows with a more reasonable stack space reserve.  Linux users will need to type ulimit -s 262144 before starting up OpenSimulator if using Physical Prim to protect against stack collisions. or run the included ./bin/opensim-ode.sh to start up OpenSimulator in ODE mode.
* Added internal collision score and am keeping track of 'high usage' prim.
* Tweaked collisions some more
* Tested up to 460 physical prim in extremely close quarters (which was previously impossible in OpenSim).  After 460 in tight quarters, physics slows down enough to make it hard to do any moving, however..  non physics things still work, such as logging on to the simulator, etc.
2008-02-13 07:50:15 +00:00
Jeff Ames 001ce95e4c Clean up more unnecessary String.Format calls 2008-02-13 03:38:18 +00:00
Teravus Ovares e5ede36f0c * Physical prim cross borders and continue from where the left off on the other side now, assuming the region on the other side has physical prim enabled. 2008-02-12 07:32:32 +00:00
Teravus Ovares 6e01769bcf * A bunch of updates to make things more smooth.
** Sending the actual TimeDilation to the client now instead of the 62455 constant.  The client is *supposed* to use that value to sync with the simulator.    (actually sending ushort.maxvalue * TimeDilation)
** Disabling prim that inter-penetrate instead of just not attaching a joint
** Reduced prim spin a 'little' bit, but not *enough* 
** Tweaked the TimeDilation algorithm to be closer to 1.0 by default and various changes to the sim stats reporter 
** Created a .SetValues method to PhysicsVector so we can simply call the setvalues function instead of .x, .y, .z sets.
** Experimented with a .GetBytes Method on PhysicsActor to be able to use the LLVector3.FromBytes() method.   
** Upped the Inter-penetration depth to 0.25 instead of .08.
2008-02-12 04:27:20 +00:00
Teravus Ovares c926962862 * This resolves the null exceptions when a script is manipulating a physical object in ODE and you delete the object. The script is still running and trying to add force, but the object reference is null. 2008-02-12 00:01:55 +00:00
Teravus Ovares f603e57e9a * Added PhysicsScene.Dispose()
* In ODE, disposing of all of the ODE objects and the ODE World to reclaim memory when the simulator restarts.
2008-02-11 22:54:51 +00:00
Teravus Ovares a56664cf59 * um, Prim crossings? Experimental.
* Backup your database just in case.
2008-02-11 01:43:54 +00:00
Jeff Ames e207284fef Clean up logging calls using String.Format explicitly 2008-02-10 01:57:59 +00:00
Teravus Ovares c9b5516ca8 * Adds Top Shear support to the Meshmerizer for the Cube prim and the Cylinder prim. 2008-02-09 05:18:52 +00:00
Teravus Ovares fec65b3c69 * Tweaked timing of rapid mesh requests. Helps a race condition. 2008-02-09 04:08:26 +00:00
Teravus Ovares bb5b88d161 * Fixed a situation in ODE where it didn't call the mesher on a cube when you tapered if you didn't have a cut or a hollow. 2008-02-08 23:48:27 +00:00
Teravus Ovares fadf5b479f * Added Taper support to the Meshmerizer for Cube and Cylinder.
* Removed the hull verbosity
2008-02-08 23:28:38 +00:00
Teravus Ovares b63c267f0b * Finished Cylinder in the Meshmerizer. Hollow and Path cut work for it now. Enjoy the new physics-friendly prim type. 2008-02-08 22:11:28 +00:00
Teravus Ovares 3be2e772ec * Removed a statement that crashes the Meshmerizer if you don't have a specific /dev/ folder 2008-02-08 12:07:39 +00:00
Teravus Ovares 7d77fa6a9d * Okay, fixed the path cut offset, however the inner wall isn't properly 'cut' from the hull, so slightly better support, but still limited. 2008-02-08 11:44:27 +00:00
Teravus Ovares 50acb8e634 * This update adds limited support for Cylinder meshed prim in the Meshmerizer plugin. (Limited because path cut is wrongly offset and while Hollowing works, you can walk through the inside wall.) 2008-02-08 11:32:56 +00:00
Jeff Ames 6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
Teravus Ovares 96f6add4ad * ODE:Fix copy and paste bug in space calculation limits 2008-02-01 14:05:22 +00:00
MW 5099be8072 Temporary try catch around calculateSpaceForGeom() , to see if it gets past mantis issue #435 (for now) 2008-02-01 13:10:40 +00:00