aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* On geom removal, remove the name from the OdeScene.geom_name_map tooJustin Clark-Casey (justincc)2011-08-011-0/+1
|
* remove the unused ODEPrim.prev_geom fieldJustin Clark-Casey (justincc)2011-08-011-3/+0
|
* When an ODE geom is removed (as when a non-phantom prim is deleted, resized ↵Justin Clark-Casey (justincc)2011-08-011-0/+2
| | | | | | 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
* refactor: centralize prim geom removal code from four places to oneJustin Clark-Casey (justincc)2011-08-011-26/+37
|
* minor: add note to RemovePrimThreadLocked() to the effect that it contrary ↵Justin Clark-Casey (justincc)2011-08-011-1/+1
| | | | to the summary, it is being called from within Simulate() lock (OdeLock)
* If a prim changes size or shape, add actor to _parent_scene.actor_name_map ↵Justin Clark-Casey (justincc)2011-08-011-1/+4
| | | | | | | | 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.
* Remove _mesh field since the mesh data no longer needs to be stored after ↵Justin Clark-Casey (justincc)2011-07-311-49/+16
| | | | | | 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.
* refactor: Remove argument to pass in an initial mesh to OdePrim since this ↵Justin Clark-Casey (justincc)2011-07-311-2/+1
| | | | | | 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.
* minor: correct method doc for last commitJustin Clark-Casey (justincc)2011-07-311-1/+1
|
* refactor: rename CreateGeom _mesh argument to mesh, so as to not confuse ↵Justin Clark-Casey (justincc)2011-07-311-3/+3
| | | | this with the pre-existing _mesh field
* minor: method docJustin Clark-Casey (justincc)2011-07-311-3/+20
|
* Refactor: Replace instances of m_isphysical with IsPhysical rather than have ↵Justin Clark-Casey (justincc)2011-07-301-33/+40
| | | | | | some code reference the private var and other the public var without any functionality difference. Add some method doc to IsPhysical
* refactor: Rename ODEPrim.ParentPrim() to AddChildPrim() for code readabilityJustin Clark-Casey (justincc)2011-07-301-11/+14
|
* minor: remove mono compiler warnings, some code spacing adjustmentsJustin Clark-Casey (justincc)2011-07-301-1/+1
|
* minor: Add method doc to collision subscription methods. Change method case ↵Justin Clark-Casey (justincc)2011-07-301-2/+2
| | | | to reflect OpenSim standards.
* Fix physics proxy regeneration when a mesh with more than one submesh is resizedJustin Clark-Casey (justincc)2011-07-161-0/+1
| | | | Addresses http://opensimulator.org/mantis/view.php?id=5584
* minor: remove whitespace to trigger another buildJustin Clark-Casey (justincc)2011-07-121-1/+0
|
* When a mesh object is added to a scene, delay adding the physics actor until ↵Justin Clark-Casey (justincc)2011-07-121-10/+11
| | | | | | 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.
* When a sculpt/mesh texture is received by a part on a callback request, ↵Justin Clark-Casey (justincc)2011-07-111-1/+2
| | | | | | | 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.
* comment out accidential ProcessTaints physics debug line left in codeJustin Clark-Casey (justincc)2011-07-111-1/+1
|
* minor: code tidy and inserted log lines for future use.Justin Clark-Casey (justincc)2011-07-091-18/+34
| | | | | | | | 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.
* minor: code tidy up - remove a couple of Console.WriteLine() accidentally ↵Justin Clark-Casey (justincc)2011-07-081-47/+15
| | | | added in the last commit
* minor: commented out log lines for future use and very small code tidyJustin Clark-Casey (justincc)2011-07-081-4/+6
|
* Formatting cleanup.Jeff Ames2010-10-041-4/+4
|
* Replace CalculateMass with a more accurate version, contributed by Ubit.Melanie2010-10-021-234/+219
| | | | Thank you.
* Add prim name to OdePrim Error and Warning messages.Justin Clark-Casey (justincc)2010-09-251-42/+45
| | | | This aims to make it easier to identify and remove rogue prims that are causing ODE to fall over.
* minor: remove some mono compiler warningsJustin Clark-Casey (justincc)2010-06-251-13/+13
|
* * Added a better check to the SimianGrid connectors to test if they are ↵John Hurliman2010-03-121-2/+2
| | | | | | enabled or not. This method should work equally well with standalone or robust mode * Applying #4602 from Misterblu to add collision detection to BulletDotNET
* Revolution is on the roll again! :)Revolution2010-02-141-0/+5
| | | | | | | | 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>
* Applying patch #4534 by Misterblue to fix ODE physics stickinessJohn Hurliman2010-02-041-0/+2
|
* Formatting cleanup. Add copyright headers.Jeff Ames2010-01-041-280/+282
|
* Glue code for a couple of new LSL function implementationsMelanie2009-12-221-0/+9
|
* * Fixes the 10x10x10 hard physics limitation. (wierdly, you have to set ↵Teravus Ovares (Dan Olivares)2009-12-031-0/+3
| | | | | | | 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'.
* * Fixes a case of d.BodyEnable with IntPtr.Zero passed as the parameter in ↵Teravus Ovares (Dan Olivares)2009-11-261-1/+4
| | | | 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.
* * Added missing lock to m_forcelist when AddForce is called. When a user ↵Teravus Ovares (Dan Olivares)2009-11-221-3/+26
| | | | | | 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.
* * Fixes the second of two terse update issues. Physical objects should react ↵Teravus Ovares (Dan Olivares)2009-11-211-0/+3
| | | | normally again.
* * Fixes one of two terse update issues. There's still one left, but this ↵Teravus Ovares (Dan Olivares)2009-11-211-1/+9
| | | | one fixes the situation where the object on the server is moving but no updates are being sent.
* Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2009-11-031-2/+2
|\
| * * Log progress messages when loading OAR files with a lot of assetsJohn Hurliman2009-10-291-2/+2
| | | | | | | | | | * 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
* | minor: remove some mono compiler warningsJustin Clark-Casey (justincc)2009-11-031-1/+1
|/
* Experimental change of PhysicsVector to Vector3. UntestedJohn Hurliman2009-10-261-137/+132
|
* No need to create dupe TriMeshData for ODE. A previous patch created a ↵Dan Lake2009-10-261-6/+14
| | | | dictionary to store unique meshes in Meshmerizer based on creation params. This patch contains a dictionary to map each of those unique meshes to its ODE TriMeshData. This eliminated hundreds of megabytes of memory consumption in the unmanaged heap when there are lots of the same prim (roof tiles, bricks, siding, decks, chairs, etc). The objects do not need to be physical to benefit from this patch.
* * Moved Copyrights above the comments in ODEPrim and ODEDynamics so they're ↵Teravus Ovares (Dan Olivares)2009-10-221-14/+15
| | | | consistent with the rest (and so chi11ken's auto copyright adding script doesn't duplicate the copyright.
* Commented out instrumentation in ODEPrim.csKittoFlora2009-10-221-0/+8
|
* Merge branch 'master' into vehiclesMelanie2009-10-191-2/+2
|\
| * Formatting cleanup.Jeff Ames2009-10-191-2/+2
| |
* | Merge branch 'master' into vehiclesMelanie2009-10-121-1/+1
|\ \ | |/
| * Optimize ODE mesh by removing sleep. On a region with 100,000 prims and ODE ↵unknown2009-10-121-1/+1
| | | | | | | | enabled, the first Heartbeat loop call to UpdatePhysics takes 20 minutes. 75% of that time is spent in this sleep. (100k prims * 10ms)
* | Merge branch 'master' into vehiclesMelanie2009-10-051-7/+6
|\ \ | |/
| * Eliminate pinned Mesh data on managed heap by using IntPtrs to memory ↵Dan Lake2009-10-051-7/+6
| | | | | | | | allocated on the unmanaged heap. This prevents fragmentation of the managed heap and the resulting stress on GC. A region with ~150,000 prims using ODE and Meshmerizer saw memory remain flat around 1.2GB as opposed to 1.5GB and continually growing due to pinned memory. This patch complements the unique mesh dictionary patch applied to Meshmerizer but is independent. The net effect is a 60-75% reduction in memory for our largest regions.