aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-08-01When an ODE geom is removed (as when a non-phantom prim is deleted, resized ↵Justin Clark-Casey (justincc)1-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
2011-08-01refactor: centralize prim geom removal code from four places to oneJustin Clark-Casey (justincc)3-43/+48
2011-08-01minor: add note to RemovePrimThreadLocked() to the effect that it contrary ↵Justin Clark-Casey (justincc)2-1/+4
to the summary, it is being called from within Simulate() lock (OdeLock)
2011-08-01If a prim changes size or shape, add actor to _parent_scene.actor_name_map ↵Justin Clark-Casey (justincc)1-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.
2011-08-01minor: indentation correctionJustin Clark-Casey (justincc)1-17/+13
2011-07-31Remove _mesh field since the mesh data no longer needs to be stored after ↵Justin Clark-Casey (justincc)1-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.
2011-07-31refactor: Remove argument to pass in an initial mesh to OdePrim since this ↵Justin Clark-Casey (justincc)2-27/+5
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-31minor: correct method doc for last commitJustin Clark-Casey (justincc)1-1/+1
2011-07-31refactor: rename CreateGeom _mesh argument to mesh, so as to not confuse ↵Justin Clark-Casey (justincc)1-3/+3
this with the pre-existing _mesh field
2011-07-31minor: method docJustin Clark-Casey (justincc)2-4/+20
2011-07-30Refactor: Replace instances of m_isphysical with IsPhysical rather than have ↵Justin Clark-Casey (justincc)1-33/+40
some code reference the private var and other the public var without any functionality difference. Add some method doc to IsPhysical
2011-07-30refactor: Rename ODEPrim.ParentPrim() to AddChildPrim() for code readabilityJustin Clark-Casey (justincc)1-11/+14
2011-07-30minor: remove mono compiler warnings, some code spacing adjustmentsJustin Clark-Casey (justincc)3-7/+8
2011-07-30minor: Add method doc to collision subscription methods. Change method case ↵Justin Clark-Casey (justincc)3-7/+26
to reflect OpenSim standards.
2011-07-30refactor: extract method that generates a physics mesh from prim shape dataJustin Clark-Casey (justincc)1-117/+141
2011-07-30refactor: extract code which generate points and faces from sculpt data into ↵Justin Clark-Casey (justincc)1-220/+240
it's own method. fix build break.
2011-07-30fix bug in previous commitJustin Clark-Casey (justincc)1-1/+2
2011-07-30refactor: move the code that generates physics meshs from prim mesh data ↵Justin Clark-Casey (justincc)1-99/+123
into a separate method, in order to make the code more readable.
2011-07-29Return null from CreateMeshFromPrimMesher if OpenJPEG decoding of the sculpt ↵Justin Clark-Casey (justincc)1-1/+11
data fails. This is to address http://opensimulator.org/mantis/view.php?id=5612
2011-07-29fix extremely minor Ode bug where the _taintedPrimL list would always be ↵Justin Clark-Casey (justincc)1-3/+14
cleared on every OdeScene.Simulate() even if it was already empty.
2011-07-29refactor: Move another chunk of ninja code out of the OdeScene.Simulate() ↵Justin Clark-Casey (justincc)1-28/+36
loop for consistency and readability.
2011-07-29refactor: Simplify reading OdeScene.Simulate() loop by shunting all the ↵Justin Clark-Casey (justincc)1-182/+191
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-29refactor: unindent the OdeScene.Simulate() loop to ignore the long commented ↵Justin Clark-Casey (justincc)1-270/+274
out ifs and locks This is to make it more readable.
2011-07-20Removed unused AddPrimShape methods in PhysicsScene caused by merge conflictsDan Lake1-14/+0
2011-07-19Apply the localID to the Physics actor to prevent null calls laterCareminster Team1-3/+3
2011-07-16Fix physics proxy regeneration when a mesh with more than one submesh is resizedJustin Clark-Casey (justincc)2-1/+5
Addresses http://opensimulator.org/mantis/view.php?id=5584
2011-07-15Fix some local id issues in physics glueroot8-54/+14
2011-07-12Port implementation of llCastRay() from Aurora.Justin Clark-Casey (justincc)3-18/+126
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-12temporarily fix the build break with building the OdePlugin tests assembly.Justin Clark-Casey (justincc)1-2/+3
This needs to be fixed properly.
2011-07-12minor: remove whitespace to trigger another buildJustin Clark-Casey (justincc)1-1/+0
2011-07-12When a mesh object is added to a scene, delay adding the physics actor until ↵Justin Clark-Casey (justincc)2-25/+29
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-11minor Tack the prim name on the end of the "experimental mesh proxy ↵Justin Clark-Casey (justincc)1-1/+1
generation" message. Can probably comment out this message soon, once a few other issues are tidied up.
2011-07-11When a sculpt/mesh texture is received by a part on a callback request, ↵Justin Clark-Casey (justincc)2-2/+3
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-11comment out accidential ProcessTaints physics debug line left in codeJustin Clark-Casey (justincc)1-1/+1
2011-07-09minor: code tidy and inserted log lines for future use.Justin Clark-Casey (justincc)3-24/+38
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-08refactor: eliminate redundant return statementJustin Clark-Casey (justincc)1-3/+1
2011-07-08refactor: Factor out AddSubMesh() method from long ↵Justin Clark-Casey (justincc)2-49/+58
CraeteMeshFromPrimMesher() method Also remove some of the logging spam left in from the last commit.
2011-07-08Fix interpretation of physics mesh proxies from mesh dataJustin Clark-Casey (justincc)1-0/+10
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-08minor: code tidy up - remove a couple of Console.WriteLine() accidentally ↵Justin Clark-Casey (justincc)2-53/+23
added in the last commit
2011-07-08refactor: Separate the OdeScene class into its own file from OdePlugin.cs, ↵Justin Clark-Casey (justincc)2-3825/+3873
to improve code readability
2011-07-08minor: commented out log lines for future use and very small code tidyJustin Clark-Casey (justincc)4-5/+14
2011-06-29Allow physics proxy generation for meshes using new asset format.dahlia2-5/+21
Fix an invalid cast exception while decoding new mesh asset format.
2011-06-15Add localID to physical object creation functions.Mic Bowman2-1/+21
2011-06-10partial update for new mesh asset format - handle both old and new formats ↵dahlia1-1/+5
for physics mesh
2011-04-29Fix crash when [Mesh] section is missing from configuration filesDan Lake1-1/+2
2011-04-21Group collada meshies settings under [Mesh] in OpensimDefaults.iniBlueWall1-1/+2
2011-04-19fix meshing failure on sculpt maps smaller than 64x64dahlia1-3/+10
2011-04-12force mesh proxy for simple box prims with path cutdahlia2-0/+6
2010-12-24This fixes mantis #5198 and related. Physics is not my expertise, so I'm not ↵Diva Canto1-0/+5
100% sure of what all the consequences of this change are. Pushing up, so others can take a look.
2010-12-23* Re-Adding Scene TimeDilation to Object Update Packets.Teravus Ovares (Dan Olivares)1-0/+19
* 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.