aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-12-03* Fixes the 10x10x10 hard physics limitation. (wierdly, you have to set ↵Teravus Ovares (Dan Olivares)1-0/+3
this for each region in your Regions.ini[PhysicalPrimMax = 10(default)]) * Adds a configurable maximum object mass before the mass is clamped. Default is 10000.01. Configurable by changing maximum_mass_object in the [ODEPhysicsSettings] section. * Clamping the mass is important for limiting the amount of CPU an object can consume in physics calculations. Too high, and the object overcomes restitution forces by gravity alone. This generates more collisions potentially leading to 'deep think'.
2009-11-26* Fixes a case of d.BodyEnable with IntPtr.Zero passed as the parameter in ↵Teravus Ovares (Dan Olivares)1-1/+4
linkset where EnableBody was called and the body is immediately disabled. The previous functionality assumed that a body was received in EnableBody but.. in some cases, it wasn't.
2009-11-22* Added missing lock to m_forcelist when AddForce is called. When a user ↵Teravus Ovares (Dan Olivares)1-3/+26
dragged a prim, in some cases, it would corrupt the datatype in memory and throw spurious IndexOutOfRangeExceptions. * Physics a situation that causes physics to spew redline messages to the console forever.
2009-11-21* Fixes the second of two terse update issues. Physical objects should react ↵Teravus Ovares (Dan Olivares)1-0/+3
normally again.
2009-11-21* Fixes one of two terse update issues. There's still one left, but this ↵Teravus Ovares (Dan Olivares)1-1/+9
one fixes the situation where the object on the server is moving but no updates are being sent.
2009-11-03minor: remove some mono compiler warningsJustin Clark-Casey (justincc)1-1/+1
2009-10-29* Log progress messages when loading OAR files with a lot of assetsJohn Hurliman1-2/+2
* Change the PhysicsCollision callback for objects to send full contact point information. This will be used to calculate the collision plane for avatars * Send the physics engine velocity in terse updates, not the current force being applied to the avatar. This should fix several issues including crouching through the floor and walking through walls
2009-10-26Experimental change of PhysicsVector to Vector3. UntestedJohn Hurliman1-137/+132
2009-10-26No need to create dupe TriMeshData for ODE. A previous patch created a ↵Dan Lake1-6/+14
dictionary to store unique meshes in Meshmerizer based on creation params. This patch contains a dictionary to map each of those unique meshes to its ODE TriMeshData. This eliminated hundreds of megabytes of memory consumption in the unmanaged heap when there are lots of the same prim (roof tiles, bricks, siding, decks, chairs, etc). The objects do not need to be physical to benefit from this patch.
2009-10-22* Moved Copyrights above the comments in ODEPrim and ODEDynamics so they're ↵Teravus Ovares (Dan Olivares)1-14/+15
consistent with the rest (and so chi11ken's auto copyright adding script doesn't duplicate the copyright.
2009-10-22Commented out instrumentation in ODEPrim.csKittoFlora1-0/+8
2009-10-22Commented out instrumentation in ODEPrim.csKittoFlora1-0/+8
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-30Commit initial version of KittoFlora's vehicle changesopensim1-271/+323
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.