aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-12-20Remove unused SetAcceleration and add set on Acceleration parameterDan Lake10-34/+13
2011-12-12minor: remove pointless comment from OdeScene.csJustin Clark-Casey (justincc)1-2/+1
2011-11-29minor: remove mono compile warning, a Vector3 can never be null since it's a ↵Justin Clark-Casey (justincc)1-9/+6
struct
2011-11-25remove some mono compiler warningsJustin Clark-Casey (justincc)3-8/+8
2011-11-22Log error if we attempt to add/remove an OdeCharacter from the _characters ↵Justin Clark-Casey (justincc)1-23/+33
list inappropriately
2011-11-22Stop removing actor from the hash maps in OdeScene.RemoveCharacter() since ↵Justin Clark-Casey (justincc)1-6/+1
this is now being down in OdeCharacter.DestroyOdeStructures()
2011-11-22Comment out uncalled OdeScene.UnCombine()Justin Clark-Casey (justincc)2-66/+60
2011-11-22slightly simplify OdeScene.Simulate() by removing bool processtaints, since ↵Justin Clark-Casey (justincc)3-141/+128
we can inspect count of taint lists instead. also groups OdeCharacter.CreateOdeStructures() and DestroyOdeStructures() together
2011-11-21Slightly improve "Unable to space collide" logging message, though I don't ↵Justin Clark-Casey (justincc)1-1/+2
think I've ever seen this.
2011-11-21Get rid of OdeCharacter != null checks since OdeScene._characters can never ↵Justin Clark-Casey (justincc)1-17/+4
contain a null character. Ignoring the ancient code glyphs not to do this....
2011-11-21remove unnecessary OdeScene._activeprims locking. Code is single-threadedJustin Clark-Casey (justincc)1-53/+46
2011-11-21Restore defects list. In hindsight, the reason for this is becuase we can't ↵Justin Clark-Casey (justincc)2-92/+112
remove the character whilst iterating over the list. This commit also removes locking on OdeScene._characters since code is single threaded
2011-11-21simplify operation of OdeScene._perloopContactJustin Clark-Casey (justincc)1-45/+51
2011-11-21don't bother locking OdeScene._perloopContact in single threaded codeJustin Clark-Casey (justincc)1-47/+42
2011-11-21don't lock OdeScene.contacts since only ever accessed by a single threadJustin Clark-Casey (justincc)1-10/+24
2011-11-21rename ODECharacter.AvatarGeomAndBodyCreation() -> CreateOdeStructures() to ↵Justin Clark-Casey (justincc)1-8/+10
match existing DestroyOdeStructures()
2011-11-21refactor: Eliminate one line ODECharacter.doForce() method for code clarityJustin Clark-Casey (justincc)1-15/+3
2011-11-21Comment out calls to OdeScene.waitForSpaceUnlock() since that method does ↵Justin Clark-Casey (justincc)3-23/+24
nothing right now
2011-11-21Reduce complexity of OdeScene.Simulate() by fully removing bad characters at ↵Justin Clark-Casey (justincc)2-70/+29
point of detection rather than later on.
2011-11-21move geom/actor map maintenance into ↵Justin Clark-Casey (justincc)2-10/+9
DestroyODEStructures()/AvatarGeomAndBodyCreation(). This saves us having to do it separately when a character capsule size is changed
2011-11-21When changing avatar size in ODE, remove the old actor from the name and ↵Justin Clark-Casey (justincc)2-8/+14
actor maps
2011-11-21When an ODECharacter is removed (e.g. when an avatar leaves a scene), remove ↵Justin Clark-Casey (justincc)2-10/+23
the actor reference in OdeScene.actor_name_map rather than leaving it dangling. This also largely centralizes adds/removes in OdeScene.AddCharacter()/RemoveCharacter()
2011-11-21Have ODECharacter and ODEPrim both use PhysicsActor.Name instead of ↵Justin Clark-Casey (justincc)3-9/+14
maintaining their own properties
2011-11-21Actually remove PhysicsActor.SOPDescription this timeJustin Clark-Casey (justincc)1-1/+3
2011-11-21Instead of generating a new list for bad characters on every physics pass, ↵Justin Clark-Casey (justincc)1-3/+12
keep reusing the same list.
2011-11-16Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their ↵Justin Clark-Casey (justincc)6-41/+29
own private m_localID property but leaving get to return the then unset PhysicsActor.LocalId! Instead, just have both subclasses use the PhysicsActor.LocalID property. This restores collision functionality that fell away in 45c7789 yesterday
2011-11-15Instead of having scene add/remove collision events directly to the OdeScene ↵Justin Clark-Casey (justincc)1-20/+38
collision event dictionary, marshall them via a change dictionary first. This is to avoid a complicated tri-thread deadlock on region crossing for avatars with attachments, where 1) XEngine starting up scripts can lock XEngine.m_Scripts and then try to lock OdeScene._collisionEventPrim while starting up a script due to avatar border crossing 2) An existing collision event will lock OdeScene._collisionEventPrim and then try to lock SP.m_attachments while trying to send the collision event to attachments 3) The avatar still entering the region will lock SP.m_attachments and then try to lock m_Scripts to start more attachment scripts.
2011-11-15use a more efficient dictionary in OdeScene._collisionEventPrim rather than ↵Justin Clark-Casey (justincc)1-7/+4
a list
2011-11-04Add comment for experimental effect of removing the Thread.Sleep(20) in ↵Justin Clark-Casey (justincc)2-1/+4
ODEPrim.changevelocity()
2011-11-04Stop llPushObject() from causing problems by adding force via a taint rather ↵Justin Clark-Casey (justincc)1-2/+25
than directly. This isn't a perfect solution since there can be a race between the taint processing and taint setting, as force needs to be reset after processing. Needs careful locking in the future.
2011-10-29Add taint target velocity for ODECharacters as is already done for ↵Justin Clark-Casey (justincc)1-7/+12
ODECharacter position and position and velocity for ODEPrims. This is to help stop surprises if the velocity is set in the middle of physics calculations, though this probably isn't a huge problem. It's more for consistency and for the next step of removing some scene locks
2011-10-29tidy up OdeCharacter so that we just use OpenMetaverse.Vector3 assignment ↵Justin Clark-Casey (justincc)1-51/+39
directly where possible, instead of transferring X, Y and Z components separately some of this is probably a hold over from using ODE.Vector3, which is still necessary in some places.
2011-10-29Move position set from taint to logically better position at top of ↵Justin Clark-Casey (justincc)1-12/+12
ODECharacter.ProcessTaints() though this makes no practical difference
2011-10-29Stop setting _position as well as m_taint_position in ODECharacter.PositionJustin Clark-Casey (justincc)1-4/+1
setting position at the same time as taint appears to undermine the whole purpose of taint testing doesn't reveal any obvious regressions in doing this
2011-10-27Fix a bug I introduced yesterday in ODE physics where prim scripts would ↵Justin Clark-Casey (justincc)2-1/+24
only receive the very first collision.
2011-10-25Clear OdeCharacter CollisionEventUpdate when we subscribe or unsubscribe ↵Justin Clark-Casey (justincc)1-0/+2
from collision events
2011-10-25Remove unused fields from CollisionEventUpdateJustin Clark-Casey (justincc)5-28/+10
2011-10-25Get rid of the pointless null checks on collision listeners. Add warning ↵Justin Clark-Casey (justincc)1-0/+6
about synchronicity for PhysicsActor.OnCollisionUpdate event doc
2011-10-25When sending object collision updates, don't null out and recreate the ↵Justin Clark-Casey (justincc)2-13/+8
CollisionEventUpdate() if the number of collisions falls to zero. Reuse the existing one instead.
2011-10-25For ScenePresence collision events, instead of creating a new ↵Justin Clark-Casey (justincc)2-5/+11
CollisionEventsThisFrame every time we need to send some new ones, reuse the existing one instead. This assumes that the listener is using the data synchronously, which is currently the case.
2011-10-25Fix bug where collision event listeners were not removed once the listener ↵Justin Clark-Casey (justincc)1-4/+5
had gone away. This was causing continuous use of temporary memory even when all avatars had left the scene. Memory does leak but it does cause more calls to the garbage collector, which would pause the scene thread for a very short while during collection.
2011-10-25minor: rename a parameter in OdeScene.Simulate() from actor -> prim since ↵Justin Clark-Casey (justincc)1-4/+4
it's an OdePrim
2011-10-21very minor removal of old commented out line of code in OdeSceneJustin Clark-Casey (justincc)1-5/+3
2011-10-20remove unnecessary null check on _collisionEventPrimJustin Clark-Casey (justincc)1-3/+0
2011-10-20Get OdeScene to use passed in time step rather than hard-coded 0.089Justin Clark-Casey (justincc)1-22/+23
However, I still don't recommend changing MinFrameTime from 0.089, high values do not work well and lower values don't seem to make much difference
2011-10-20For now, stop passing timeStep into methods where it's not actually used.Justin Clark-Casey (justincc)2-13/+5
2011-10-18Temporarily put in log lines to record time taken to set terrain in OdeScene.Justin Clark-Casey (justincc)1-0/+6
2011-10-18Store scene identifier passed in to OdeScene for later debug messagesJustin Clark-Casey (justincc)2-2/+10
2011-10-18Don't bother taking OdeLock during OdeScene construction, since there can be ↵Justin Clark-Casey (justincc)1-16/+13
no contention until the object is constructed.
2011-10-18Remove unnecessary lock of OdeLock in OdePrim.changeadd()Justin Clark-Casey (justincc)1-18/+13
This taint can only ever be processed from the OdeScene.Simulate() loop, which already locks OdeLock.