aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* * Fixed a case where a prim was a NullPhysicsActor instead of an OdePrimTeravus Ovares2009-07-211-72/+100
| | | | | | * Commented logic that wasn't being used. * This should fix the errors in OdeScene.near
* * Created a way that the OpenSimulator scene can ask the physics scene to do ↵Teravus Ovares2009-07-191-1/+22
| | | | | | | | | a raycast test safely. * Test for prim obstructions between the avatar and camera. If there are obstructions, inform the client to move the camera closer. This makes it so that walls and objects don't obstruct your view while you're moving around. Try walking inside a hollowed tori. You'll see how much easier it is now because your camera automatically moves closer so you can still see. * Created a way to know if the user's camera is alt + cammed or just following the avatar. * Changes IClientAPI interface by adding SendCameraConstraint(Vector4 CameraConstraint)
* Experimental fix for tilted avatar capsule, Mantis #2905nlin2009-07-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | Set av_capsule_tilted to false in opensim.ini. Default is true, so there is no change in avatar behavior (and no breaking of existing content which relies on the tilted capsule). This commit straightens up the avatar capsule so it behaves consistently (e.g. same collision behavior against prims regardless of which direction the avatar is coming from; ability to fit through narrow doorways). Please note this introduces other side effects which have not been fixed. In particular: * The avatar frequently falls through the terrain if it is not flat, though the avatar behaves pretty well on flat terrain. This requires investigation of the ode terrain collider. * The apparent foot position of the avatar with respect to the ground is changed. This requires investigation of the avatar height/capsule height. Please consider this as work in progress.
* - fixes a "collection out of sync" exception in the ODE physicsDr Scofield2009-06-251-33/+44
| | | | | | | engine, caused by an "avatar infinite position" occurring under heavy load. - fixes "value too small" exception in ChatModule
* From: Alan Webb <alan_webb@us.ibm.com>Dr Scofield2009-06-101-2/+2
| | | | | | | | Eat collision errors --- NOTE: this fix might be naive, it seems to have helped us getting to 81 avatars (whereas we'd crash with 20 before), but it sure would benefit from some check-over by a person skilled in the art of ODE physics.
* Formatting cleanup.Jeff Ames2009-06-101-1/+1
|
* cleaning out warnings.Dr Scofield2009-05-221-1/+1
| | | | | | 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-19/+241
| | | | | * Define low friction and medium bounce for Glass
* Added a "force_simple_prim_meshing" option to the ODE settings in ↵Dahlia Trimble2009-04-191-25/+18
| | | | | | | OpenSim.ini which will use meshes for collisions with simple prim shapes rather than internal ODE algorithms. This may help with Mantis #2905 and Mantis #3487 for those experimenting with capsule settings. Note that this will increase memory usage and region startup time.
* From: Alan M Webb <alan_webb@us.ibm.com>Dr Scofield2009-03-311-1/+9
| | | | | | | Add sanity check to fly-height calculation so that it does not attempt to retrieve information from non-existent regions.
* * Fixing thread safety of avatar adding and removing from the Physics Scene ↵Teravus Ovares2009-03-301-6/+25
| | | | | | | 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).
* * Make all coded defaults match settings in OpenSim.ini.exampleJustin Clarke Casey2009-03-111-4/+4
| | | | | | | * In most cases, the setting in OpenSim.ini.example is taken as the canonical one since this is the file virtually everyone ends up using * OpenSim will start up with a blank OpenSim.ini, in which case sqlite is the default database (as before)
* Correct a typo, purely cosmetic.idb2009-03-071-1/+1
| | | | | FixesMantis #3263
* * Making the minimum ground offset for flying a configurable offset in the ↵Teravus Ovares2009-03-071-0/+3
| | | | | | | OpenSim.ini. This is the code that causes you to rise off the ground when you press the fly button and attempts to keep you above ground automatically when flying in a simulator. * minimum_ground_flight_offset, by default is 3 meters, as per Kitto Flora See OpenSim.ini.example for an example.
* * fixes mantis 3259Teravus Ovares2009-03-071-0/+9
| | | | | * I'm concerned however that the 'minimum fly height' should really be implemented in ScenePresence and not in the specific physics plugin so that all of the physics plugins can take advantage of it and if desired, a person could swap out the 'minimum fly height' functionality with other functionality.
* * Added some limits to the maximum force applied per second by ↵Teravus Ovares2009-03-071-1/+9
| | | | 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-0/+5
| | | | | | | | | | 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.
* Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:Charles Krinke2009-02-221-4/+4
| | | | | | | | | * 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.
* This started as way to correct Mantis #3158, which I believe should be fixed ↵diva2009-02-151-1/+2
| | | | now. The flying status was temporarily being ignored, which caused the avie to drop sometimes -- there was a race condition. In the process it also fixes that annoying bug in basic physics where the avie would drop half-way to the ground upon region crossings (SetAppearance was missing). Additionally, a lot of child-agent-related code has been cleaned up; namely child agents are now consistently not added to physical scenes, and they also don't have appearances. All of that happens in MakeRoot, consistently.
* Add copyright headers. Minor formatting cleanup. Fix some compiler ↵Jeff Ames2009-02-131-2/+2
| | | | warnings. Fix some m_log declarations.
* Thanks Kitto Flora for a patch that adds automatic min fly height to ODE - ↵Dahlia Trimble2009-02-121-8/+10
| | | | Mantis #3134
* * Some minor cleanupTeravus Ovares2009-02-081-30/+30
| | | | | * sealed OdeScene
* Reverts patch from tuco/mikkopa/sempuki mantis #3072Teravus Ovares2009-02-081-100/+100
|
* * Limit the total number of joints created per frame to the maximum possible ↵Teravus Ovares2009-02-081-12/+53
| | | | | | | | 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.
* * Fixes colliding with the terrain lower then 0 and higher then 256mTeravus Ovares2009-02-081-11/+10
| | | | | | * 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.
* Change access levels from private to protected to facilitateMike Mazur2009-02-031-100/+100
| | | | | | subclassing; also add new method signatures. Thanks tuco and mikkopa. Fix Mantis #3072.
* * Tweaks some locks when modifying an ODECharacter. This actually allows a ↵Teravus Ovares2009-01-311-0/+3
| | | | | | | 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.
* Improve parsing of joint parameters for NINJA physics (Mantis #2966). nlin2009-01-141-1/+1
| | | | | | | | Multiple spaces or leading/trailing spaces when specifying the prims to connect should no longer cause problems.
* Slight optimisation: Don't check for duplication if we won't use the result ↵Homer Horwitz2008-12-311-7/+7
| | | | anyway.
* Update svn properties, minor formatting cleanup.Jeff Ames2008-12-301-8/+8
|
* * Applying Nlin's NINJA Joint patch. v2. Mantis# 2874Teravus Ovares2008-12-261-0/+571
| | | | | | | | | | * 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/+19
| | | | | | | | | | | | | | 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.
* Enabled complex meshing for simple box prims with non-zero shearDahlia Trimble2008-12-181-2/+3
|
* * Apply http://opensimulator.org/mantis/view.php?id=2775 with small tweaksJustin Clarke Casey2008-12-151-5/+8
| | | | | | | * 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
* * Committing a slightly distilled version of nlin's ODECharacter race ↵Teravus Ovares2008-12-101-7/+43
| | | | | | | condition eliminator. * The modifications that I made were only so that it didn't require changes to the public physics api.
* * Gerhard's patch m2781. Does some initial work for setting up llVolumeDetect.Teravus Ovares2008-12-091-1/+1
| | | | | | * 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.
* * Adds some rudimentary error handling to the physics debug drawstuff tool.Teravus Ovares2008-12-081-6/+16
|
* * Tweaks physics so that linked prim are a single body. This will make ↵Teravus Ovares2008-12-071-6/+177
| | | | | | | | 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.
* * Apply http://opensimulator.org/mantis/view.php?id=2750 with a small tweak.Justin Clarke Casey2008-12-041-2/+5
| | | | | | | * 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.
* Guard against a strange nullref in ODEMelanie Thielker2008-11-191-0/+5
|
* Enabled SoftERP for the contact structure but not SoftCFM.Charles Krinke2008-11-091-1/+6
| | | | | | A tube on a pole is a bit less "flubbery" so maybe this is the right direction.
* Clean up a few comments.Charles Krinke2008-11-091-11/+3
|
* Revert last checkin. Avatars fall through non-physical prims now.Charles Krinke2008-11-011-12/+7
| | | | | | There is more to the solution then just enabling soft_erp and soft_cfm for all d.Contact cases.
* Added soft_cfm and soft_erp to the general "contact" initializationCharles Krinke2008-11-011-7/+12
| | | | | | for physical prim interactions. They were not previously enabled for prim-prim interactions.
* * Add a config option for filtering collisions. Sometimes, under load, ↵Teravus Ovares2008-10-221-0/+5
| | | | this seems to cause bouncing on really thin flat prim.
* * Changed the dupe collision depth limiter to be slightly more restrictive. ↵Teravus Ovares2008-10-181-3/+3
| | | | (less chance for a dupe)
* * Fix an over compensation for bounciness on flat PrimitiveTeravus Ovares2008-10-171-8/+5
| | | | | | * 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.
* * Adds a lot of stability and performance to the physics engine. The ↵Teravus Ovares2008-10-171-1/+86
| | | | | | | 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.
* * minor: get rid of pointless ipeSenderJustin Clarke Casey2008-10-161-0/+1
|
* * Releases the inter-region thread synchronization between physics in ODE on ↵Teravus Ovares2008-10-161-1/+2
| | | | | | | | 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