Justin Clark-Casey (justincc)
8013c0d2f5
Stop pointlessly setting the m_colliderarr[] to false in the ODECharacter constructor
2011-12-15 22:33:14 +00:00
Justin Clark-Casey (justincc)
c0ba99e5ad
Stop having to call SetHeight again in ScenePresence.AddToPhysicalScene() when we've already passed size information to the avatar at PhysicsScene.AddAvatar()
...
Eliminate some copypasta for height setting in OdeCharacter
2011-12-15 22:29:36 +00:00
Justin Clark-Casey (justincc)
937c06db54
Code cleanup related to ScenePresence.PhysicsActor and OdeScene/OdeCharacter
...
Stop hiding RemoveAvatar failure, add log messages when characters are removed through defects or re-added unexpectedly.
Add commented out log lines for future use.
Use automatic property for PhysicsActor for better code readability and simplicity
2011-12-15 21:57:22 +00:00
Justin Clark-Casey (justincc)
6f2d80cc93
minor: add some currently commented log lines for use in debugging
2011-12-14 21:27:47 +00:00
Justin Clark-Casey (justincc)
e830a77860
Simplify some manipulation of _taintedActors in OdeScene
2011-12-14 18:33:44 +00:00
Justin Clark-Casey (justincc)
a110a7bd6a
Eliminate _taintedPrimsH and _taintedPrimsL (and _taintedPrimLock) in favour of just a _taintedPrims HashSet.
...
There's no point maintaining a list because any pending taint operations are all carried out in the same call anyway.
2011-12-14 18:03:25 +00:00
Justin Clark-Casey (justincc)
4dfd2c7d47
minor: remove pointless comment from OdeScene.cs
2011-12-12 19:31:50 +00:00
Justin Clark-Casey (justincc)
a17f93ff44
minor: remove mono compile warning, a Vector3 can never be null since it's a struct
2011-11-29 16:31:10 +00:00
Justin Clark-Casey (justincc)
b785f204ce
remove some mono compiler warnings
2011-11-25 22:19:57 +00:00
Justin Clark-Casey (justincc)
b56410285b
Log error if we attempt to add/remove an OdeCharacter from the _characters list inappropriately
2011-11-22 22:46:25 +00:00
Justin Clark-Casey (justincc)
ace4324e75
Stop removing actor from the hash maps in OdeScene.RemoveCharacter() since this is now being down in OdeCharacter.DestroyOdeStructures()
2011-11-22 22:37:06 +00:00
Justin Clark-Casey (justincc)
af90b52731
Comment out uncalled OdeScene.UnCombine()
2011-11-22 22:28:46 +00:00
Justin Clark-Casey (justincc)
daf99f8c0a
slightly simplify OdeScene.Simulate() by removing bool processtaints, since we can inspect count of taint lists instead.
...
also groups OdeCharacter.CreateOdeStructures() and DestroyOdeStructures() together
2011-11-22 21:51:00 +00:00
Justin Clark-Casey (justincc)
c4e4a29478
Slightly improve "Unable to space collide" logging message, though I don't think I've ever seen this.
2011-11-21 21:31:26 +00:00
Justin Clark-Casey (justincc)
4ddff7eb0f
Get rid of OdeCharacter != null checks since OdeScene._characters can never contain a null character.
...
Ignoring the ancient code glyphs not to do this....
2011-11-21 21:29:56 +00:00
Justin Clark-Casey (justincc)
82dc7886fc
remove unnecessary OdeScene._activeprims locking. Code is single-threaded
2011-11-21 21:15:15 +00:00
Justin Clark-Casey (justincc)
7480f2fd0e
Restore defects list. In hindsight, the reason for this is becuase we can't remove the character whilst iterating over the list.
...
This commit also removes locking on OdeScene._characters since code is single threaded
2011-11-21 21:04:24 +00:00
Justin Clark-Casey (justincc)
546259b2ff
simplify operation of OdeScene._perloopContact
2011-11-21 20:30:37 +00:00
Justin Clark-Casey (justincc)
25d9001de1
don't bother locking OdeScene._perloopContact in single threaded code
2011-11-21 20:17:36 +00:00
Justin Clark-Casey (justincc)
e33b0fa35b
don't lock OdeScene.contacts since only ever accessed by a single thread
2011-11-21 20:12:04 +00:00
Justin Clark-Casey (justincc)
e67ba0ad06
rename ODECharacter.AvatarGeomAndBodyCreation() -> CreateOdeStructures() to match existing DestroyOdeStructures()
2011-11-21 20:01:34 +00:00
Justin Clark-Casey (justincc)
063f0f5d97
refactor: Eliminate one line ODECharacter.doForce() method for code clarity
2011-11-21 19:58:37 +00:00
Justin Clark-Casey (justincc)
225b925f4e
Comment out calls to OdeScene.waitForSpaceUnlock() since that method does nothing right now
2011-11-21 19:48:31 +00:00
Justin Clark-Casey (justincc)
54789706f4
Reduce complexity of OdeScene.Simulate() by fully removing bad characters at point of detection rather than later on.
2011-11-21 19:45:22 +00:00
Justin Clark-Casey (justincc)
3becda919e
move geom/actor map maintenance into DestroyODEStructures()/AvatarGeomAndBodyCreation().
...
This saves us having to do it separately when a character capsule size is changed
2011-11-21 19:31:29 +00:00
Justin Clark-Casey (justincc)
4faac1f090
When changing avatar size in ODE, remove the old actor from the name and actor maps
2011-11-21 19:06:53 +00:00
Justin Clark-Casey (justincc)
898904d83d
When an ODECharacter is removed (e.g. when an avatar leaves a scene), remove 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-21 18:27:41 +00:00
Justin Clark-Casey (justincc)
cead87005b
Have ODECharacter and ODEPrim both use PhysicsActor.Name instead of maintaining their own properties
2011-11-21 18:06:04 +00:00
Justin Clark-Casey (justincc)
4fdcfd79e4
Actually remove PhysicsActor.SOPDescription this time
2011-11-21 17:55:54 +00:00
Justin Clark-Casey (justincc)
4485007fce
Instead of generating a new list for bad characters on every physics pass, keep reusing the same list.
2011-11-21 17:04:54 +00:00
Justin Clark-Casey (justincc)
b6d83e9c0f
Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their 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-16 23:01:59 +00:00
Justin Clark-Casey (justincc)
e16d7fe1da
Instead of having scene add/remove collision events directly to the OdeScene 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-15 20:02:09 +00:00
Justin Clark-Casey (justincc)
45c7789b54
use a more efficient dictionary in OdeScene._collisionEventPrim rather than a list
2011-11-15 19:42:33 +00:00
Justin Clark-Casey (justincc)
f7b8c54c24
Add comment for experimental effect of removing the Thread.Sleep(20) in ODEPrim.changevelocity()
2011-11-04 23:43:17 +00:00
Justin Clark-Casey (justincc)
ccca6ba935
Stop llPushObject() from causing problems by adding force via a taint rather 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-11-04 23:12:01 +00:00
Justin Clark-Casey (justincc)
9fdd1753fa
Add taint target velocity for ODECharacters as is already done for 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-29 02:30:33 +01:00
Justin Clark-Casey (justincc)
ef8370fb8e
tidy up OdeCharacter so that we just use OpenMetaverse.Vector3 assignment 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-29 02:07:28 +01:00
Justin Clark-Casey (justincc)
a5ea9f8830
Move position set from taint to logically better position at top of ODECharacter.ProcessTaints() though this makes no practical difference
2011-10-29 01:46:22 +01:00
Justin Clark-Casey (justincc)
5ae8de3c00
Stop setting _position as well as m_taint_position in ODECharacter.Position
...
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-29 01:39:48 +01:00
Justin Clark-Casey (justincc)
820242bc49
Fix a bug I introduced yesterday in ODE physics where prim scripts would only receive the very first collision.
2011-10-27 02:05:59 +01:00
Justin Clark-Casey (justincc)
6a74a4c12b
Clear OdeCharacter CollisionEventUpdate when we subscribe or unsubscribe from collision events
2011-10-25 22:46:42 +01:00
Justin Clark-Casey (justincc)
0f83f87233
Remove unused fields from CollisionEventUpdate
2011-10-25 22:39:08 +01:00
Justin Clark-Casey (justincc)
c825c9a945
Get rid of the pointless null checks on collision listeners. Add warning about synchronicity for PhysicsActor.OnCollisionUpdate event doc
2011-10-25 22:35:00 +01:00
Justin Clark-Casey (justincc)
b9f106f484
When sending object collision updates, don't null out and recreate the CollisionEventUpdate() if the number of collisions falls to zero. Reuse the existing one instead.
2011-10-25 22:28:40 +01:00
Justin Clark-Casey (justincc)
5d37f0471e
For ScenePresence collision events, instead of creating a new 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-25 22:19:17 +01:00
Justin Clark-Casey (justincc)
7b6b36cee9
Fix bug where collision event listeners were not removed once the listener 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-25 21:40:51 +01:00
Justin Clark-Casey (justincc)
1fbb379536
minor: rename a parameter in OdeScene.Simulate() from actor -> prim since it's an OdePrim
2011-10-25 21:15:37 +01:00
Justin Clark-Casey (justincc)
4241ee5dfa
very minor removal of old commented out line of code in OdeScene
2011-10-21 00:04:36 +01:00
Justin Clark-Casey (justincc)
30fe66d3ab
remove unnecessary null check on _collisionEventPrim
2011-10-20 20:58:29 +01:00
Justin Clark-Casey (justincc)
9c43020876
Get OdeScene to use passed in time step rather than hard-coded 0.089
...
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-20 20:48:51 +01:00
Justin Clark-Casey (justincc)
b63ec987b0
For now, stop passing timeStep into methods where it's not actually used.
2011-10-20 17:54:32 +01:00
Justin Clark-Casey (justincc)
581885da75
Temporarily put in log lines to record time taken to set terrain in OdeScene.
2011-10-18 21:21:15 +01:00
Justin Clark-Casey (justincc)
03202ada29
Store scene identifier passed in to OdeScene for later debug messages
2011-10-18 21:11:13 +01:00
Justin Clark-Casey (justincc)
1d4cd76e8a
Don't bother taking OdeLock during OdeScene construction, since there can be no contention until the object is constructed.
2011-10-18 21:03:41 +01:00
Justin Clark-Casey (justincc)
f10a824e47
Remove unnecessary lock of OdeLock in OdePrim.changeadd()
...
This taint can only ever be processed from the OdeScene.Simulate() loop, which already locks OdeLock.
2011-10-18 20:58:59 +01:00
Justin Clark-Casey (justincc)
5515c45e3b
minor: method doc to explain a lock of OdeLock
2011-10-18 20:56:11 +01:00
Justin Clark-Casey (justincc)
71d221cdc0
Remove the unused CollisionLocker from ODE
...
Despite its name, this wasn't actually being used in any collision checking
2011-10-18 17:35:58 +01:00
Justin Clark-Casey (justincc)
0c041ce12f
Implement osNpcSit(). This is still in development so don't trust it
...
Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE)
e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE);
At the moment, sit only succeeds if the part has a sit target set.
NPC immediately sits on the target even if miles away - they do not walk up to it.
This method is in development - it may change so please don't trust it yet.
Standing will follow shortly since that's kind of important once you're sitting :)
2011-10-17 01:42:31 +01:00
Justin Clark-Casey (justincc)
978fb3d482
reduce access to ODECharacter methods to make code analysis easier. Eliminate redundant argument on ProcessTaints()
2011-10-15 01:41:39 +01:00
Justin Clark-Casey (justincc)
9cc2694776
restrict unnecessary access levels on ODEPrim fields/properties
2011-10-15 01:31:09 +01:00
Justin Clark-Casey (justincc)
f2132329a3
refactor: make methods that do not need to be public in ODE private or internal to aid code reading/analysis. Remove some unused method arguments
2011-10-15 01:20:40 +01:00
Justin Clark-Casey (justincc)
4bfc2f5cde
Change hardcoded ODE total frame time to match the default total frame time (0.09375 -> 0.089).
...
No apparant ill effects - because the default stepsize is 0.2, there are still 5 physics steps per physics frame.
This is a precursor to using the elapsed value passed in (and now changeable in config).
2011-10-14 21:07:57 +01:00
Justin Clark-Casey (justincc)
77c65951e0
Extract NullPhysicsScene from PhysicsScene to improve code readability
2011-10-14 01:38:14 +01:00
Justin Clark-Casey (justincc)
20da04fd0c
More method doc and formatting changes. Makes DestroyOdeStructures() private
2011-10-13 21:42:24 +01:00
Justin Clark-Casey (justincc)
227db07f2f
refactor: move 3x copy/pasted ode structure removal code in ODECharacter into a DestroyOdeStructures() method
...
also adds some method doc
2011-10-13 18:19:13 +01:00
Justin Clark-Casey (justincc)
9090039324
Remove unused local variable i from OdeScene.Simulate()
2011-10-05 22:15:28 +01:00
Justin Clark-Casey (justincc)
1e798136c3
adjust some whitespace to trigger another build, to check the last failure was just a glitch
2011-09-17 01:33:55 +01:00
Justin Clark-Casey (justincc)
f950338124
Remove old bullet DotNET and X libraries in preparation for BulletS
...
These weren't working properly anyway.
You will need to rerun prebuild.sh/.bat after this commit, and maybe "nant clean" as well.
2011-09-17 01:09:25 +01:00
Justin Clark-Casey (justincc)
6f542f73d4
Stop the avatar stalling on its first boarder cross when using the ODE plugin
...
When upgrading the previously child agent to a root, the code was setting the Size parameter on the ODECharacter PhysicsActor.
This in turn reset Velocity, which cause the border stall.
I'm fixing this by commenting out the Velocity = Vector3.Zero lines since they don't appear to play a useful purpose
2011-09-16 23:57:16 +01:00
Robert Adams
96dce3e16c
Use GetMeshKey from PrimitiveBaseShape.
2011-08-29 10:10:48 -07:00
Mic Bowman
648866b597
Merge branch 'master' into bulletsim
2011-08-29 09:55:34 -07:00
Robert Adams
18037d41c4
Move GetMeshKey from buried inside Meshmerizer to a public method on PrimitiveBaseShape
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-28 16:50:54 -04:00
Robert Adams
80a2b81d52
Add level of detail specification to optionally reduce the number of vertices in generated prim meshes
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-28 16:49:25 -04:00
Robert Adams
21708b832b
BulletSim: add mesh representation. Use meshes for static objects and switch to hulls for physical objects.
2011-08-26 15:51:21 -07:00
Mic Bowman
384cb79a1a
Merge branch 'master' into bulletsim
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneManager.cs
2011-08-19 14:49:16 -07:00
Robert Adams
fef73a1a10
BulletSim: add runtime setting of physics parameters. Update default values.
2011-08-18 14:32:09 -07:00
Justin Clark-Casey (justincc)
951ffad81e
If SP.MoveToTarget has been called with a force walk, begin by landing the avatar.
...
There is a bug here - once an avatar has landed it glides to its new position instead of performing a walk animation
2011-08-11 00:23:54 +01:00
Justin Clark-Casey (justincc)
7f499ff3f3
Add a OS_NPC_LAND_AT_TARGET option to osMoveToTarget()
...
Default for this function is now not to automatically land.
This allows better control by scripts when an avatar is going to be landing on a prim rather than the ground.
Stopping the avatar involves faking a collision, to avoid the pid controller making it overshoot.
A better approach would be to gradually slow the avatar as we near the target
2011-08-10 23:56:19 +01:00
Mic Bowman
82f41fdcb5
BulletSim: fix problem with not convex hulling large objects by creating unit meshes and always scaling in Bullet
2011-08-05 14:53:39 -07:00
Mic Bowman
c3f579046c
Merge branch 'master' into bulletsim
2011-08-05 11:13:02 -07:00
Robert Adams
7640b5abf6
BulletSim: Parameters settable from ini file. Linksets. Physical property value tuning
2011-08-05 11:01:27 -07:00
Justin Clark-Casey (justincc)
21d8a6b0e8
extend move test to check one beat of the simulator without actually asking the npc to move.
2011-08-03 23:06:18 +01:00
Justin Clark-Casey (justincc)
05e94ff27e
Move common gemo/agent map name code into CreateGeom()
...
Fix build break.
2011-08-01 07:04:13 +01:00
Justin Clark-Casey (justincc)
f9d6a91252
Instead of preserving old name in geom_name_map in change size or shape, use the Name property instead.
...
This is equivalent since the prim 'name' is never changed. In fact, this propery is never used for prims
2011-08-01 06:52:52 +01:00
Justin Clark-Casey (justincc)
40a78db182
comment out unused code in OdeScene.TriCallback()
2011-08-01 06:47:45 +01:00
Justin Clark-Casey (justincc)
ccb4b76242
On geom removal, remove the name from the OdeScene.geom_name_map too
2011-08-01 06:40:29 +01:00
Justin Clark-Casey (justincc)
f79df6f43f
remove the unused ODEPrim.prev_geom field
2011-08-01 06:35:59 +01:00
Justin Clark-Casey (justincc)
f32dbef647
When an ODE geom is removed (as when a non-phantom prim is deleted, resized or shape changed, also remove the OdeScene.actor_name_map entry pointing to the phys actor
...
This is to stop a small memory leak over time when prims are deleted or phantom-toggled
2011-08-01 06:32:30 +01:00
Justin Clark-Casey (justincc)
6618948ff9
refactor: centralize prim geom removal code from four places to one
2011-08-01 06:15:02 +01:00
Justin Clark-Casey (justincc)
509200d5cd
minor: add note to RemovePrimThreadLocked() to the effect that it contrary to the summary, it is being called from within Simulate() lock (OdeLock)
2011-08-01 05:48:27 +01:00
Justin Clark-Casey (justincc)
dfa2f7d715
If a prim changes size or shape, add actor to _parent_scene.actor_name_map with new prim_geom key, as the old one becomes invalid.
...
This resolves http://opensimulator.org/mantis/view.php?id=5603 where changing size or shape would stop collision_start being fired in a running script.
In both this and existing code we are not removing old actors from actor_name_map when the existing prim_geom is removed, which leads to a small memory leak over time.
This needs to be fixed.
2011-08-01 05:43:04 +01:00
Justin Clark-Casey (justincc)
2102964826
minor: indentation correction
2011-08-01 05:14:16 +01:00
Justin Clark-Casey (justincc)
d041276517
Remove _mesh field since the mesh data no longer needs to be stored after it's initially used.
...
This may improve memory usage for regions using mesh and sculpts, though I suspect that it doesn't address the current memory leak.
2011-07-31 01:03:52 +01:00
Justin Clark-Casey (justincc)
bd8f538f80
refactor: Remove argument to pass in an initial mesh to OdePrim since this is no longer required and it prevents removal of the _mesh field (which is only used temporarily)
...
If passing in a mesh becomes important again in the future then this can be reinstated.
2011-07-31 00:49:49 +01:00
Justin Clark-Casey (justincc)
196a774b24
minor: correct method doc for last commit
2011-07-31 00:45:20 +01:00
Justin Clark-Casey (justincc)
454312f5bc
refactor: rename CreateGeom _mesh argument to mesh, so as to not confuse this with the pre-existing _mesh field
2011-07-31 00:44:23 +01:00
Justin Clark-Casey (justincc)
f1ce17071d
minor: method doc
2011-07-31 00:43:02 +01:00
Justin Clark-Casey (justincc)
e08be91c84
Refactor: Replace instances of m_isphysical with IsPhysical rather than have some code reference the private var and other the public var without any functionality difference.
...
Add some method doc to IsPhysical
2011-07-30 23:44:47 +01:00
Justin Clark-Casey (justincc)
4f4d080461
refactor: Rename ODEPrim.ParentPrim() to AddChildPrim() for code readability
2011-07-30 23:20:43 +01:00
Justin Clark-Casey (justincc)
49a3740ee9
minor: remove mono compiler warnings, some code spacing adjustments
2011-07-30 03:56:29 +01:00
Justin Clark-Casey (justincc)
d917010433
minor: Add method doc to collision subscription methods. Change method case to reflect OpenSim standards.
2011-07-30 03:11:36 +01:00
Justin Clark-Casey (justincc)
310a685220
refactor: extract method that generates a physics mesh from prim shape data
2011-07-30 02:34:50 +01:00
Justin Clark-Casey (justincc)
4197f66052
refactor: extract code which generate points and faces from sculpt data into it's own method.
...
fix build break.
2011-07-30 02:22:05 +01:00
Justin Clark-Casey (justincc)
b0eacadeb4
fix bug in previous commit
2011-07-30 02:09:17 +01:00
Justin Clark-Casey (justincc)
122e01949d
refactor: move the code that generates physics meshs from prim mesh data into a separate method, in order to make the code more readable.
2011-07-30 02:08:32 +01:00
Justin Clark-Casey (justincc)
5043be13fb
Return null from CreateMeshFromPrimMesher if OpenJPEG decoding of the sculpt data fails.
...
This is to address http://opensimulator.org/mantis/view.php?id=5612
2011-07-29 21:49:23 +01:00
Justin Clark-Casey (justincc)
f3c5a5b745
fix extremely minor Ode bug where the _taintedPrimL list would always be cleared on every OdeScene.Simulate() even if it was already empty.
2011-07-29 01:18:42 +01:00
Justin Clark-Casey (justincc)
2a39d0cdb0
refactor: Move another chunk of ninja code out of the OdeScene.Simulate() loop for consistency and readability.
2011-07-29 00:51:07 +01:00
Justin Clark-Casey (justincc)
3f0d8f3cbf
refactor: Simplify reading OdeScene.Simulate() loop by shunting all the NINJA joints stuff into its own method.
...
Now if ninja joints isn't active (which is the default) don't have to wade through a lot of massively indented irrelevant code.
2011-07-29 00:39:02 +01:00
Justin Clark-Casey (justincc)
9c6227da66
refactor: unindent the OdeScene.Simulate() loop to ignore the long commented out ifs and locks
...
This is to make it more readable.
2011-07-29 00:23:42 +01:00
Robert Adams
869883f2dc
BulletSim: fix buoyancy for prims. Start of configurable physics parameters.
2011-07-22 15:23:57 -07:00
Robert.Adams
5ffec1cd64
Pass collisions and updates in pinned memory (saves marshaling).
...
Fix folding feet by using collision normals.
Add constraint specification.
2011-07-22 10:23:40 -07:00
Dan Lake
2c11f7fc38
Merge branch 'master' into bulletsim
2011-07-20 15:01:32 -07:00
Dan Lake
3270bd560e
Removed unused AddPrimShape methods in PhysicsScene caused by merge conflicts
2011-07-20 14:34:02 -07:00
Careminster Team
9fc7d65df7
Apply the localID to the Physics actor to prevent null calls later
2011-07-19 18:26:36 +01:00
Justin Clark-Casey (justincc)
18652eb87e
Fix physics proxy regeneration when a mesh with more than one submesh is resized
...
Addresses http://opensimulator.org/mantis/view.php?id=5584
2011-07-16 01:36:27 +01:00
root
e9dbe54ab1
Fix some local id issues in physics glue
2011-07-15 20:07:59 +01:00
Justin Clark-Casey (justincc)
3e456163dd
Port implementation of llCastRay() from Aurora.
...
I haven't been able to test this since the viewer won't parse the llCastRay() function. Maybe some activation cap is missing. Could wait until it is activated by default in the viewer.
2011-07-12 22:13:15 +01:00
Justin Clark-Casey (justincc)
d31e0a67f7
temporarily fix the build break with building the OdePlugin tests assembly.
...
This needs to be fixed properly.
2011-07-12 03:26:22 +01:00
Justin Clark-Casey (justincc)
f75f906e35
minor: remove whitespace to trigger another build
2011-07-12 03:13:05 +01:00
Justin Clark-Casey (justincc)
df0e5cc9fe
When a mesh object is added to a scene, delay adding the physics actor until the sculpt data has been added to the shape (possibly via an async asset service request)
...
This prevents spurious 'no asset data' for meshes added on startup.
2011-07-12 02:33:09 +01:00
Dan Lake
b9cbe92f30
Merge branch 'master' into bulletsim
2011-07-11 12:23:20 -07:00
Justin Clark-Casey (justincc)
24efb021ff
minor Tack the prim name on the end of the "experimental mesh proxy generation" message.
...
Can probably comment out this message soon, once a few other issues are tidied up.
2011-07-11 04:23:30 +01:00
Justin Clark-Casey (justincc)
2f3d0e209f
When a sculpt/mesh texture is received by a part on a callback request, don't do the unnecessary work of copying the base shape.
...
Just setting the new base shape is enough to reinsert the sculpt data and set the taint.
Also cleans up a few more left-in debugging messages.
2011-07-11 03:13:59 +01:00
Justin Clark-Casey (justincc)
ce85675e70
comment out accidential ProcessTaints physics debug line left in code
2011-07-11 02:29:51 +01:00
Justin Clark-Casey (justincc)
5e8900dfd0
minor: code tidy and inserted log lines for future use.
...
Unable to get to the bottom of why resizing a mesh fails to properly reset the physics proxy, when toggling phantom does
After a mesh is generated, the existing sculptdata is set to zero in PrimitiveBaseShape to save memory
When phantom is toggled, the sculptdata is regenerated before remeshing.
But on resize, the sculptdata is not regenerated.
So clearly, resetting sculptdata is possible, but haven't quite been able to pin down how this is being done when phantom is toggled.
2011-07-09 00:35:30 +01:00
Justin Clark-Casey (justincc)
e8ad8593b6
refactor: eliminate redundant return statement
2011-07-08 20:58:44 +01:00
Justin Clark-Casey (justincc)
40300c886c
refactor: Factor out AddSubMesh() method from long CraeteMeshFromPrimMesher() method
...
Also remove some of the logging spam left in from the last commit.
2011-07-08 20:36:01 +01:00
Justin Clark-Casey (justincc)
b18ef976ff
Fix interpretation of physics mesh proxies from mesh data
...
As per http://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format , some submesh blocks may just have the flag "NoGeometry" to signal that they provide no mesh data.
If a block contains this, ignore it for meshing purposes rather than suffer a ClassCastException
This fixes physics proxy meshing, so you can now walk through mesh doorways, properly stand on the trailer of mesh trucks, etc.
To get mesh physics proxy, the UseMeshiesPhysicsMesh must be true in a [Mesh] config section in OpenSim.ini (example in OpenSimDefaults.ini).
Convex hull physics not currently supported.
2011-07-08 19:43:22 +01:00
Justin Clark-Casey (justincc)
29034bc0e0
minor: code tidy up - remove a couple of Console.WriteLine() accidentally added in the last commit
2011-07-08 18:34:44 +01:00
Justin Clark-Casey (justincc)
36df9ae79a
refactor: Separate the OdeScene class into its own file from OdePlugin.cs, to improve code readability
2011-07-08 18:16:48 +01:00
Justin Clark-Casey (justincc)
1dcad4ac66
minor: commented out log lines for future use and very small code tidy
2011-07-08 17:58:01 +01:00
dahlia
5c18ebf424
Allow physics proxy generation for meshes using new asset format.
...
Fix an invalid cast exception while decoding new mesh asset format.
2011-06-29 17:36:41 -07:00
Robert Adams
302d72701d
BulletSim initial checkin
2011-06-20 17:24:42 -07:00
Mic Bowman
ad84728aba
Add localID to physical object creation functions.
2011-06-15 11:31:32 -07:00
dahlia
387b228d68
partial update for new mesh asset format - handle both old and new formats for physics mesh
2011-06-10 00:38:38 -07:00
Dan Lake
d565041e16
Fix crash when [Mesh] section is missing from configuration files
2011-04-29 15:49:10 -07:00
BlueWall
5e99d93651
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2011-04-21 15:16:12 -04:00
BlueWall
d9055c8dc3
Group collada meshies settings under [Mesh] in OpensimDefaults.ini
2011-04-21 15:15:24 -04:00
dahlia
212326eeb0
fix meshing failure on sculpt maps smaller than 64x64
2011-04-19 22:16:10 -07:00
dahlia
90b810c27e
force mesh proxy for simple box prims with path cut
2011-04-12 22:47:30 -07:00
Diva Canto
b23b29a53e
This fixes mantis #5198 and related. Physics is not my expertise, so I'm not 100% sure of what all the consequences of this change are. Pushing up, so others can take a look.
2010-12-24 16:23:00 -08:00
Teravus Ovares (Dan Olivares)
46db73b62b
* Re-Adding Scene TimeDilation to Object Update Packets.
...
* Added Calculating Time Dilation in the OdePlubin
* When multiple object updates are stuffed into one packet, average the time dilation between them as a compromise.
* Time Dilation on the update is calculated when the EntityUpdate object is created. The pre-calc-ed TD is stored in the Entity update and used when it goes out on the wire. Previously, it was 1.0 all the time. The time dilation is tied to when the update is created, not when the update is sent.
2010-12-23 03:30:09 -05:00
Justin Clark-Casey (justincc)
3053f5ba7d
minor: remove some compiler warnings
2010-12-10 03:08:31 +00:00
dahlia
9f29908f66
catch an exception when a mesh asset header cant be decoded
2010-11-24 02:05:41 -08:00
Latif Khalifa
c74c1620a1
* Updated libomv to r3461
...
Main reason for upgrade is to revert API change that was introduced in order to support headerless binary LLSD decoding needed for deserialization of the mesh assets, which turned out to be unnecessary as we can transparently decode both kinds.
2010-10-24 23:51:46 +01:00
dahlia
9038218c2d
fix combining of multiple physics submeshes
2010-10-20 20:39:05 -07:00
dahlia
e3bd10829f
remove some cruft from last commit
2010-10-18 04:26:23 -07:00
dahlia
7fa3335fd5
initial support for meshies physics. Must set ini option UseMeshiesPhysicsMesh = true to enable. See file OpenSimDefaults.ini for example.
2010-10-18 04:17:36 -07:00
Teravus Ovares (Dan Olivares)
0308982c58
one more silly line ending thing.... *If you have problems, fetch the tree and rebase.
...
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-15 01:45:25 -04:00
dahlia
bcdd03c1cf
more work in progress on mesh physics - still non-functional
2010-10-14 20:25:31 -07:00
dahlia
2d88394cd5
laying some groundwork for mesh physics
2010-10-14 13:10:03 -07:00
Teravus Ovares (Dan Olivares)
cf61cf7b32
* Make line endings consistant in Meshmerizer.cs
2010-10-09 13:50:53 -04:00
dahlia
9391c3ffee
add a flag in OpenSim.ini.example for enabling/disabling decoded sculpt map caching for meshing
2010-10-07 19:34:46 -07:00
Jeff Ames
bc9f793a92
Formatting cleanup.
2010-10-04 21:28:17 -04:00
Melanie
f220a2c5eb
Replace CalculateMass with a more accurate version, contributed by Ubit.
...
Thank you.
2010-10-02 00:24:16 +01:00
Melanie
d0c271adc6
Typo fixes
2010-09-26 18:06:23 +01:00
BlueWall
b0b4782a2b
adding configurable j2kDecodeCache path
...
allowing the decoded sculpt map cache path to be defined in
the configuration files.
Use DecodedSculpMapPath in the [Startup] section to set
the path. The default is still ./bin/j2kDecodeCache
2010-09-26 17:04:11 +01:00
Justin Clark-Casey (justincc)
30d3e8a13e
Add prim name to OdePrim Error and Warning messages.
...
This aims to make it easier to identify and remove rogue prims that are causing ODE to fall over.
2010-09-25 01:07:37 +01:00
Justin Clark-Casey (justincc)
4a5979c311
minor: remove some mono compiler warnings
2010-06-25 21:09:15 +01:00
Diva Canto
1e7ce6dbce
Hunting for the problem in #4777
2010-06-19 09:44:02 -07:00
Diva Canto
9b410f5e94
Reverting my last two commits, putting back Melanie's exception handler. Doesn't solve #4777 .
2010-06-19 09:25:36 -07:00
Diva Canto
f0f684161e
Reinstated the behavior of AddPrimShape *exactly* as it was as of December. Trying to fix mantis #4777
2010-06-19 08:57:58 -07:00
Melanie
47d5f90629
Remove an error in meshing error reporting. Now doesn't double-bomb
...
anymore on a bad sculpt
2010-06-18 19:49:14 +01:00
Melanie
ceac35bac1
Log and eat sculpt meshing exceptions caused by bad jp2 data.
2010-06-12 16:25:40 +01:00
dahlia
5e719d13ef
fix sculpt normal direction for mirrored plane sculpts
2010-05-24 19:15:04 -07:00
Diva Canto
a58859a0d4
GridUserService in place. Replaces the contrived concept of storing user's home and position info in the presence service. WARNING: I violated a taboo by deleting 2 migration files and simplifying the original table creation for Presence. This should not cause any problems to anyone, though. Things will work with the new simplified table, as well as with the previous contrived one. If there are any problems, solving them is as easy as dropping the presence table and deleting its row in the migrations table. The presence info only exists during a user's session anyway.
...
BTW, the Meshing files want to be committed too -- EOFs.
2010-05-07 21:29:56 -07:00
dahlia
eb6d63ab8e
improve handling of undersize sculpt textures
2010-05-06 23:02:24 -07:00
dahlia
39c5ddc837
corrections for face numbering and uv mapping, mostly for spheres - sync with PrimMesher r56
2010-05-06 22:08:59 -07:00
dahlia
5d1e9947ed
Sculpt meshing refactoring - improves mesh accuracy and UV mapping
...
Sync with PrimMesher r55
2010-05-06 21:36:27 -07:00
John Hurliman
65c1fbc14d
Fixing line endings
2010-03-15 20:54:48 -07:00
dahlia
1e73e16fd0
flip UVs for profile faces
2010-03-13 18:41:36 -08:00
dahlia
41a98b902b
correct some references which could produce erroneous prim face numbers
2010-03-12 22:05:22 -08:00
dahlia
1d14cf8c3f
some improvements to sculptmap alpha handling and LOD
2010-03-12 21:21:28 -08:00
John Hurliman
3036aba875
* Added a better check to the SimianGrid connectors to test if they are enabled or not. This method should work equally well with standalone or robust mode
...
* Applying #4602 from Misterblu to add collision detection to BulletDotNET
2010-03-12 14:28:31 -08:00
Jeff Ames
300f4c58a6
Separate PhysX classes into separate files.
2010-02-22 13:16:40 +09:00
Jeff Ames
af265e001d
Formatting cleanup.
2010-02-15 19:21:56 +09:00
Revolution
9821c4f566
Revolution is on the roll again! :)
...
Fixes: Undo, T-pose of others on login, modifiedBulletX works again, feet now stand on the ground instead of in the ground, adds checks to CombatModule. Adds: Redo, Land Undo, checks to agentUpdate (so one can not fall off of a region), more vehicle parts. Finishes almost all of LSL (1 function left, 2 events).
Direct flames and kudos to Revolution, please
Signed-off-by: Melanie <melanie@t-data.com>
2010-02-14 22:18:46 +00:00
John Hurliman
8556a9f1a8
Applying patch #4534 by Misterblue to fix ODE physics stickiness
2010-02-04 13:31:06 -08:00
Jeff Ames
70d5b1c34c
Formatting cleanup. Add copyright headers.
2010-01-04 06:17:30 +09:00
Melanie
e530180c1e
Glue code for a couple of new LSL function implementations
2009-12-22 00:26:12 +00:00
Teravus Ovares (Dan Olivares)
2f8b9cbf2b
* Commit some sit code that's commented out for now.
2009-12-08 11:28:13 -05:00
Teravus Ovares (Dan Olivares)
8d196dbd14
* Adds Normal to the fields returned by the Physics Raycaster
...
* Fixes recognizing when a sit target is and isn't set.
* * 1. Vector3.Zero.
* * 2. Orientation: x:0, y:0, z:0, w:1 - ZERO_ROTATION
* * (or) Orientation: x:0, y:0, z:0, w:0 - Invalid Quaternion
* * (or) Orientation: x:0, y:0, z:1, w:0 - Invalid mapping, some older objects still exist with it
2009-12-05 22:18:00 -05:00
Teravus Ovares (Dan Olivares)
c4b6010fb3
* Fixes mantis 4416. Animator is dereferenced on logout
2009-12-05 13:01:21 -05:00
Teravus Ovares (Dan Olivares)
781db43a76
* Fixes the 10x10x10 hard physics limitation. (wierdly, you have to set 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-12-03 20:21:10 -05:00
Teravus Ovares (Dan Olivares)
e2200026ca
* Fixes a case of d.BodyEnable with IntPtr.Zero passed as the parameter in 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-26 17:03:00 -05:00
Teravus Ovares (Dan Olivares)
3ebb528c79
* Resolves mantis 4390 http://opensimulator.org/mantis/view.php?id=4390
2009-11-23 11:44:22 -05:00
Teravus Ovares (Dan Olivares)
21f80b6507
* Adds a test for if the collision is at the bottom of the capsule on avatar. This prevents the 'double jump' capability that's been occurring for ages when avatar collide with prim on the side.
2009-11-22 22:04:52 -05:00
Teravus Ovares (Dan Olivares)
9ba10af6b2
* Added missing lock to m_forcelist when AddForce is called. When a user 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-22 21:08:54 -05:00
Teravus Ovares (Dan Olivares)
7760da1a4c
* Fixes the second of two terse update issues. Physical objects should react normally again.
2009-11-21 04:39:41 -05:00
Teravus Ovares (Dan Olivares)
0ffda7128e
* Fixes one of two terse update issues. There's still one left, but this one fixes the situation where the object on the server is moving but no updates are being sent.
2009-11-21 04:33:34 -05:00
dahlia
8ae3df22a2
clean up some cruft
2009-11-11 11:10:42 -08:00
Justin Clark-Casey (justincc)
6d88c96e01
minor: remove mono compiler warning
2009-11-11 18:49:05 +00:00
dahlia
3e22bb24f5
add an overload to _SculptMesh for meshing from a list of coordinates
...
add conditional compilation for System.Drawing dependency
2009-11-09 18:44:03 -08:00
Justin Clark-Casey (justincc)
a88a463b50
Following various discussions on irc and in the OpenSim dev OSGrid meeting last week, change av_capsule_tilted to false by default
...
This appears to now give better ODE physics response (less sinking into the ground, etc.)
Please change it back if this is actually a bad idea for some reason
2009-11-09 19:26:42 +00:00
Justin Clark-Casey (justincc)
3274bc39c8
minor: remove some mono compiler warnings
2009-11-09 17:43:32 +00:00
Justin Clark-Casey (justincc)
af0e5d0974
Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim
2009-11-03 19:11:09 +00:00
Justin Clark-Casey (justincc)
1d737b010c
minor: remove some mono compiler warnings
2009-11-03 18:52:20 +00:00
dahlia
82554e9a89
Delete depricated extrusion methods and redirect to universal extrude method.
...
Sync with PrimMesher.cs r47 on forge.
2009-11-02 22:24:58 -08:00
John Hurliman
7132877075
* Log progress messages when loading OAR files with a lot of assets
...
* 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-29 01:46:58 -07:00