BulletSim: add debugging looking for doorway sculpty problems
parent
ad438ee59f
commit
13233da66c
|
@ -622,7 +622,6 @@ public sealed class BSShapeCollection : IDisposable
|
||||||
private BulletShape CreatePhysicalMesh(string objName, System.UInt64 newMeshKey, PrimitiveBaseShape pbs, OMV.Vector3 size, float lod)
|
private BulletShape CreatePhysicalMesh(string objName, System.UInt64 newMeshKey, PrimitiveBaseShape pbs, OMV.Vector3 size, float lod)
|
||||||
{
|
{
|
||||||
BulletShape newShape = new BulletShape();
|
BulletShape newShape = new BulletShape();
|
||||||
IMesh meshData = null;
|
|
||||||
|
|
||||||
MeshDesc meshDesc;
|
MeshDesc meshDesc;
|
||||||
if (Meshes.TryGetValue(newMeshKey, out meshDesc))
|
if (Meshes.TryGetValue(newMeshKey, out meshDesc))
|
||||||
|
@ -632,7 +631,7 @@ public sealed class BSShapeCollection : IDisposable
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
meshData = PhysicsScene.mesher.CreateMesh(objName, pbs, size, lod, true, false);
|
IMesh meshData = PhysicsScene.mesher.CreateMesh(objName, pbs, size, lod, true, false);
|
||||||
|
|
||||||
if (meshData != null)
|
if (meshData != null)
|
||||||
{
|
{
|
||||||
|
@ -648,8 +647,31 @@ public sealed class BSShapeCollection : IDisposable
|
||||||
verticesAsFloats[vi++] = vv.Z;
|
verticesAsFloats[vi++] = vv.Z;
|
||||||
}
|
}
|
||||||
|
|
||||||
// m_log.DebugFormat("{0}: BSShapeCollection.CreatePhysicalMesh: calling CreateMesh. lid={1}, key={2}, indices={3}, vertices={4}",
|
// DetailLog("{0},BSShapeCollection.CreatePhysicalMesh,key={1},lod={2},size={3},indices={4},vertices={5}",
|
||||||
// LogHeader, prim.LocalID, newMeshKey, indices.Length, vertices.Count);
|
// BSScene.DetailLogZero, newMeshKey.ToString("X"), lod, size, indices.Length, vertices.Count);
|
||||||
|
|
||||||
|
/*
|
||||||
|
// DEBUG DEBUG
|
||||||
|
for (int ii = 0; ii < indices.Length; ii += 3)
|
||||||
|
{
|
||||||
|
DetailLog("{0,3}: {1,3},{2,3},{3,3}: <{4,10},{5,10},{6,10}>, <{7,10},{8,10},{9,10}>, <{10,10},{11,10},{12,10}>",
|
||||||
|
ii / 3,
|
||||||
|
indices[ii + 0],
|
||||||
|
indices[ii + 1],
|
||||||
|
indices[ii + 2],
|
||||||
|
verticesAsFloats[indices[ii+0] + 0],
|
||||||
|
verticesAsFloats[indices[ii+0] + 1],
|
||||||
|
verticesAsFloats[indices[ii+0] + 2],
|
||||||
|
verticesAsFloats[indices[ii+1] + 0],
|
||||||
|
verticesAsFloats[indices[ii+1] + 1],
|
||||||
|
verticesAsFloats[indices[ii+1] + 2],
|
||||||
|
verticesAsFloats[indices[ii+2] + 0],
|
||||||
|
verticesAsFloats[indices[ii+2] + 1],
|
||||||
|
verticesAsFloats[indices[ii+2] + 2]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
// END DEBUG DEBUG
|
||||||
|
*/
|
||||||
|
|
||||||
newShape = PhysicsScene.PE.CreateMeshShape(PhysicsScene.World,
|
newShape = PhysicsScene.PE.CreateMeshShape(PhysicsScene.World,
|
||||||
indices.GetLength(0), indices, vertices.Count, verticesAsFloats);
|
indices.GetLength(0), indices, vertices.Count, verticesAsFloats);
|
||||||
|
|
|
@ -217,6 +217,10 @@ public static class BulletSimData
|
||||||
{
|
{
|
||||||
|
|
||||||
// Map of collisionTypes to flags for collision groups and masks.
|
// Map of collisionTypes to flags for collision groups and masks.
|
||||||
|
// An object's 'group' is the collison groups this object belongs to
|
||||||
|
// An object's 'filter' is the groups another object has to belong to in order to collide with me
|
||||||
|
// A collision happens if ((obj1.group & obj2.filter) != 0) || ((obj2.group & obj1.filter) != 0)
|
||||||
|
//
|
||||||
// As mentioned above, don't use the CollisionFilterGroups definitions directly in the code
|
// As mentioned above, don't use the CollisionFilterGroups definitions directly in the code
|
||||||
// but, instead, use references to this dictionary. Finding and debugging
|
// but, instead, use references to this dictionary. Finding and debugging
|
||||||
// collision flag problems will be made easier.
|
// collision flag problems will be made easier.
|
||||||
|
|
|
@ -128,6 +128,9 @@ Physical and phantom will drop through the terrain
|
||||||
LINKSETS
|
LINKSETS
|
||||||
======================================================
|
======================================================
|
||||||
Child prims do not report collisions
|
Child prims do not report collisions
|
||||||
|
Allow children of a linkset to be phantom:
|
||||||
|
http://opensim-dev.2196679.n2.nabble.com/Setting-a-single-child-prim-to-Phantom-tp7578513.html
|
||||||
|
Add OS_STATUS_PHANTOM_PRIM to llSetLinkPrimitaveParamsFast.
|
||||||
Editing a child of a linkset causes the child to go phantom
|
Editing a child of a linkset causes the child to go phantom
|
||||||
Move a child prim once when it is physical and can never move it again without it going phantom
|
Move a child prim once when it is physical and can never move it again without it going phantom
|
||||||
Offset the center of the linkset to be the geometric center of all the prims
|
Offset the center of the linkset to be the geometric center of all the prims
|
||||||
|
|
Loading…
Reference in New Issue