aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-10-20* Removing ODEPrim and ODECharacter GetHashCode() overrides since they were ↵John Hurliman1-5/+0
based on something that could change * Tweaked a few other GetHashCode() overrides to bring them in line with MSDN recommendations
2009-10-19Formatting cleanup.Jeff Ames1-2/+2
2009-10-12Optimize ODE mesh by removing sleep. On a region with 100,000 prims and ODE ↵unknown1-1/+1
enabled, the first Heartbeat loop call to UpdatePhysics takes 20 minutes. 75% of that time is spent in this sleep. (100k prims * 10ms)
2009-10-05Eliminate pinned Mesh data on managed heap by using IntPtrs to memory ↵Dan Lake1-7/+6
allocated on the unmanaged heap. This prevents fragmentation of the managed heap and the resulting stress on GC. A region with ~150,000 prims using ODE and Meshmerizer saw memory remain flat around 1.2GB as opposed to 1.5GB and continually growing due to pinned memory. This patch complements the unique mesh dictionary patch applied to Meshmerizer but is independent. The net effect is a 60-75% reduction in memory for our largest regions.
2009-09-24Meshmerizer stores dictionary of unique Meshes keyed on construction ↵Dan Lake1-14/+3
parameters. CreateMesh() returns a Mesh from the dictionary or creates a new Mesh if it has not been created before. Meshes are never purged from the dictionary. The raw Mesh data is discarded once the memory is pinned for ODE use. All copies of the same prim/mesh use the same pinned memory. ONLY IMPLEMENTED AND TESTED WITH MESHMERIZER AND ODE Signed-off-by: dahlia <dahliaTrimble@gmailDotCom>
2009-09-02Thank you, dslake, for a set of patches to improve OpenSim startupMelanie1-0/+5
and idle performance.
2009-08-18* Some Physics Scene Changes to prepare for larger regionsTeravus Ovares (Dan Olivares)1-1/+1
2009-08-07This is the second part of the 'not crash on regionsize changes'. This ↵Teravus Ovares (Dan Olivares)1-2/+2
lets you configure region sizes to be smaller without crashing the region. I remind you that regions are still square, must be a multiple of 4, and the Linden client doesn't like anything other then 256. If you set it bigger or smaller, the terrain doesn't load in the client, the map has issues, and god forbid you connect it to a grid that expects 256m regions.
2009-06-10Formatting cleanup.Jeff Ames1-2/+2
2009-06-01Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames1-1/+1
LICENSE.txt.
2009-05-22cleaning out warnings.Dr Scofield1-7/+5
NOTE: we currently have a gazillion warnings caused stuff flagged as "obsolete" (OGS1 stuff) --- what's up with that?
2009-04-20* Allow passing of material type to physics engineTeravus Ovares1-0/+7
* Define low friction and medium bounce for Glass
2009-04-17* Commit a few fixes to the Vehicle settingsTeravus Ovares1-11/+18
* Vertical Attractor servo
2009-04-16* Remove some super experimental stuff in BulletDotNETPlugin since it was ↵Teravus Ovares1-8/+15
causing issues. * Tweak the ODEPrim PID a bit more.
2009-04-16* Committing more BulletDotNETPlugin workTeravus Ovares1-9/+286
* Tweak the LLSetStatus results in the ODEPlugin. Hopefully it's a little less unstable. * ODEPlugin is using experimental math for LLSetStatus, use with caution! :)
2009-04-14* Adding some organization of vehicle type stuff in the ODEPlugin.Teravus Ovares1-183/+30
* Vehicles do NOT work. This is just organization and a bit of logical code to make doing vehicles easier
2009-04-07* Added finite testing to the character and object constructorTeravus Ovares1-0/+18
2009-04-07* Added a routine to check if a PhysicsVector and Quaternion is finiteTeravus Ovares1-20/+114
* Now validating input to the Physics scene and warning when something is awry. * This should help nail down that Non Finite Avatar Position Detected issue.
2009-03-30* Remove a debug line of localIDsTeravus Ovares1-1/+1
2009-03-30* Fixing thread safety of avatar adding and removing from the Physics Scene ↵Teravus Ovares1-0/+1
in the ODEPlugin * This may help one of the symptoms or mantis 3363 , however it probably won't solve the occasional NonFinite Avatar Position detected.. issues that some people see. That is probably an entirely different issue(NaN).
2009-03-20Ensure the remembered velocity is zero when physical is turned off on a ↵idb1-1/+5
prim. Without this the velocity gets sent to the client and the prim appears to move. Fixes Mantis #3303
2009-03-09* Tweak llMoveToTarget per mantis 3265Teravus Ovares1-1/+1
* Add some comments to the Wind Module * Add the BinBVH decoder/encoder as a scene object (to encode/decode animations programmatically). * Add m_sitState for upcoming code to improve sit results.
2009-03-07* Added some limits to the maximum force applied per second by ↵Teravus Ovares1-1/+18
llMoveToTarget. Currently, it's 350 times the mass in newtons applied per second, maximum.
2009-03-06Fixes Mantis #3260. Thank you kindly, MCortez for a patch that:Charles Krinke1-1/+100
llSetHoverHeight() should not clamp the x/y position of an object the way MoveTo does, and it should recalculate the absolute height to hover at as an object moves to reflect the current ground/water height under it. Correctly implementing required adjusting the Physics interfaces and implementing at the physics plug-in level. The attached is a patch that correctly implements llSetHoverHeight() including updates to the ODE physics plug-in.
2009-03-05* Fixing a few mass calculation errors suggested by jhurlimanTeravus Ovares1-2/+2
2009-02-22Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:Charles Krinke1-2/+2
* Added log4net dependency to physxplugin in prebuild.xml. * Added missing m_log fields to classes. * Replaced Console.WriteLine with appropriate m_log.Xxxx * Tested that nant test target runs succesfully. * Tested that local opensim sandbox starts up without errors.
2009-02-08Reverts patch from tuco/mikkopa/sempuki mantis #3072Teravus Ovares1-75/+75
2009-02-03Change access levels from private to protected to facilitateMike Mazur1-75/+75
subclassing; also add new method signatures. Thanks tuco and mikkopa. Fix Mantis #3072.
2008-12-31- Added the fixed Ode.NET.dllHomer Horwitz1-5/+5
- 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-31Added a missing setMass for initializing the mass of primsHomer Horwitz1-1/+2
2008-12-26* Applying Nlin's NINJA Joint patch. v2. Mantis# 2874Teravus Ovares1-2/+27
* 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-20Mantis#2796. Thank you kindly, Gerhard for a patch that addresses:Charles Krinke1-1/+6
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-14* Implements the torque/Rotational Impulse methods in the PhysicsAPI and the ↵Teravus Ovares1-3/+80
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* A Few physical prim + linkset fixes. Prevent some crashesTeravus Ovares1-19/+51
2008-12-09* Fixes a few instances of llSetStatus with Axis lock gone wrong. Teravus Ovares1-4/+46
* Sums up the masses of the objects within a physical linkset
2008-12-09* Gerhard's patch m2781. Does some initial work for setting up llVolumeDetect.Teravus Ovares1-0/+5
* 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-07* Tweaks physics so that linked prim are a single body. This will make ↵Teravus Ovares1-77/+412
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-11-09Clean up the mass < 0 logic a tiny bit whenCharles Krinke1-2/+1
calculating mass.
2008-10-16* Releases the inter-region thread synchronization between physics in ODE on ↵Teravus Ovares1-1/+1
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-14* Cleaned up tons of code duplication in ODEPrim Teravus Ovares1-265/+133
* 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-09-28Implement the plumbing for llSetVehicleType from the LSLCharles Krinke1-0/+6
subroutine down through the physics modules through PhysActor and SceneObjectPart. No connection to the physics simulators.
2008-09-28Added the plumbing for llSetVehicleRotationParamCharles Krinke1-0/+5
in the classes between the LSL implementation and the underlying physics engines.
2008-09-28Plumb the connection though from llSetVehicleVectorParamCharles Krinke1-3/+7
to the various physics engines. No connection to the underlying physics simulator yet, just plumbing through the various classes.
2008-09-28Plumb the connection through from llSetVehicleFloatParamCharles Krinke1-0/+6
to the various physics engines. No connection to the underlying physics simulator yet, just plumbing through the various classes.
2008-09-21Update svn properties, minor formatting cleanup.Jeff Ames1-2/+2
2008-09-19re-enabled some ODE internal proxies for some simple prim types to try to ↵Dahlia Trimble1-50/+57
save some more memory
2008-09-18XEngine: fix collisions, add event coalescing for collision events.Melanie Thielker1-6/+4
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-06* This is the fabled LibOMV update with all of the libOMV types from JHurlimanTeravus Ovares1-48/+48
* 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-08-27ODEPlugin now frees source mesh data after conversion to pinned lists to ↵Dahlia Trimble1-0/+2
save memory
2008-07-25Re-enables testing for config option mesh_sculpted_prim which was ↵Dahlia Trimble1-14/+14
inadvertently disabled in a prior modification (oops) :)