aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSNPlugin/BSTerrainMesh.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-11-03Initial update to OpenSim 0.8.2.1 source code.David Walter Seikel1-267/+0
2012-12-23* Initial commit of BulletSimN (BulletSNPlugin). Purely C# implementation ↵teravus1-2/+2
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-21BulletSim: Move all the parameter variables, tables and get and fetch logic ↵Robert Adams1-3/+3
to a separate, static class for easier addition and to remove all that bulk from the BSScene class.
2012-12-13BulletSim: Add 'BulletSimData' which separates structures createdRobert Adams1-3/+2
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-10BulletSim: Fix crash on the destruction of physical linksets.Robert Adams1-3/+3
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-03BulletSim: Reduce idle region physics overhead where there are MANYRobert Adams1-2/+2
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-11-28BulletSim: move GetWaterLevelAtXYZ from BSScene to BSPhysTerrain.Robert Adams1-1/+7
2012-11-27BulletSim: fix terrain mesh generation for problem with regions that have ↵Robert Adams1-6/+16
unequal edge heights. Thanks UBit.
2012-11-25BulletSim: add parameter for terrain collision margin.Robert Adams1-4/+0
Add locking around unlikely but possible race conditions on terrain list.
2012-11-22Rename BulletSim's PhysicsShapeType to BSPhysicsShapeType because itMelanie1-1/+1
conflicts with PhysicsShape type defined in later libOMV
2012-11-21BulletSim: Properly position mesh terrain on creation (fixes terrain not ↵Robert Adams1-37/+9
appearing to be working). Centralize terrain shape creation logic. Remove very chatty detail log messages.
2012-11-21BulletSim: fix line endings to be all Linux style (windows style keeps ↵Robert Adams1-284/+284
creeping in)
2012-11-21BulletSim: enablement and debugging of mesh terrain.Robert Adams1-9/+220
2012-11-21BulletSim: pull heightmap implementation out of the terrain manager so a ↵Robert Adams1-64/+73
mesh terrain can be implemented.
2009-08-11Split BasicPhysics classes into separate files.Jeff Ames1-415/+1
2009-08-07This is the second part of the 'not crash on regionsize changes'. This ↵Teravus Ovares (Dan Olivares)1-2/+2
lets you configure region sizes to be smaller without crashing the region. I remind you that regions are still square, must be a multiple of 4, and the Linden client doesn't like anything other then 256. If you set it bigger or smaller, the terrain doesn't load in the client, the map has issues, and god forbid you connect it to a grid that expects 256m regions.
2009-07-19* Created a way that the OpenSimulator scene can ask the physics scene to do ↵Teravus Ovares1-0/+1
a raycast test safely. * Test for prim obstructions between the avatar and camera. If there are obstructions, inform the client to move the camera closer. This makes it so that walls and objects don't obstruct your view while you're moving around. Try walking inside a hollowed tori. You'll see how much easier it is now because your camera automatically moves closer so you can still see. * Created a way to know if the user's camera is alt + cammed or just following the avatar. * Changes IClientAPI interface by adding SendCameraConstraint(Vector4 CameraConstraint)
2009-06-01Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames1-1/+1
LICENSE.txt.
2009-04-19Keep IsColliding updated for the recent changes in ScenePresence so that ↵idb1-0/+3
walk/stand animations will get used instead of just falling
2009-03-06Fixes Mantis #3260. Thank you kindly, MCortez for a patch that:Charles Krinke1-0/+8
llSetHoverHeight() should not clamp the x/y position of an object the way MoveTo does, and it should recalculate the absolute height to hover at as an object moves to reflect the current ground/water height under it. Correctly implementing required adjusting the Physics interfaces and implementing at the physics plug-in level. The attached is a patch that correctly implements llSetHoverHeight() including updates to the ODE physics plug-in.
2009-02-15This started as way to correct Mantis #3158, which I believe should be fixed ↵diva1-1/+2
now. The flying status was temporarily being ignored, which caused the avie to drop sometimes -- there was a race condition. In the process it also fixes that annoying bug in basic physics where the avie would drop half-way to the ground upon region crossings (SetAppearance was missing). Additionally, a lot of child-agent-related code has been cleaned up; namely child agents are now consistently not added to physical scenes, and they also don't have appearances. All of that happens in MakeRoot, consistently.
2008-12-17* remove mono compiler warningsJustin Clarke Casey1-2/+2
* should work - the last compile failure looks like a random glitch...
2008-12-15* Apply http://opensimulator.org/mantis/view.php?id=2775 with small tweaksJustin Clarke Casey1-3/+6
* This pushes an identifier for the OpenSim scene to the physics scene. This allows log messages from the physics scene to identify which OpenSim scene they relate to. * Thanks Gerhard
2008-12-14* Implements the torque/Rotational Impulse methods in the PhysicsAPI and the ↵Teravus Ovares1-0/+10
ODEPlugin and pipes them to their respective LSL method. * NBody will need to be updated, this is an API change. Torque property and AddAngularForce
2008-12-09* Gerhard's patch m2781. Does some initial work for setting up llVolumeDetect.Teravus Ovares1-0/+5
* Warning! Physics API change. This means that the NBodySimulation needs to be updated! * PhysicsActor -> void SetVolumeDetect(int) needs to go into classes that use PhysicsActor as their base class.
2008-12-01Remove duplicated avatar height calculation in lsl functions.idb1-4/+8
Use height calculation in Basic Physics and Physics of Simplicity so that avatars larger than the default walk with straight legs and shorter walk on the ground.
2008-11-20* Add enough infrastructure code to run an extremely basic and flaky add ↵Justin Clarke Casey1-1/+1
root agent scene test
2008-09-28Implement the plumbing for llSetVehicleType from the LSLCharles Krinke1-0/+6
subroutine down through the physics modules through PhysActor and SceneObjectPart. No connection to the physics simulators.
2008-09-28Added the plumbing for llSetVehicleRotationParamCharles Krinke1-0/+5
in the classes between the LSL implementation and the underlying physics engines.
2008-09-28Plumb the connection though from llSetVehicleVectorParamCharles Krinke1-4/+8
to the various physics engines. No connection to the underlying physics simulator yet, just plumbing through the various classes.
2008-09-28Plumb the connection through from llSetVehicleFloatParamCharles Krinke1-0/+6
to the various physics engines. No connection to the underlying physics simulator yet, just plumbing through the various classes.
2008-09-06* This is the fabled LibOMV update with all of the libOMV types from JHurlimanTeravus Ovares1-1/+1
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle. * This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big! * Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
2008-08-18Formatting cleanup.Jeff Ames1-1/+1
2008-07-24Implements llSetForce() and llGetForce(). These are experimental and the ↵Dahlia Trimble1-0/+1
units may not match the Linden implementation.
2008-05-25* Adds Top Colliders when using ODE. Access it from the estate tools/debug tab.Teravus Ovares1-0/+6
2008-05-14* Refactored IConfigSource into Physics plug-ins and Scene. We can get rid ↵Teravus Ovares1-1/+2
of some of the parameters we pass to it's constructor now like, 'm_allowPhysicalPrim', 'seeIntoOtherRegions', etc.. so on * The main purpose of this is to provide configuration options for ODE and other physics plug-ins that are advanced enough to be able to be configured.
2008-05-06* If you llApplyImpulse on an attachment, it applies impulse on the avatar, ↵Teravus Ovares1-1/+1
not the attachment.
2008-05-03* Committing some collision stuffs that I'm working on.Teravus Ovares1-0/+12
* Nothing user facing yet.
2008-04-23* Adds llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z,TF)Teravus Ovares1-0/+5
* Currently if you apply that to only one or two axis you get unpredictable and sometimes explosive results. * Three axis works well enough to play with it anyway. More work is needed here. * Fixed an incorrectly named method in ODE.NET
2008-03-25* Adds llMoveToTarget and llStopMoveToTarget support to the ODEPlugin.Teravus Ovares1-0/+3
* It doesn't generate at_target events, because they don't exist yet in the script engine. * The Tau is different, however, compatible with scripts I tested. * Not perfect... but pretty good.
2008-03-18Formatting cleanup.Jeff Ames1-30/+30
2008-03-10ODEPluginTeravus Ovares1-0/+5
* Added osSetPrimFloatOnWater(BOOL) to make Physical prim float at the water level. * osSetPrimFloatOnWater(TRUE); or osSetPrimFloatOnWater(FALSE); * By default, prim do not float at the water level. * More work is needed on the floating, but it's a start.
2008-03-10* Added ODEPlugin Support for llSetBuoyancy. Set Buoyancy to 1 for space prim.Teravus Ovares1-0/+11
* Added WaterLevel support to the ODEPlugin. More on this later.
2008-03-02* This is a very icky implementation of physical linkset prim using fixed ↵Teravus Ovares1-0/+8
joints. This will change quite drastically, however it's fun to play with. * To play with this you must link your prim before setting it physical, otherwise they won't link in the physics engine properly. This will also be fixed. * Currently the linked prim are extremely unstable because I have yet to implement combining of forces with the same normal. This will also be fixed. In fact, the whole PhysicsActor, ODEPrim relationship will be reworked to consider groups from the get-go. * This implementation is better then it crashing your sim, so I'm commiting it for now.
2008-02-23* Added Support within the ODEPlugin for Selected. Which means that;Teravus Ovares1-0/+5
* When you select a physical prim, it stops while you've got it selected. * When you move or alter a prim in some manner, it doesn't become collidable until you de-select it * When you select a prim, it doesn't become temporarily 'phantom' until you make some change to it while it's selected. (this prevents accidental selections in prim floor from causing it to go phantom on you(but don't move it or you'll fall)) * There's one major difference, and that's a physical object won't stop if you don't have permission to edit it. This prevents people who don't have edit permissions on a prim from stopping it while it's moving.
2008-02-18ODE: Tired of floating above the ground after crossing a border? Boy have I ↵Teravus Ovares1-1/+1
got a solution for you! For a limited time, you can be the right height after border crossings automatically. Just three easy payments of $9.95 and make sure your neighbor is sending child agent updates!
2008-02-17* Located and destroyed the weird velocity and rotation transfers. It ↵Teravus Ovares1-0/+6
turned out to be that the Static PhysicsVector.Zero was transferring velocities between all non fixed objects. Not so static after all :(. Finding it was cruel and unusual punishment from the CLR. * Therefore, when you run through a pile of prim you won't see things rotate when they're not supposed to anymore. * Avatars don't float off either.
2008-02-14* Made new Framework.Constants class, added RegionSize member.Adam Frisby1-4/+4
* Converted all instances of "256" spotted to use RegionSize instead. Some approximations used for border crossings (ie 255.9f) are still using that value, but should be updated to use something based on RegionSize. * Moving Terrain to a RegionModule, implemented ITerrainChannel and TerrainModule - nonfunctional, but will be soon.
2008-02-13* Bigish ODE stability Update. Run PrebuildTeravus Ovares1-0/+4
2008-02-13* Made physical prim stable enough for the general population to turn on. ↵Teravus Ovares1-0/+5
(though I still don't recommend it for welcome regions unless object build is off. * Updated the ode.dll for windows with a more reasonable stack space reserve. Linux users will need to type ulimit -s 262144 before starting up OpenSimulator if using Physical Prim to protect against stack collisions. or run the included ./bin/opensim-ode.sh to start up OpenSimulator in ODE mode. * Added internal collision score and am keeping track of 'high usage' prim. * Tweaked collisions some more * Tested up to 460 physical prim in extremely close quarters (which was previously impossible in OpenSim). After 460 in tight quarters, physics slows down enough to make it hard to do any moving, however.. non physics things still work, such as logging on to the simulator, etc.