aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Optimize ODE mesh by removing sleep. On a region with 100,000 prims and ODE ↵unknown2009-10-121-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)
* Eliminate pinned Mesh data on managed heap by using IntPtrs to memory ↵Dan Lake2009-10-051-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.
* Meshmerizer stores dictionary of unique Meshes keyed on construction ↵Dan Lake2009-09-241-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>
* Thank you, dslake, for a set of patches to improve OpenSim startupMelanie2009-09-021-0/+5
| | | | and idle performance.
* * Some Physics Scene Changes to prepare for larger regionsTeravus Ovares (Dan Olivares)2009-08-181-1/+1
|
* This is the second part of the 'not crash on regionsize changes'. This ↵Teravus Ovares (Dan Olivares)2009-08-071-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.
* Formatting cleanup.Jeff Ames2009-06-101-2/+2
|
* Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames2009-06-011-1/+1
| | | | LICENSE.txt.
* cleaning out warnings.Dr Scofield2009-05-221-7/+5
| | | | | | NOTE: we currently have a gazillion warnings caused stuff flagged as "obsolete" (OGS1 stuff) --- what's up with that?
* * Allow passing of material type to physics engineTeravus Ovares2009-04-201-0/+7
| | | | | * Define low friction and medium bounce for Glass
* * Commit a few fixes to the Vehicle settingsTeravus Ovares2009-04-171-11/+18
| | | | | * Vertical Attractor servo
* * Remove some super experimental stuff in BulletDotNETPlugin since it was ↵Teravus Ovares2009-04-161-8/+15
| | | | | | | causing issues. * Tweak the ODEPrim PID a bit more.
* * Committing more BulletDotNETPlugin workTeravus Ovares2009-04-161-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! :)
* * Adding some organization of vehicle type stuff in the ODEPlugin.Teravus Ovares2009-04-141-183/+30
| | | | | * Vehicles do NOT work. This is just organization and a bit of logical code to make doing vehicles easier
* * Added finite testing to the character and object constructorTeravus Ovares2009-04-071-0/+18
|
* * Added a routine to check if a PhysicsVector and Quaternion is finiteTeravus Ovares2009-04-071-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.
* * Remove a debug line of localIDsTeravus Ovares2009-03-301-1/+1
|
* * Fixing thread safety of avatar adding and removing from the Physics Scene ↵Teravus Ovares2009-03-301-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).
* Ensure the remembered velocity is zero when physical is turned off on a ↵idb2009-03-201-1/+5
| | | | | | | prim. Without this the velocity gets sent to the client and the prim appears to move. Fixes Mantis #3303
* * Tweak llMoveToTarget per mantis 3265Teravus Ovares2009-03-091-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.
* * Added some limits to the maximum force applied per second by ↵Teravus Ovares2009-03-071-1/+18
| | | | llMoveToTarget. Currently, it's 350 times the mass in newtons applied per second, maximum.
* Fixes Mantis #3260. Thank you kindly, MCortez for a patch that:Charles Krinke2009-03-061-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.
* * Fixing a few mass calculation errors suggested by jhurlimanTeravus Ovares2009-03-051-2/+2
|
* Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:Charles Krinke2009-02-221-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.
* Reverts patch from tuco/mikkopa/sempuki mantis #3072Teravus Ovares2009-02-081-75/+75
|
* Change access levels from private to protected to facilitateMike Mazur2009-02-031-75/+75
| | | | | | subclassing; also add new method signatures. Thanks tuco and mikkopa. Fix Mantis #3072.
* - Added the fixed Ode.NET.dllHomer Horwitz2008-12-311-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.
* Added a missing setMass for initializing the mass of primsHomer Horwitz2008-12-311-1/+2
|
* * Applying Nlin's NINJA Joint patch. v2. Mantis# 2874Teravus Ovares2008-12-261-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.
* Mantis#2796. Thank you kindly, Gerhard for a patch that addresses:Charles Krinke2008-12-201-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.
* * Implements the torque/Rotational Impulse methods in the PhysicsAPI and the ↵Teravus Ovares2008-12-141-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
* * A Few physical prim + linkset fixes. Prevent some crashesTeravus Ovares2008-12-141-19/+51
|
* * Fixes a few instances of llSetStatus with Axis lock gone wrong. Teravus Ovares2008-12-091-4/+46
| | | | | * Sums up the masses of the objects within a physical linkset
* * Gerhard's patch m2781. Does some initial work for setting up llVolumeDetect.Teravus Ovares2008-12-091-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.
* * Tweaks physics so that linked prim are a single body. This will make ↵Teravus Ovares2008-12-071-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.
* Clean up the mass < 0 logic a tiny bit whenCharles Krinke2008-11-091-2/+1
| | | | | calculating mass.
* * Releases the inter-region thread synchronization between physics in ODE on ↵Teravus Ovares2008-10-161-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
* * Cleaned up tons of code duplication in ODEPrim Teravus Ovares2008-10-141-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
* Implement the plumbing for llSetVehicleType from the LSLCharles Krinke2008-09-281-0/+6
| | | | | | subroutine down through the physics modules through PhysActor and SceneObjectPart. No connection to the physics simulators.
* Added the plumbing for llSetVehicleRotationParamCharles Krinke2008-09-281-0/+5
| | | | | | in the classes between the LSL implementation and the underlying physics engines.
* Plumb the connection though from llSetVehicleVectorParamCharles Krinke2008-09-281-3/+7
| | | | | | | to the various physics engines. No connection to the underlying physics simulator yet, just plumbing through the various classes.
* Plumb the connection through from llSetVehicleFloatParamCharles Krinke2008-09-281-0/+6
| | | | | | | to the various physics engines. No connection to the underlying physics simulator yet, just plumbing through the various classes.
* Update svn properties, minor formatting cleanup.Jeff Ames2008-09-211-2/+2
|
* re-enabled some ODE internal proxies for some simple prim types to try to ↵Dahlia Trimble2008-09-191-50/+57
| | | | save some more memory
* XEngine: fix collisions, add event coalescing for collision events.Melanie Thielker2008-09-181-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.
* * This is the fabled LibOMV update with all of the libOMV types from JHurlimanTeravus Ovares2008-09-061-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.
* ODEPlugin now frees source mesh data after conversion to pinned lists to ↵Dahlia Trimble2008-08-271-0/+2
| | | | save memory
* Re-enables testing for config option mesh_sculpted_prim which was ↵Dahlia Trimble2008-07-251-14/+14
| | | | inadvertently disabled in a prior modification (oops) :)
* Changed application of constant forces to after PID force is applied. ↵Dahlia Trimble2008-07-241-3/+7
| | | | llSetForce() should behave identical to the Linden implementation now.
* Implements llSetForce() and llGetForce(). These are experimental and the ↵Dahlia Trimble2008-07-241-3/+7
| | | | units may not match the Linden implementation.