Robert Adams
48cfc6d089
BulletSim: implement llMoveToTarget by adding PIDActive, etc.
...
Implementation of non-vehicle hover but haven't tested it a lot.
Update TODO list.
2013-01-04 17:06:51 -08:00
Robert Adams
d0c7f7f050
BulletSim: add some features to the PID motor to make it more flexible.
2013-01-04 17:06:51 -08:00
Robert Adams
613f516007
BulletSim: convert avatar movement from a force to an impulse. Shouldn't
...
change functionality but removes an oddity in computing the force.
2013-01-04 17:06:50 -08:00
Robert Adams
2c6b269b6e
BulletSim: add initial implementation of llMoveToTarget and hover height.
...
Not all there yet.
2013-01-04 17:06:50 -08:00
Robert Adams
5432180027
BulletSim: reorganize motor code a little to pull together common functions.
...
Add BSFMotor.
2013-01-04 17:06:50 -08:00
Robert Adams
44492b3a49
BulletSim: add comments to force and impulse setting functions
...
so it is clear what Bullet is actually doing with the set values.
2013-01-04 17:06:49 -08:00
Robert Adams
92a6958b6d
BulletSim: fix problem where pre-step actions would not replaced
...
by new registrations thus causing multiple instances of an action.
2013-01-04 17:06:49 -08:00
Robert Adams
2eda385f5e
BulletSim: add ResetBroadphasePool and ResetConstraintSolver diagnostic
...
functions. If values set from console, the functions are called. Looking
for why the collision pools fill up with unnecessary stuff.
2013-01-04 17:06:48 -08:00
Robert Adams
aa236b2020
BulletSim: add parameter to have Bullet output performance statistics
...
every so many frames. Default to off.
2013-01-01 17:27:34 -08:00
Robert Adams
b14b65ea95
BulletSim: move selection of the unmanaged Bullet DLL from BSPlugin
...
into the unmanaged Bullet interface class.
2013-01-01 17:27:33 -08:00
Robert Adams
9d840fd2ee
BulletSim: move over and port the interface for BulletXNA.
...
Copied BulletSNPlugin.BulletSimAPI to a new
BulletSPlugin.BSAPIXNA.cs and then modifyed the latter to
comply with the BSAPITemplate definition. Not totally debugged
but the code is all there for an INI variable to select either
unmanaged C++ Bullet or the C# version of Bullet.
2013-01-01 17:27:33 -08:00
Robert Adams
0662d109c2
BulletSim: fix line endings.
2013-01-01 17:27:33 -08:00
Robert Adams
04132d3af4
BulletSim: subclass Bullet[World|Body|Shape|Constraint] for unmanaged
...
to have pointers and managed to have objects.
Initial paste of XNA code. Commented out.
2013-01-01 17:27:32 -08:00
Robert Adams
db3b6e8921
BulletSim: remove unused unmanaged memory reference functions from BSAPITemplate.
2012-12-31 19:57:26 -08:00
Robert Adams
6988b5ceaf
BulletSim: remove rigid body contruction functions from BSAPITemplate that relied on prebuilt construction info structures.
2012-12-31 19:57:25 -08:00
Robert Adams
9396ccc078
BulletSim: eliminate the use of the unmanaged HeightMapInfo structure.
...
Remove all related calls from the unmanaged and BSAPITemplate interfaces.
Update DLLs and SOs to include the version without HeightMapInfo structures.
2012-12-31 19:57:25 -08:00
Robert Adams
3d0fc70864
BulletSim: complete movement of BulletSimAPI functions to BSAPITemplate.
...
Update BulletSim DLLs and SOs with simplier step function interface.
2012-12-31 19:57:24 -08:00
Robert Adams
c2a7af18b6
BulletSim: nearly complete in conversion from BulletSimAPI to BSAPITemplate. Only initialization and debug fuctions left.
2012-12-31 19:57:23 -08:00
Robert Adams
5379d6d112
BulletSim: remove all the debug printing of pointer formatting (.ToString(X)) and replace it with a method on BulletBody, BulletShape, ...
2012-12-31 19:57:22 -08:00
Robert Adams
9218748321
BulletSim: another round of conversion: dynamics world and collision object functions.
2012-12-31 19:57:22 -08:00
Robert Adams
9fd0e1b080
BulletSim: add the implementation files for the two versions of Bullet:
...
unmanaged (C++) and managed (C#).
2012-12-31 19:57:21 -08:00
Robert Adams
48f718f39f
BulletSim: first round of conversion from direct BulletSimAPI interfacing by BulletSim core to using the BulletSimAPITemplate. Physical object creation and destruction first.
2012-12-31 19:57:21 -08:00
Robert Adams
203588e3c0
BulletSim: change physical data structures to classes. Add default
...
instantiations for PhysBody and PhysShape when BSPhysObject is created
to account for them being classes and not structures.
Update TODO list.
2012-12-31 19:57:21 -08:00
Robert Adams
28a8949b9f
BulletSim: remove check for small motor movement because, while it
...
did the right thing for stopping (speed reducing to zero), it prevented
movement from starting (speed increasing from zero). Will revisit
when the generalize PID motor is debugged.
2012-12-29 10:19:47 -08:00
Robert Adams
0538096fa3
BulletSim: an 'if' to suppress multiple setting of avatar orientation.
...
Looks like the viewer bombards the server with avatar orientation
information (we're talking several hundred a second) when the avatar
is being turned or when walking. This change just reduces the number
of 'set' calls into unmanaged code.
2012-12-29 08:32:57 -08:00
Robert Adams
db6c0363f0
BulletSim: tweeking avatar capsule code in an attempt to have
...
asymmetrical avatar capsule work now that rotation is being passed
from the simulator. Turns out the Bullet capsule is just not very
functional: it doesn't scale properly, the implementation only half
does asymmetry and, in general, is hard to work with.
Avatar shape is about what it was before these changes.
Added initial data structures for avatar shape mesh.
2012-12-29 08:03:57 -08:00
Robert Adams
7266eeca6e
BulletSim: add 'AvatarAlwaysRunFactor' parameter and use in setTargetVelocity
...
to implement the 'always run' feature.
2012-12-28 12:01:57 -08:00
Robert Adams
70e0a86601
BulletSim: fix problem of avatars appearing to walk through walls
...
by moving the movement motor to a pre-step action and out of its
questionable previous home in UpdateProperties.
2012-12-28 11:56:07 -08:00
Robert Adams
1f6aaad0b5
BulletSim: correct collision mask definition for linkset children.
...
Remove unused code. Add comments and TODOs.
2012-12-27 22:12:28 -08:00
Robert Adams
422f0fd6ec
BulletSim: fix physical object not interacting with static objects.
...
Another instance of the underlying Bullet doing, ah, helpful things
when items are added to the world.
2012-12-27 22:12:28 -08:00
Robert Adams
c1e7539c77
BulletSim: Parameterize nominal frame rate (55) and add parameters to dynamially turn on/off detailed, unmanaged data dumping of prims and vehicles.
2012-12-27 22:12:28 -08:00
Robert Adams
7a5f598399
BulletSim: move logic for IsColliding, CollidingGround and CollidingObj from individual sub-classes and up to parent BSPhysObject class.
2012-12-27 22:12:27 -08:00
Robert Adams
e57c0e6731
BulletSim: fix buoyancy so it's properly set by a script when an
...
object is selected.
Update TODO list.
2012-12-27 22:12:26 -08:00
Robert Adams
7230990679
BulletSim: fix odd code that wasn't really recomputing the mass of a
...
rebuilt linkset. I was burnt by making get/set methods with side
effects. I should know better.
2012-12-27 22:12:26 -08:00
Robert Adams
f3baed5827
BulletSim: add physical parameter min/max constants in BSParam. I just don't like raw numbers scattered around the code.
2012-12-27 22:12:25 -08:00
Robert Adams
e98e223927
BulletSim: complete applyImpulse function in BSCharacter (like I said
...
I did last time).
2012-12-27 22:12:25 -08:00
teravus
29cdf0f3dd
* Merges BulletSim Updates to BulletSimN(BulletSNPlugin)
2012-12-18 15:00:10 -05:00
Robert Adams
225b564573
BulletSim: scale the force for external AddForce by the simulation
...
step time so it will be applied completely the next step. The internal
AddForce routine does not scale the force.
2012-12-26 10:25:50 -08:00
Robert Adams
d1ede1df3a
BulletSim: make llBuoyancy work. For some reason, Bullet resets an
...
object's individual gravity to the world gravity when the object
is added to the physical world.
2012-12-25 23:55:25 -08:00
Robert Adams
5f71ee57c4
BulletSim: stop avatar from sliding VERY slowly after walking by
...
only zeroing the movement motor in the UpdateProperties routine.
2012-12-25 23:54:10 -08:00
Robert Adams
bbc5a5089f
BulletSim: Rename some of the interface structures (BulletWorld, ...)
...
to get ready for...
Start creation of BulletAPITemplate. This defines the abstract interface
functions. Following commits will move over to the new interface.
This will enable switching between the managed and unmanaged version of
Bullet.
2012-12-24 20:18:06 -08:00
Robert Adams
4759a8acee
BulletSim: Default avatar density changed to 3.5 which is WAY closer
...
to the SL value.
Fixed frictin values for physical materials which were just wrong
which caused things that should have slipped to not.
2012-12-24 20:16:10 -08:00
Robert Adams
80cee1b85a
BulletSim: Fix single physical prim reporting its mass as zero.
...
Properly return root mass as mass of just the root prim rather
than the mass of the linkset. SOG has the logic to add the masses
together to get the linkset mass.
Update TODO list.
2012-12-24 08:56:02 -08:00
teravus
9318870607
* Update BulletSimN terrain implementation to default to Heightfield, it's less CPU intensive.
2012-12-23 16:17:18 -05:00
teravus
92e4f9f412
* Initial commit of BulletSimN (BulletSNPlugin). Purely C# implementation of BulletSim. This is designed to be /as close as possible/ to the BulletSim plugin while still being entirely in the managed space to make keeping it up to date easy as possible (no thinking work). This implementation is /slower/ then the c++ version just because it's fully managed, so it's not appropriate for huge sims, but it will run small ones OK. At the moment, it supports all known features of BulletSim. Think of it like.. POS but everything works. To use this plugin, set the physics plugin to BulletSimN.
2012-12-23 15:21:25 -05:00
Robert Adams
30807b81cc
BulletSim: modify avatar motor code to make falling movement better. Clean up some usages. Disable motor when done.
2012-12-22 17:09:40 -08:00
Robert Adams
144322a7c9
BulletSim: remove post step one-time taints (doesn't make any sense). Rename pre and post step event invocation routines to Trigger* to be consistant. Remove old, unused code.
2012-12-22 17:07:52 -08:00
Robert Adams
16e49035f7
BulletSim: add Enabled parameter and operation to motors.
2012-12-22 17:06:13 -08:00
Robert Adams
5b2cbc0ae6
BulletSim: remove all special vehicle code from BSScene. Replace per-frame updates for vehicles with per-frame action registration. One fewer special case.
2012-12-21 23:24:31 -08:00
Robert Adams
a54392d7cc
BulletSim: remove the movement decay while flying. Made flying slow down over time.
2012-12-21 23:05:05 -08:00
Robert Adams
37fb691ba5
BulletSim: Fix llApplyImpulse so it works after the first impulse. The problem was Bullet deactivating the object between the pushes (when, as far as the physics engine is concerned, it isn't moving).
2012-12-21 23:03:27 -08:00
Robert Adams
3d659fe97d
BulletSim: add BSPhysObject code to manage registrations of preStep events. Use same to implement setForce and setTorque so the values are restored at the beginning of each step (since Bullet zeros forces applied last step). Simplify implementation of AddForce and AddTorque by relying on the addition of forces in Bullet.
2012-12-21 17:27:53 -08:00
Robert Adams
6dbf9c8ed4
BulletSim: repair vehicle problems introduced in previous 'improvements'. Fix line endings in BSParams.
2012-12-21 15:21:32 -08:00
Robert Adams
ae4d932e7f
BulletSim: Move all the parameter variables, tables and get and fetch logic to a separate, static class for easier addition and to remove all that bulk from the BSScene class.
2012-12-21 13:35:44 -08:00
Robert Adams
2e3e95e846
BulletSim: small fix to avatar movement motor use which keeps avatar from flying up forever. This doesn't fix the overall problem but keeps avatar flying from being totally unusable.
2012-12-21 10:04:12 -08:00
Robert Adams
8c99f63239
BulletSim: avatar movement smoothed with motor that modifies avatar velocity to target velocity. Fails in incorporating physical world effects (gravity) so avatar doesn't fly correctly.
2012-12-21 10:00:03 -08:00
Robert Adams
b4f8a05e9a
BulletSim: Better detail logging of VMotor actions.
2012-12-21 09:56:31 -08:00
Robert Adams
750492796d
BulletSim: begin movement of parameters from pinned memory block to variables all in managed code. Add note to TODO list to remember to do the rest. Other updates to TODO list.
2012-12-21 09:55:20 -08:00
Robert Adams
9d2f569d60
BulletSim: fix incorrectly defined property changed flag.
2012-12-20 16:06:52 -08:00
Robert Adams
e522bdb96a
BulletSim: Check for unspecified TimeScale in BSVMotor and don't scale if not specified. Add test dump routine. Don'e zero current and target values when error goes to zero as the values could be used externally to store the actual target values, etc.
2012-12-20 16:05:33 -08:00
Robert Adams
a5b2539cf9
BulletSim: replace use of funky nullable values for vehicle property update control (m_known* stuff). Bitmaps will be quicker to test and to clear.
2012-12-20 10:32:33 -08:00
Robert Adams
e73dac4deb
BulletSim: angularMotorUp working again (seems a little slow as it takes longer than timescale to correct, but getting better). Disabled angularDeflection (need to resolve interactions between angular corrections). Update TODO list.
2012-12-20 10:19:16 -08:00
Robert Adams
b7ad44e3a6
BulletSim: reorganize motor step code to separate error computation allowing subclass for PID error correction.
2012-12-20 08:35:36 -08:00
Robert Adams
a9b9c0f035
BulletSim: improve angularVerticalAttraction calculation to compute angular correction velocity rather than estimating correction (excuse to use trig functions).
2012-12-18 23:05:59 -08:00
Robert Adams
7b84bcfbb8
BulletSim: initial implementation of a PID motor. Not hooked up yet.
2012-12-18 22:59:59 -08:00
Robert Adams
cf89e29ac3
BulletSim: comments and TODO list update
2012-12-18 19:25:51 -08:00
Robert Adams
8653ea93b2
BulletSim: apply friction to linear and angular motion before returning advanced motor value. This seems to be the problem with BulletSim vehicles turning too quickly. Also removed the configuration parameter that controlled the timestep scaling kludge for angular velocity that was added to research the question of quick turning.
2012-12-17 13:51:39 -08:00
Robert Adams
11532a4390
BulletSim: fix vehicles going underground when unsat. Problem was that, when doing unsit, the order of operations on the prims and the vehicle is very chaotic and not in a good order so the root prim was being left physical and thus it fell for a bit. Also changed default of velocity scaling to be closer to the movement standard.
2012-12-17 13:22:04 -08:00
Robert Adams
021623a17d
BulletSim: fix vehicles being shot in the air at border crossings because of mis-application of correction to postion for below groundness.
2012-12-16 22:31:22 -08:00
Robert Adams
2b8efa24dd
BulletSim: add parameter to UpdateProperties call into the linkset so changes from the physics engine can be differentiated from changes made by the user. This eliminates a linkset rebuild loop. Also add logic to not rebuild or freak out when the object/linkset crosses a terrain boundry.
2012-12-16 21:19:13 -08:00
Robert Adams
3f2aaffd4d
BulletSim: add even more to the TODO list.
2012-12-16 21:19:13 -08:00
Robert Adams
7ed860d3ac
BulletSim: add check for border crossing in character position sanity check.
2012-12-16 21:19:12 -08:00
Robert Adams
4cbc5082ff
BulletSim: refactor to combine common terrain height testing code. Add function to test if a position is over known terrain.
2012-12-16 21:19:12 -08:00
Robert Adams
f3b1efd889
BulletSim: remove some errors on shutdown by moving terrain destruction until after physical object destruction. TerrainManager also made disposable and that feature used.
2012-12-16 21:19:11 -08:00
Robert Adams
ace1f1e931
BulletSim: rip out old code for linkset child position fetching. BulletSim doesn't need to do that bookkeeping because SOG/SOP already does it.
2012-12-16 21:19:10 -08:00
Robert Adams
664dad53dd
BulletSim: Add more to the TODO list. Clean up and improve some comments.
2012-12-13 23:08:01 -08:00
Robert Adams
469c6c000a
Return the last set targetVelocity rather than the current velocity as the default action made available in PhysicsActor.TargetVelocity. Doesn't change any physics operation but makes DSG work better as the targetVelocity value does not keep moving around.
2012-12-13 16:32:25 -08:00
Robert Adams
31d3952477
BulletSim: fix problem with continuious rebuilding of physical linksets. This caused movement problems and large prim vehicles to take up a LOT of simulation time.
2012-12-13 16:32:19 -08:00
Robert Adams
60950bfab5
BulletSim: correct line endings in new BulletSimData.cs file.
2012-12-13 16:32:12 -08:00
Robert Adams
3b2b785a46
BulletSim: Add 'BulletSimData' which separates structures created
...
for the operation of BulletSim and those defintiions/structures defined
so they can be used in the unmanaged world.
Consolidate setting of collision flags so implementation is not scattered.
2012-12-13 16:32:06 -08:00
Robert Adams
9e0dd9952b
BulletSim: remove extra linkset rebuilds.
2012-12-13 16:32:00 -08:00
Robert Adams
e1814aa827
BulletSim: fix problem of avatar's floating off the ground after unsitting. Reworked size/scale logic so physical scale is kept in Bullet and physObject scale is the preferred size -- usually same as size but avatars are computed differently.
2012-12-12 16:51:43 -08:00
Robert Adams
6f1f7f0206
BulletSim: non-functional commenting and reorganization of material attribute specifications.
2012-12-12 16:51:36 -08:00
Robert Adams
7bb5613dc6
BulletSim: updates and rearrangement of the TODO list.
2012-12-12 16:51:29 -08:00
Robert Adams
bb6eeb5429
BulletSim: do not return the current velocity for targetVelocity.
2012-12-12 11:01:36 -08:00
Robert Adams
a082ce9da7
BulletSim: fix crash caused by the creation of a linkset child that is under the terrain. Users can sure find some interesting corner conditions.
2012-12-11 14:27:09 -08:00
Robert Adams
d4e0e98c00
BulletSim: protect character property setting to remove crash from taints setting properties after the destroy character taint.
2012-12-11 13:54:26 -08:00
Robert Adams
63099184db
BulletSim: protect prim property setting to remove crash from taints setting properties after the destroy object taint has happened.
2012-12-11 13:42:23 -08:00
Robert Adams
905d7c43ad
BulletSim: modify LIMIT_MOTOR_UP to limit BOAT types to be at water rather than ground level. This makes boats float at water level better but not perfectly. There probably needs to be some interaction between HOVER and LIMIT_MOTOR_UP.
2012-12-11 00:35:16 -08:00
Robert Adams
8b861e880a
BulletSim: add ini file and command line parameters to control
...
dumping of physical vehicle parameters (out of Bullet) on each
simulation step and to optionally scale vehicle angular velocity
by the time step. The latter looks to be part of a difference
between angular parameters for ODE and BulletSim. SL docs say
angular velocity is measured in radians/timeScale. Not sure if this
is different than what ODE does.
2012-12-11 00:13:13 -08:00
Robert Adams
ebf30e7ba6
BulletSim: set mass for single prim linksets when going physical. This fixes single prim vehicles not working (the surf board now zooms).
2012-12-11 00:02:20 -08:00
Robert Adams
93393fb975
BulletSim: comment out some chatty debug logging. Rearrange some code in BSDynamics to make velocity vs force calculation clearer.
2012-12-10 16:46:12 -08:00
Robert Adams
9df85eadf4
BulletSim: Fix crash on the destruction of physical linksets.
...
While fixing the above, add methods to physical body and shape pointer
wrapper so routines won't have to know that IntPtr.Zero means no
physical instance.
Fix problem with physical linksets failing after a few sits and
unsits by properly restoring child prom positions for compound
linksets after multiple selection and deselections.
2012-12-10 15:35:53 -08:00
Robert Adams
a19896cc56
BulletSim: some comments about rebuilding linksets (having to recompute and restore a child's position in the world based on its position in the moved linkset).
2012-12-09 22:32:46 -08:00
Robert Adams
ce5083a504
BulletSim: adjust friction and restitution based on material type.
2012-12-09 22:32:46 -08:00
Robert Adams
04e64d73df
BulletSim: set material properties for static objects. Move Linkset.MakeStatic() after call to ForceActivationState2() since linkset might change activation state. Make BSPrim.CreateGeomAndObject public as linkset rebuilding might need access to it. Only rebuild prim if selection state is actually changes -- OpenSimulator calls PhysObject.Selected() multiple times whenever a prim is selected or deselected.
2012-12-08 09:14:40 -08:00
Robert Adams
216c121935
BulletSim: fix small problem with setting size/scale of native shapes which caused the native shapes to be rebuilt when not necessary.
2012-12-08 09:14:34 -08:00
Robert Adams
addb791f3d
BulletSim: update comments and add more to TODO list.
2012-12-08 09:14:28 -08:00
Robert Adams
7fd8202ae3
BulletSim: rewrite and improve vehicle angularDeflection, verticalAttraction,
...
linearMotorUp and related vehicle forces.
Fixed problems with downward vehicle position correction forces being too large.
Add vehicle collision flag so can sense whether vehicle is on the ground.
2012-12-06 09:31:12 -08:00
Robert Adams
edd1b353a5
BulletSim: update and add to the TODO list.
2012-12-06 09:31:05 -08:00
Robert Adams
18fe35906d
BulletSim: add detail logging detail flag so I don't have to comment and uncomment the detail logging when changing the depth of logged info.
2012-12-06 09:30:57 -08:00
Robert Adams
cc59e3cbdf
BulletSim: only check position sanity if the prim is physical -- the user can do anything dumb they wish.
2012-12-06 09:30:50 -08:00
Robert Adams
2ecd8e6720
BulletSim: add values for material friction and restitution. Fix line endings in material definition file.
2012-12-06 09:30:42 -08:00
Robert Adams
6d7f66f781
BulletSim: Don't add gravity to down force -- let Bullet do that. Add VehicleAddForce to set of managed vehicle prim properties.
2012-12-06 09:30:35 -08:00
Robert Adams
e599a8b242
BulletSim: Vehicle angular vertical attraction works. Other vehicle angular forces commented out for the moment for debugging.
2012-12-06 09:30:28 -08:00
Robert Adams
787636b97a
BulletSim: Reduce idle region physics overhead where there are MANY
...
static objects by more restrictive selection of objects that collide
with static objects.
Rename collision mask fuctions from 'filter' to 'group' so it is clear
what is being set.
Rename BulletSimAPI.SetCollisionFilterMask() to SetCollisionGroupMask to match above.
Restore passing of time step to linear and angular motion component routines.
Use buffering vehicle physical parameter get/set routines consistantly.
Make range enforcement clearer by using ClampInRange() function for parameter setting.
Remove commented out experimental vehicle calculations.
2012-12-03 16:25:51 -08:00
Robert Adams
41f1c5b7f7
BulletSim: rework angular corrections to remove any hybrid code and compute absolute collections.
2012-12-03 07:59:56 -08:00
Robert Adams
2586bab2dd
BulletSim: add stubs for generalization of preStep actions. Will eventually replace the specialized vehicle processing with preStep event processing. Add TODO comments about this feature. Redo line endings in TODO file to be all Linux.
2012-12-03 07:59:52 -08:00
Robert Adams
dc0497c1b8
BulletSim: begin tracking a TODO list. There just are so many things to remember to do.
2012-12-03 07:59:49 -08:00
Robert Adams
10fcc70b36
BulletSim: revert angular vertical attraction from motor to code. The motor code did not return the restoring difference but the current value. Remove unused commented out code.
2012-12-03 07:59:46 -08:00
Robert Adams
f9fed421fe
BulletSim: format vehicle detail logging messages so vehicle changs are grouped better in the log output.
2012-12-03 07:59:42 -08:00
Robert Adams
20c3ec7d92
BulletSim: localize vehicle property setting so the vehicle prim is only updated at the end of the vehicle simulation step and the push of the physics property update event only happens if the properties are actually changed.
2012-12-03 07:59:39 -08:00
Robert Adams
b124aae05e
BulletSim: Add DumpActivationInfo2 function. Change static objects from DISABLE_SIMULATION to ISLAND_SLEEPING. Update DLLs and SOs to add DumpActivationInfo2 function.
2012-12-01 15:39:13 -08:00
Robert Adams
ec63e4ff29
BulletSim: remove time scaling of computed vehicle absolute velocity since Bullet will scale the movement by the time slice. Restore LIMIT_MOTOR_UP to definitition of BOAT simce some vehicle engines use it even for land vehicles. Push vehicle parameter updates through the regular property update to solve vehicles floating off when they should be stopped.
2012-11-29 22:21:45 -08:00
Robert Adams
0bda35e18f
BulletSim: add copyright header where it is missing. Remove some unnecessary 'using' requirements so testing framework is less complicated.
2012-11-29 09:53:59 -08:00
Robert Adams
0cd99c74a7
BulletSim: add expanded call to IMesher/Meshmerizer which enables/disables mesh caching. Since BulletSim caches and tracks the unmanaged memory version of meshes, the Meshmerizer itself does not need to cache built meshes once BulletSim has made the physical proxy mesh.
2012-11-29 09:24:53 -08:00
Robert Adams
b8a7cbb9e9
BulletSim: reverse direction of hover correction. Removes problem with vehicles being orbited.
2012-11-29 08:03:30 -08:00
Robert Adams
2ccd4c1302
BulletSim: fix boats floating low by removing LIMIT_MOTOR_UP flag from TYPE_BOAT definition.
2012-11-28 09:48:48 -08:00
Robert Adams
0a66317fa6
BulletSim: move GetWaterLevelAtXYZ from BSScene to BSPhysTerrain.
2012-11-28 09:48:33 -08:00
Justin Clark-Casey (justincc)
aae76f7be4
Stop logging spurious asset data for {0} is zero length error for sculpts/mesh
...
ODEPrim, for instance, always hits this code path twice at the moment
Firstly before any sculpt data has been loaded (hence the spurious message)
Secondly when any sculpt data has been loaded or failed to load (when the message would be valid).
Hence comment this out and rely on the message in ODEPrim.MeshAssetReceived() instead
(though this is not ideal since it requires all physics plugins to copy/paste similar code).
2012-11-28 02:01:04 +00:00
Robert Adams
8e459a0346
BulletSim: reorganize linear movement routine into separate subroutines enabling external calibration routines and unit tests.
2012-11-27 10:04:00 -08:00
Robert Adams
a5100cafee
BulletSim: fix terrain mesh generation for problem with regions that have unequal edge heights. Thanks UBit.
2012-11-27 10:03:55 -08:00
Robert Adams
68fe7dff20
BulletSim: reorganize angular movement routine into separate subroutines enabling external calibration routines and unit testing.
2012-11-27 10:03:49 -08:00
Robert Adams
59554758b1
BulletSim: implementation of vertical attraction motor.
2012-11-27 10:03:44 -08:00
Robert Adams
9e0db36c82
BulletSim: add 'infinite' timescale that does not reduce motor target or friction.
2012-11-27 10:03:38 -08:00
Robert Adams
5685b33071
BulletSim: increase vehicle stability by suppressing Bullet's update to angular velocity.
2012-11-26 10:47:34 -08:00
Robert Adams
084e3926ca
BulletSim: use m_angularMotor to do the basic movement. Add the setting of same. Rename the angular forces and add comments to match MoveAngular to the form of MoveLinear.
2012-11-25 20:04:33 -08:00
Robert Adams
d7126a14e1
BulletSim: up the vehicle angular damping to 0.95. Still trying to overcome the movement added by Bullet.
2012-11-25 20:04:33 -08:00
Robert Adams
4c077a0694
BulletSim: organize MoveLinear code for understandability. Make LIMIT_MOTOR_UP contribution a velocity and not a force.
2012-11-25 20:04:32 -08:00
Robert Adams
f977131fe0
BulletSim: add ToString override to BSVMotor.
2012-11-25 20:04:32 -08:00
Robert Adams
319ec3235c
BulletSim: add BSVMotor as BSDynamics linear motor.
...
Properly limit *_MOTOR_DECAY_TIMESCALE to 120 as per specs.
Invode BSDynamics.Refresh() when vehicle type is changed. Previously
the vehicle properties weren't getting set because the physical
properties were set before the vehicle type was set.
Add a "use name" to BSMotors for identification while debugging.
Correct current and target confusion in BSVMotor design.
Rename CurrentValueReductionTimescale to FrictionTimescale.
Event more detailed logging.
2012-11-25 20:04:31 -08:00
Robert Adams
980edabc2e
BulletSim: clean up TODO list. It is kept somewhere wlse that should be more public. Add error logging for the detail log writer so a message is output when it cannot write to the specified logging directory. Modify friction defaults to be closer to ODE's values. Add new collision margin and vehicle angular damping parameters.
2012-11-25 20:04:29 -08:00
Robert Adams
9a42405944
BulletSim: small change to add position correction force with AddForce rather than just storing it in the variable
2012-11-25 20:04:28 -08:00
Robert Adams
22d5bf8ff9
BulletSim: complete vector motor. Correct line endings.
2012-11-25 20:04:28 -08:00
Robert Adams
d1480ac7ee
BulletSim: add terrain collision margin and vehicle angular damping
...
parameters to the parameter block.
New API call for setting collision margin.
2012-11-25 20:04:27 -08:00
Robert Adams
c3f30fef96
BulletSim: add parameter for terrain collision margin.
...
Add locking around unlikely but possible race conditions on terrain list.
2012-11-25 20:04:27 -08:00
Robert Adams
4ae30873ad
BulletSim: Add tables and initialization for different attributes for different materials. For the moment, the per material tables are not used.
2012-11-25 20:04:26 -08:00
Justin Clark-Casey (justincc)
22d4c52ffc
Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests
2012-11-24 03:15:24 +00:00
Melanie
3b2caa63b0
Rename BulletSim's PhysicsShapeType to BSPhysicsShapeType because it
...
conflicts with PhysicsShape type defined in later libOMV
2012-11-22 14:45:41 +00:00
Robert Adams
cbc7e7bf85
BulletSim: Make avatar capsule so it is not circular.
...
Simple attempt to make avatars better shaped.
Replace parameter 'avatarCapsuleRadius' with 'avatarCapsuleWidth'
and 'avatarCapsuleDepth'.
More tweeking to avatar height calculation. A little better but
short avatar's feet are above the terrain and tall avatar's feet
are a little below the ground.
2012-11-21 16:43:53 -08:00
Robert Adams
4a0de01704
BulletSim: Properly position mesh terrain on creation (fixes terrain not appearing to be working). Centralize terrain shape creation logic. Remove very chatty detail log messages.
2012-11-21 16:43:45 -08:00
Robert Adams
a59368c4a1
BulletSim: add terrainImplementation parameter with default to Mesh.
2012-11-21 16:43:37 -08:00
Robert Adams
2dc7e9d3fa
BulletSim: fix line endings to be all Linux style (windows style keeps creeping in)
2012-11-21 16:43:29 -08:00
Robert Adams
34cbc738a8
BulletSim: enablement and debugging of mesh terrain.
2012-11-21 16:43:21 -08:00
Robert Adams
71b9640dfa
BulletSim: pull heightmap implementation out of the terrain manager so a mesh terrain can be implemented.
2012-11-21 16:43:14 -08:00
Robert Adams
8dd5813889
BulletSim: rename SHAPE_AVATAR to SHAPE_CAPSULE with the eye to eventually having mesh avatars.
2012-11-21 16:43:06 -08:00
Robert Adams
65e55ada87
BulletSim: uplevel FixedShapeKey out of ShapeData structure (since it is getting simplified out of existance someday) and update all the references to same.
2012-11-21 16:42:58 -08:00
Robert Adams
d6db0d5740
BulletSim: uplevel PhysicsShapeType out of ShapeData structure (since it is getting simplified out of existance someday) and update all the references to that enum.
2012-11-21 16:42:50 -08:00
Robert Adams
4d29488216
BulletSim: change PositionSanityCheck to apply a force to correct position corrections (below ground and floating).
2012-11-21 16:42:42 -08:00
Robert Adams
2f5fe4b88e
BulletSim: tweek avatar capsule parameters so avatar feet don't go below ground. This solves the bouncing, short avatar problem (Mantis 6403).
2012-11-21 16:42:34 -08:00
Robert Adams
6c961d8add
BulletSim: Use base class constructors for initialization of BSShape and other classes.
2012-11-18 22:58:36 -08:00
Robert Adams
22be36be69
BulletSim: fix the problem with flying being disabled when crossing region boundries.
2012-11-18 22:57:26 -08:00
Robert Adams
079a1e704f
BulletSim: remove the obsolete interface to the Bullet code. Update BulletSim libraries with code stripped of the obsolete code.
2012-11-18 18:17:30 -08:00
Diva Canto
aeeaa3a0a9
Added AssemblyInfos to every dll in the OpenSim.Region namespace.
2012-11-14 11:09:43 -08:00
Diva Canto
e4cb7af98a
Updated all existing AssemblyVersions's to 0.7.5.*. Many DLLs still don't have an AssemblyInfo file.
2012-11-13 19:26:43 -08:00
Dan Lake
9bc0419679
ODECharacter overrides TargetVelocity. No change to existing behavior
2012-11-08 01:18:25 -08:00
Robert Adams
3666518319
BulletSim: add skeleton classes for shape objectification. This will eventually replace all the if's and switches in ShapeCollection with polymorphism.
2012-11-07 15:29:51 -08:00
Robert Adams
67d5dbbb49
BulletSim: add classes for physics motors. Eventually these will replace the manual code for vehicles and add PID functionality to avatar movement.
2012-11-07 15:28:06 -08:00
Robert Adams
ee00c5c885
BulletSim: many changes to tune vehicles for BulletSim.
...
The problem left is that the vehicle sitting on something needs
to press down for gravity and what its sitting on pushes up
so the vehicle does not penetrate. The effect is Bullet calculates
a lot of random angular motion for the vehicle. Various schemes
of damping and zeroing has not resolved the problem.
2012-11-06 18:16:47 -08:00
Robert Adams
76cc303031
BulletSim: Add ZeroAngularMotion method to physical objects. Add inTaint flag to ZeroMotion method. Update the references to those functions.
2012-11-06 18:16:35 -08:00
Robert Adams
e2130817e5
BulletSim: remove limit on taints that can happen before a step. Remove some debugging code (detail log flushing).
2012-11-06 18:16:23 -08:00
Robert Adams
f70a3099b5
BulletSim: recalculate the compound shape bounding box when built.
2012-11-06 18:16:12 -08:00
Robert Adams
702fd1e094
BulletSim: only compute linkset mass when membership changes rather than everytime someone asks for it.
2012-11-06 18:16:00 -08:00
Robert Adams
36d77fe27c
BulletSim: Add separate linear and angular damping function calls. Add function for recalculating compound shape bounding box.
2012-11-06 18:15:48 -08:00
Robert Adams
79f7c466a1
BulletSim: fix compound linkset crash by not freeing shape of child prims.
...
Remove all compilation warnings (mostly 'protected' in sealed classes.)
Add the dynamicAabbEnable parameter to creation of compound shapes.
2012-11-03 21:16:02 -07:00
Robert Adams
894bb4893b
BulletSim: search the mesh and hull lists to find shapes if type is not known. This makes sure the correct accounting is done for the particular shape.
2012-11-03 21:15:54 -07:00
Robert Adams
498ea76e63
BulletSim: Move construction of compound linkset from ShapeCollection
...
into LinksetCompound where it should be.
Create meshes for native shapes when part of a compound linkset because
scale is currently per object and not per collision shape.
Don't schedule a LinksetCompound refresh if just changing properties.
2012-11-03 21:15:46 -07:00
Robert Adams
1dc23b2b97
BulletSim: parameterize selection of linkset implementation
2012-11-03 21:15:39 -07:00
Robert Adams
b0eccd5044
BulletSim: debugging of compound shape implementation of linksets.
...
Add compound shape creation and freeing in shape manager.
Add optional taint-time execution method and update code to use it.
Add API2 linkage for more compound shape methods (get num, get/remove by index, ...)
Modify perferred shape return so linkset children can have differet shapes than root.
Add Position and Orientation calls to linksets so children can be moved around by
the linkset by its own calculation. Allows for very general linkset implementations.
2012-11-03 21:15:30 -07:00
Robert Adams
f53b4e7a21
BulletSim: Add RawPosition and RawOrientation to BSPhysObject and rename MassRaw to RawMass. Fix BSShapeCollection to use Raw* for creating the body to eliminate exception from referencing the physical body before it has been created.
2012-11-03 21:15:22 -07:00
Robert Adams
39c02dcc8c
BulletSim: Remove use of shapeData in ShapeCollection and rely on the available BSPhysObject varaiables. Fix line endings in BSLinksetCompound.
2012-11-03 21:15:14 -07:00
Robert Adams
364a7c3088
BulletSim: rename BSBody and BSShape to PhysBody and PhysShape. Add skeleton of BSLinksetCompound.
2012-11-03 21:15:06 -07:00
Robert Adams
28e2cd3fa2
BulletSim: vehicle tweeking.
...
Add AddTorque() method to BSPrim. Remove some manual motor actions
in computing angular force (will eventually be replaced with motor class).
Remove some experimental changes.
2012-11-03 21:14:58 -07:00
Robert Adams
52be581f71
BulletSim: remove center-of-mass setting for linksets because it causes the constraint calculation to pull the objects together.
2012-11-03 21:14:49 -07:00
Robert Adams
93fe384cce
BulletSim: Use the PostTaints operation to build the linkset once before the next simulation step. This eliminates the management of children vs taintChildren and simplifies the constratin creation code.
2012-11-03 21:14:41 -07:00
Robert Adams
42d65840c8
BulletSim: Add gravity force to vehicle. Some debugging additions.
2012-11-03 21:14:33 -07:00
Robert Adams
dae038a117
BulletSim: fix problem with multiple linksets stepping on each other if they are built at the same time.
2012-11-03 21:14:25 -07:00
Robert Adams
4cfa3be4ef
BulletSim: add definitions for linkset collision mask
2012-11-03 21:14:16 -07:00
Robert Adams
bc43c7007d
BulletSim: code rearrangement
2012-11-03 21:14:08 -07:00
Robert Adams
8c9e4c1f7b
BulletSim: Use Refresh/PostTaints to cause recomputing of constraint variables before the simulation step. Update logging and messages to properly name LinksetConstraints. Use UpdatePhysicalMassProperties to put the whole linkset mass into all the physical linkset members so they have the inertia to move the whole linkset.
2012-11-03 21:14:00 -07:00
Robert Adams
9568f24c26
BulletSim: add post taint taints and post step taints. The post taints operation is most useful and is used by linksets to build and rebuild only once before the simulation step.
2012-11-03 21:13:52 -07:00
Robert Adams
2f25f70316
BulletSim: remove unneeded parameter from Refresh().
2012-11-03 21:13:44 -07:00
Robert Adams
e20bad12cc
BulletSim: centralize mass/inertia computation with UpdatePhysicalMassProperties() function. Didn't add setMassRaw because assignment with side effect is dirty.
2012-11-03 21:13:35 -07:00
Robert Adams
7af28724ac
BulletSim: rename constraint classes so they show up together alphabetically.
2012-11-03 21:13:27 -07:00
Robert Adams
92d3c611e5
BulletSim: many small changes for vehicles simulation.
2012-11-03 21:13:19 -07:00
Robert Adams
2b75035aef
BulletSim: add ForEachMember(action) call for linkset.
2012-11-03 21:13:11 -07:00
Robert Adams
8fa83cf430
BulletSim: Add activations after vehicle properties change. Problem was the vehicle was going to sleep while waiting for commands. Make AddAngularForce work the same way as AddForce -- accumulates values and pushes them once into Bullet.
2012-11-03 21:13:03 -07:00
Robert Adams
b83449ae9a
BulletSim: correct spelling of Bullet call. It's 'swept' not 'sweep'.
2012-11-03 21:12:54 -07:00
Robert Adams
804b332d45
BulletSim: Add banking and other new code to vechile dynamics. Add third party license and contributor in for for Aurora-Sim project for physics code.
2012-11-03 21:12:46 -07:00
Dan Lake
ffe4d738fb
Add TargetVelocity to PhysicsActor interface to support distributed physics. No change to existing functions.
2012-10-31 17:13:18 -07:00
Justin Clark-Casey (justincc)
ff6c69000e
Log warning if mesh/sculpt asset couldn't be found by ODEPrim.MeshAssetReceived() callback.
...
Presumably this is now more useful if the false positive from the old method of loading mesh assets have been eliminated.
2012-10-30 01:40:59 +00:00
Justin Clark-Casey (justincc)
cccf695327
Add asset != null check to ODEPrim.MeshAssetReceived instead of throwing exception.
...
In some cases (such as failure to receive response from asset service), it is possible for a null to be returned from IAssetService.Get(string, object, AssetRetrieved).
2012-10-30 01:14:48 +00:00
Justin Clark-Casey (justincc)
37de965233
Make MeshAssetReceived private.
...
Keep methods private unless they need to be opened up to external callers. Reduces analysis complexity.
2012-10-30 01:08:00 +00:00
Justin Clark-Casey (justincc)
aeeed29d62
correct ODEPrim.MeshAssetReveived -> MeshAssetReceived
2012-10-30 01:07:14 +00:00
Robert Adams
b6fc5bad00
BulletSim: fix problem with avatars sinking into the ground.
...
Change terrain activation state to DISABLE_SIMULATION for better performance.
2012-10-23 17:30:43 -07:00
Robert Adams
b49f8a377b
BulletSim: minor change to insure avatar body recreation when shape changes.
2012-10-23 08:02:26 -07:00
Robert Adams
36bfd3667c
BulletSim: remove chatty debug message.
2012-10-22 22:25:06 -07:00
Robert Adams
14eeb8b31b
BulletSim: fix bug that caused error (and a crash on 32 bit Linux) when mesh assets weren't already in the cache. Comment cleanups.
2012-10-22 22:24:59 -07:00
Robert Adams
7272a4cae8
BulletSim: fix problem of not rebuilding shape by clearing last rebuild failed flag in BSPrim.ForceBodyShapeRebuild()
2012-10-22 22:24:51 -07:00
Robert Adams
65c131c4a3
BulletSim: remove trailing spaces to make git happy.
2012-10-22 22:24:44 -07:00
Robert Adams
c245178eee
BulletSim: encorporate UBit's suggestion to save a copy of mesh raw data.
2012-10-22 22:24:37 -07:00
Robert Adams
a61f20ac74
BulletSim: Create LinkSet abstract class and sparate constraint based linksets into own subclass. Will eventually add manual movement linkset subclass.
2012-10-22 22:24:30 -07:00
Justin Clark-Casey (justincc)
5bc07a15f5
minor: remove unnecessary bit of method doc from OdePrim.BadMeshAssetCollideBits that monodevelop inserted automatically
2012-10-20 02:52:38 +01:00
Justin Clark-Casey (justincc)
d2b19f00da
Fix minor issues from commit 28483150
...
Fix spelling of collide, change to more self-documenting property BadMeshAssetCollideBits, add method doc, change to private to reduce code analysis complexity
2012-10-20 02:49:16 +01:00
Robert Adams
d94c4646cc
BulletSim: add asset fetching so BulletSim works with new physics asset handling.
...
Refactor some names to make them available for the asset tracking and fetching.
2012-10-19 15:43:31 -07:00
Robert Adams
f422b9b388
BulletSim: reorder avatar collision checking to eliminate double collision_end.
...
Various tweekings to avatar shape/mass/inertia/etc.
Remove change from avatar radius to diameter. But still the avatar sinks.
Collision_end now happens immediately rather than at the next subscription time.
2012-10-19 10:52:31 -07:00
Robert Adams
e87a179c89
BulletSim: change nonimal physics frame rate to 55 to give same numbers as ODE.
...
Change character scaling to represent size of capsule (diameter rather than radius)
Modify create capsule call to pass radius and height.
Eliminate errors when calculating shape inertia (should have some type checking).
2012-10-19 10:52:23 -07:00
Robert Adams
fc33afddd3
BulletSim: remove code in ShapeCollection that hinted at shape sharing.
...
Add new function to ParameterDefn for calling BulletSimAPI to set values.
Tweaking to BSCharacter parameter setting to try and have avatars stand.
2012-10-19 10:52:14 -07:00
Robert Adams
eaccfa6d99
BulletSim: Fix small problems with last patch: BSScene.World properly initialized and setting of C++ parameters commented out. Comments and logging added.
2012-10-19 10:52:06 -07:00
Robert Adams
fd7a097849
BulletSim: Update BSCharacter to use API2 interface.
...
Add capsule shape to BSShapeCollection().
Remember last updated values so inter frame diffs can be computed.
Parameterize avatarStandingFriction and reduce to 10 from 999.
The latter high value made avatars very hard to push.
Set CCD parameters for prims and characters of specified.
2012-10-19 10:51:58 -07:00
UbitUmarov
28483150e2
[UNTESTED] core Ode: let broken mesh physical prims collide with land as
...
the defaul basic box so they don't go off world.
2012-10-19 01:19:48 +01:00
UbitUmarov
b058ba5859
[UNTESTED] core Ode: stop trying to load a broken asset. Make broken
...
assets behave like phantom by Nebadon request
2012-10-19 00:30:48 +01:00
UbitUmarov
de44e93aa2
missing changed file
...
Signed-off-by: Melanie <melanie@t-data.com>
2012-10-18 20:58:34 +01:00
UbitUmarov
1e7fb2dc36
i update core ode plugin and make it load is meshs (i hope)
...
Signed-off-by: Melanie <melanie@t-data.com>
2012-10-18 20:58:12 +01:00
Robert Adams
8c40215834
BulletSim: only use native sphere shape if it is a sphere.
2012-10-12 07:41:31 -07:00
Robert Adams
87a87ebb9a
BulletSim: fix problem with some shapes (like cylinders) being implemented as cubes.
2012-10-11 17:37:27 -07:00
Robert Adams
b24190ec98
BulletSim: remove some unused API2 calls because they were removed from Bullet 2.81
2012-10-11 14:01:29 -07:00
Robert Adams
5b82f18d64
BulletSim: normalize physics FPS to 45 (for real this time).
2012-10-11 14:01:25 -07:00
Robert Adams
a86fedd25f
BulletSim: normalize physics FPS to 45.
2012-10-11 14:01:22 -07:00
Robert Adams
3a458e2a36
BulletSim: Use full linkset mass when computing vehicle gravity force. Add taint-time specification to new AddForce().
2012-10-11 14:01:18 -07:00
Robert Adams
919569f6ec
BulletSim: Change defaults for constraint CFM and ERP to make large linksets more rigid. Remove mass calculation for terrain (it should stay a static object).
2012-10-11 14:01:14 -07:00
Robert Adams
a791620622
BulletSim: cosmetic changes (comments and renaming). Give mass to terrain to improve interactions.
2012-10-11 14:01:10 -07:00
Robert Adams
68698975f1
BulletSim: Add Force* operations to objects to allow direct push to engine.
...
Update BSDynamics to use same (don't want to delay updates til next taint-time.
Suppress queuing a taint update for position and orientation calls if value
does not change.
Move Bullet timing statistics call from C# back to C++ code.
Throttle taints per simulation step and add parameter to set.
By default, don't create hulls for physical objects. Add a
parameter to turn on and off.
2012-10-11 14:01:07 -07:00
Robert Adams
87825b0abe
BulletSim: Fix crash when linking large physical linksets.
...
Properly remove and restore linkage constraints when upgrading
a prim's mesh to a hull.
Lots more debug logging.
Definitions and use of Bullet structure dumping.
Centralize detail logging so a Flush() can be added for debugging.
2012-10-11 14:01:03 -07:00
teravus
7e90ea3551
av_av_collisions_off = false OdePhysics Settings in OpenSimDefaults.ini - No Avatar Avatar Collisions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment.
2012-10-09 10:41:16 -04:00
teravus
764270a0d8
Add config option to plant avatar where they are reducing avatar avatar 'pushability' av_planted see OpenSimDefaults.ini. Use when you have unruly visitors that rudely push each other around. Still allows a small amount of movement based on the avatar movement PID controller settings. You can increase the spring tension in the PID controller and really prevent any movement if you would like.
2012-10-09 09:26:11 -04:00
teravus
a2ab3b88de
Soliciting for comments on smoothness of physics objects for this build.
...
This introduces expected contact point hints to the ODE Collider to better determine when to throttle updates as excessive. This /should/ smooth physics objects out again, however, I cannot know every configuration of OpenSimulator, so I'm requesting that testers please examine this change on their build.
Thanks!
2012-10-03 18:30:44 -04:00
teravus
e56ef2720e
I propose that 0.5m/step change for linear velocity is too big of a change to control the reporting of a new angular velocity. I think that this could be here for one of two reasons, 1. vehicles and llMoveToTarget with axis lock, or 2. To attempt to make things look more stable in the physics scene then they really are, however, this also really affects the angular velocity reporting negatively causing things to spin wildly and jump back into place repeatedly. To compromise, if the prim is a vehicle or is being used as a motor target, the original functionality is still applied. If that's not the case, angular velocity is reported with a linear velocity of 0.02m/step. To be clear on the effect of the physical world... When you push things, there's still a lag time where you walk into the object but once the object is in motion, it begins to move as you would expect so results in slightly more realistic motion.
2012-10-03 02:30:23 -04:00
teravus
df3d1d1301
Minor Modification, switch /2 to 0.5f in ODEPrim.Velocity
2012-10-02 23:14:35 -04:00
Robert Adams
210f227fe6
BulletSim: Make parameter value defaults match what should be the default and what is in OpenSimDefaults.ini. Comment and debug printout changes.
2012-10-02 11:14:15 -07:00
Robert Adams
ce47d0c454
BulletSim: Add ForcePosition and ForceOrientation to BSPhysObject and to its children of BSPrim and BSCharacter.
2012-10-02 11:14:09 -07:00
Robert Adams
d8a786870b
BulletSim: Fix problem where box shapes were not being rebuilt if the shape type changed.
2012-10-02 11:14:03 -07:00
Robert Adams
ce97ebdc88
BulletSim: Fix linkset problem where delayed manipulations of child objects was using the child shape address at call time rather than the one created at taint time.
2012-10-02 11:13:57 -07:00
Robert Adams
b6b505163c
BulletSim: call ForcePosition and ForceOrientation in BSDynamics so there is no lag between what the vehicle code sees and what the physics engine is using.
2012-10-02 11:13:51 -07:00
Robert Adams
f2c78281ce
BulletSim: fix the FloatOnWater code so avatars can normally go underwater.
2012-10-02 11:13:39 -07:00
Robert Adams
33617e09a1
BulletSim: impliment FloatOnWater OS function.
2012-10-02 11:13:32 -07:00
Robert Adams
c1740a2903
Correct my name in CONTRIBUTORS.txt
2012-10-02 11:13:26 -07:00
Robert Adams
5221f2421e
BulletSim: remove warnings for unused variables.
2012-10-02 11:13:20 -07:00
Robert Adams
76e9cc41bd
BulletSim: remember to release the physical body and shape when a prim is destroyed. This fixes many problems with physical linksets.
2012-09-28 12:34:50 -07:00
Robert Adams
6f89975526
BulletSim: add separate runtime and taint-time linkset children lists to keep the creation of constraints separate from runtime.
2012-09-27 22:02:13 -07:00
Robert Adams
74dea4cfd5
BulletSim: rename some constraint variables to be consistant with other name use.
...
Added callbacks for shape and body changes in GetBodyAndShape() so the linkset
constraints can be picked up and restored. A better design might be to have
a "prim shape changed" event. Think about that.
Added constraint types to general constraint class.
2012-09-27 22:02:08 -07:00
Robert Adams
7b65985047
BulletSim: remove the trailing spaces from lines to make git happier
2012-09-27 22:02:03 -07:00
Robert Adams
5781d4d52d
BulletSim: remove the unused body management code from BSPrim. There is no going back now.
2012-09-27 22:01:57 -07:00
Robert Adams
f82b903dee
BulletSim: Fix linkset crash. Caused by the different body and shape
...
pointers at runtime and at taint-time. Now passes the body into the
taint.
Vehicles zero inertia when active to eliminate Bullet's contribution
to vehicle motion.
2012-09-27 22:01:52 -07:00
Robert Adams
4589bc84a3
BulletSim: Terrain sets proper collision flags on creation.
...
Static objects are set to ISLAND_SLEEPING rather than DISABLE_SIMULATION.
Might reconsider this and, alternatively, have dynamic objects force activation.
Clean up use of DetailLog().
2012-09-27 22:01:47 -07:00
Robert Adams
735d89e369
BulletSim: btGhostObjects working to make 'volume detect' work.
...
Rearrangement and cleanup of shape collection code. Much more readable.
Enabling and use of collision filters and masks.
Addition of ID to body creation BulletSimAPI calls so always set in
shape for collision reporting.
Change default of ShouldSplitSimulationIslands and ShouldRandomizeSolverOrder
from 'false' to 'true'. When 'false', this suppresses NO_CONTACT_RESPONSE
which makes volume detect fail.
2012-09-27 22:01:42 -07:00
Robert Adams
d016051fa0
BulletSim: renamed members of BulletShape, BulletSim and BulletBody
...
so the members case is consistant. Caused modifications everywhere.
New logic in BSShapeCollection to track use and sharing of shapes.
I just reslized, though, that shapes cannot be shared because the
shape's UserPointer is the localID of the prim and is required
for tracking collisions. More changes coming.
Added DuplicateCollisionShape2() to API and changed BuildNativeShape2
to take a ShapeData structure so don't have to pass so many parameters.
This matches the latest version of BulletSim.dll.
Additions and removal of DetailLog() statements for debugging.
2012-09-27 22:01:37 -07:00
Robert Adams
42802669dd
BulletSim: fix regression that caused cylindar shapes to have a box collision shape
2012-09-27 22:01:31 -07:00
Robert Adams
22290ef35a
BulletSim: complete code for managed code shape and body tracking. Not debugged.
...
Eliminate some null exceptions created adding the above code.
Add and remove some detailed logging statements.
2012-09-27 22:01:26 -07:00
Robert Adams
a27e4ce6cb
BulletSim: add class and infrastructure for shape and object
...
tracking in the C# code. Needed for the changing body type
(to and from GhostObjects) for volumeDetect.
2012-09-27 22:01:21 -07:00