minor: code tidy and inserted log lines for future use.
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.bulletsim
parent
c3d82bdcb1
commit
5e8900dfd0
|
@ -213,6 +213,8 @@ namespace OpenSim.Framework
|
||||||
/// <param name="prim"></param>
|
/// <param name="prim"></param>
|
||||||
public PrimitiveBaseShape(Primitive prim)
|
public PrimitiveBaseShape(Primitive prim)
|
||||||
{
|
{
|
||||||
|
// m_log.DebugFormat("[PRIMITIVE BASE SHAPE]: Creating from {0}", prim.ID);
|
||||||
|
|
||||||
PCode = (byte)prim.PrimData.PCode;
|
PCode = (byte)prim.PrimData.PCode;
|
||||||
ExtraParams = new byte[1];
|
ExtraParams = new byte[1];
|
||||||
|
|
||||||
|
@ -613,29 +615,39 @@ namespace OpenSim.Framework
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte SculptType {
|
public byte SculptType
|
||||||
get {
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
return _sculptType;
|
return _sculptType;
|
||||||
}
|
}
|
||||||
set {
|
set
|
||||||
|
{
|
||||||
_sculptType = value;
|
_sculptType = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte[] SculptData {
|
public byte[] SculptData
|
||||||
get {
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
return _sculptData;
|
return _sculptData;
|
||||||
}
|
}
|
||||||
set {
|
set
|
||||||
|
{
|
||||||
|
// m_log.DebugFormat("[PRIMITIVE BASE SHAPE]: Setting SculptData to data with length {0}", value.Length);
|
||||||
_sculptData = value;
|
_sculptData = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int FlexiSoftness {
|
public int FlexiSoftness
|
||||||
get {
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
return _flexiSoftness;
|
return _flexiSoftness;
|
||||||
}
|
}
|
||||||
set {
|
set
|
||||||
|
{
|
||||||
_flexiSoftness = value;
|
_flexiSoftness = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -849,6 +861,8 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public byte[] ExtraParamsToBytes()
|
public byte[] ExtraParamsToBytes()
|
||||||
{
|
{
|
||||||
|
// m_log.DebugFormat("[EXTRAPARAMS]: Called ExtraParamsToBytes()");
|
||||||
|
|
||||||
ushort FlexiEP = 0x10;
|
ushort FlexiEP = 0x10;
|
||||||
ushort LightEP = 0x20;
|
ushort LightEP = 0x20;
|
||||||
ushort SculptEP = 0x30;
|
ushort SculptEP = 0x30;
|
||||||
|
@ -864,18 +878,21 @@ namespace OpenSim.Framework
|
||||||
TotalBytesLength += 16;// data
|
TotalBytesLength += 16;// data
|
||||||
TotalBytesLength += 2 + 4; // type
|
TotalBytesLength += 2 + 4; // type
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_lightEntry)
|
if (_lightEntry)
|
||||||
{
|
{
|
||||||
ExtraParamsNum++;
|
ExtraParamsNum++;
|
||||||
TotalBytesLength += 16;// data
|
TotalBytesLength += 16;// data
|
||||||
TotalBytesLength += 2 + 4; // type
|
TotalBytesLength += 2 + 4; // type
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_sculptEntry)
|
if (_sculptEntry)
|
||||||
{
|
{
|
||||||
ExtraParamsNum++;
|
ExtraParamsNum++;
|
||||||
TotalBytesLength += 17;// data
|
TotalBytesLength += 17;// data
|
||||||
TotalBytesLength += 2 + 4; // type
|
TotalBytesLength += 2 + 4; // type
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_projectionEntry)
|
if (_projectionEntry)
|
||||||
{
|
{
|
||||||
ExtraParamsNum++;
|
ExtraParamsNum++;
|
||||||
|
@ -885,7 +902,6 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
byte[] returnbytes = new byte[TotalBytesLength];
|
byte[] returnbytes = new byte[TotalBytesLength];
|
||||||
|
|
||||||
|
|
||||||
// uint paramlength = ExtraParamsNum;
|
// uint paramlength = ExtraParamsNum;
|
||||||
|
|
||||||
// Stick in the number of parameters
|
// Stick in the number of parameters
|
||||||
|
@ -905,6 +921,7 @@ namespace OpenSim.Framework
|
||||||
Array.Copy(FlexiData, 0, returnbytes, i, FlexiData.Length);
|
Array.Copy(FlexiData, 0, returnbytes, i, FlexiData.Length);
|
||||||
i += FlexiData.Length;
|
i += FlexiData.Length;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_lightEntry)
|
if (_lightEntry)
|
||||||
{
|
{
|
||||||
byte[] LightData = GetLightBytes();
|
byte[] LightData = GetLightBytes();
|
||||||
|
@ -919,6 +936,7 @@ namespace OpenSim.Framework
|
||||||
Array.Copy(LightData, 0, returnbytes, i, LightData.Length);
|
Array.Copy(LightData, 0, returnbytes, i, LightData.Length);
|
||||||
i += LightData.Length;
|
i += LightData.Length;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_sculptEntry)
|
if (_sculptEntry)
|
||||||
{
|
{
|
||||||
byte[] SculptData = GetSculptBytes();
|
byte[] SculptData = GetSculptBytes();
|
||||||
|
@ -933,6 +951,7 @@ namespace OpenSim.Framework
|
||||||
Array.Copy(SculptData, 0, returnbytes, i, SculptData.Length);
|
Array.Copy(SculptData, 0, returnbytes, i, SculptData.Length);
|
||||||
i += SculptData.Length;
|
i += SculptData.Length;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_projectionEntry)
|
if (_projectionEntry)
|
||||||
{
|
{
|
||||||
byte[] ProjectionData = GetProjectionBytes();
|
byte[] ProjectionData = GetProjectionBytes();
|
||||||
|
@ -946,6 +965,7 @@ namespace OpenSim.Framework
|
||||||
Array.Copy(ProjectionData, 0, returnbytes, i, ProjectionData.Length);
|
Array.Copy(ProjectionData, 0, returnbytes, i, ProjectionData.Length);
|
||||||
i += ProjectionData.Length;
|
i += ProjectionData.Length;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_flexiEntry && !_lightEntry && !_sculptEntry && !_projectionEntry)
|
if (!_flexiEntry && !_lightEntry && !_sculptEntry && !_projectionEntry)
|
||||||
{
|
{
|
||||||
byte[] returnbyte = new byte[1];
|
byte[] returnbyte = new byte[1];
|
||||||
|
@ -953,10 +973,7 @@ namespace OpenSim.Framework
|
||||||
return returnbyte;
|
return returnbyte;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return returnbytes;
|
return returnbytes;
|
||||||
//m_log.Info("[EXTRAPARAMS]: Length = " + m_shape.ExtraParams.Length.ToString());
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ReadInUpdateExtraParam(ushort type, bool inUse, byte[] data)
|
public void ReadInUpdateExtraParam(ushort type, bool inUse, byte[] data)
|
||||||
|
@ -1027,7 +1044,6 @@ namespace OpenSim.Framework
|
||||||
extraParamCount = data[i++];
|
extraParamCount = data[i++];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
for (int k = 0; k < extraParamCount; k++)
|
for (int k = 0; k < extraParamCount; k++)
|
||||||
{
|
{
|
||||||
ushort epType = Utils.BytesToUInt16(data, i);
|
ushort epType = Utils.BytesToUInt16(data, i);
|
||||||
|
@ -1071,7 +1087,6 @@ namespace OpenSim.Framework
|
||||||
_sculptEntry = false;
|
_sculptEntry = false;
|
||||||
if (!lGotFilter)
|
if (!lGotFilter)
|
||||||
_projectionEntry = false;
|
_projectionEntry = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ReadSculptData(byte[] data, int pos)
|
public void ReadSculptData(byte[] data, int pos)
|
||||||
|
@ -1100,6 +1115,7 @@ namespace OpenSim.Framework
|
||||||
if (_sculptType != (byte)1 && _sculptType != (byte)2 && _sculptType != (byte)3 && _sculptType != (byte)4)
|
if (_sculptType != (byte)1 && _sculptType != (byte)2 && _sculptType != (byte)3 && _sculptType != (byte)4)
|
||||||
_sculptType = 4;
|
_sculptType = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
_sculptTexture = SculptUUID;
|
_sculptTexture = SculptUUID;
|
||||||
_sculptType = SculptTypel;
|
_sculptType = SculptTypel;
|
||||||
//m_log.Info("[SCULPT]:" + SculptUUID.ToString());
|
//m_log.Info("[SCULPT]:" + SculptUUID.ToString());
|
||||||
|
|
|
@ -250,11 +250,9 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
case 0x40:
|
case 0x40:
|
||||||
pbs.ReadProjectionData(extraParam.ExtraParamData, 0);
|
pbs.ReadProjectionData(extraParam.ExtraParamData, 0);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
pbs.PathBegin = (ushort) obj.PathBegin;
|
pbs.PathBegin = (ushort) obj.PathBegin;
|
||||||
pbs.PathCurve = (byte) obj.PathCurve;
|
pbs.PathCurve = (byte) obj.PathCurve;
|
||||||
pbs.PathEnd = (ushort) obj.PathEnd;
|
pbs.PathEnd = (ushort) obj.PathEnd;
|
||||||
|
|
|
@ -2958,7 +2958,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void SculptTextureCallback(UUID textureID, AssetBase texture)
|
public void SculptTextureCallback(UUID textureID, AssetBase texture)
|
||||||
{
|
{
|
||||||
if (m_shape.SculptEntry)
|
if (m_shape.SculptEntry)
|
||||||
|
|
|
@ -1001,6 +1001,8 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||||
|
|
||||||
private static void ProcessShpSculptData(PrimitiveBaseShape shp, XmlTextReader reader)
|
private static void ProcessShpSculptData(PrimitiveBaseShape shp, XmlTextReader reader)
|
||||||
{
|
{
|
||||||
|
// m_log.DebugFormat("[SCENE OBJECT SERIALIZER]: Setting sculpt data length {0}", shp.SculptData.Length);
|
||||||
|
|
||||||
shp.SculptData = Convert.FromBase64String(reader.ReadElementString("SculptData"));
|
shp.SculptData = Convert.FromBase64String(reader.ReadElementString("SculptData"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -540,7 +540,6 @@ namespace OpenSim.Region.Physics.Meshing
|
||||||
|
|
||||||
profileBegin = 0.5f * profileBegin + 0.5f;
|
profileBegin = 0.5f * profileBegin + 0.5f;
|
||||||
profileEnd = 0.5f * profileEnd + 0.5f;
|
profileEnd = 0.5f * profileEnd + 0.5f;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int hollowSides = sides;
|
int hollowSides = sides;
|
||||||
|
@ -660,7 +659,9 @@ namespace OpenSim.Region.Physics.Meshing
|
||||||
|
|
||||||
public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical)
|
public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[MESH]: Creating mesh for {0}", primName);
|
#if SPAM
|
||||||
|
m_log.DebugFormat("[MESH]: Creating mesh for {0}", primName);
|
||||||
|
#endif
|
||||||
|
|
||||||
Mesh mesh = null;
|
Mesh mesh = null;
|
||||||
ulong key = 0;
|
ulong key = 0;
|
||||||
|
|
|
@ -38,6 +38,9 @@
|
||||||
* switch between 'VEHICLE' parameter use and general dynamics
|
* switch between 'VEHICLE' parameter use and general dynamics
|
||||||
* settings use.
|
* settings use.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
//#define SPAM
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
@ -746,7 +749,6 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags);
|
d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
d.BodyDestroy(Body);
|
d.BodyDestroy(Body);
|
||||||
lock (childrenPrim)
|
lock (childrenPrim)
|
||||||
{
|
{
|
||||||
|
@ -775,7 +777,6 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags);
|
d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Body = IntPtr.Zero;
|
Body = IntPtr.Zero;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -858,7 +859,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
|
|
||||||
public void ProcessTaints(float timestep)
|
public void ProcessTaints(float timestep)
|
||||||
{
|
{
|
||||||
//Console.WriteLine("ProcessTaints for " + Name);
|
Console.WriteLine("ProcessTaints for " + Name);
|
||||||
if (m_taintadd)
|
if (m_taintadd)
|
||||||
{
|
{
|
||||||
changeadd(timestep);
|
changeadd(timestep);
|
||||||
|
@ -885,19 +886,15 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
rotate(timestep);
|
rotate(timestep);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
|
||||||
|
|
||||||
if (m_taintPhysics != m_isphysical && !(m_taintparent != _parent))
|
if (m_taintPhysics != m_isphysical && !(m_taintparent != _parent))
|
||||||
changePhysicsStatus(timestep);
|
changePhysicsStatus(timestep);
|
||||||
//
|
|
||||||
|
|
||||||
if (!_size.ApproxEquals(m_taintsize, 0f))
|
if (!_size.ApproxEquals(m_taintsize, 0f))
|
||||||
changesize(timestep);
|
changesize(timestep);
|
||||||
//
|
|
||||||
|
|
||||||
if (m_taintshape)
|
if (m_taintshape)
|
||||||
changeshape(timestep);
|
changeshape(timestep);
|
||||||
//
|
|
||||||
|
|
||||||
if (m_taintforce)
|
if (m_taintforce)
|
||||||
changeAddForce(timestep);
|
changeAddForce(timestep);
|
||||||
|
@ -925,7 +922,6 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
|
|
||||||
if (!m_angularlock.ApproxEquals(m_taintAngularLock,0f))
|
if (!m_angularlock.ApproxEquals(m_taintAngularLock,0f))
|
||||||
changeAngularLock(timestep);
|
changeAngularLock(timestep);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1424,10 +1420,11 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
lock (_parent_scene.OdeLock)
|
lock (_parent_scene.OdeLock)
|
||||||
{
|
{
|
||||||
//Console.WriteLine("changeadd 1");
|
#if SPAM
|
||||||
|
Console.WriteLine("changeadd 1");
|
||||||
|
#endif
|
||||||
CreateGeom(m_targetSpace, _mesh);
|
CreateGeom(m_targetSpace, _mesh);
|
||||||
|
|
||||||
if (prim_geom != IntPtr.Zero)
|
if (prim_geom != IntPtr.Zero)
|
||||||
|
@ -1890,6 +1887,10 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
|
|
||||||
public void changesize(float timestamp)
|
public void changesize(float timestamp)
|
||||||
{
|
{
|
||||||
|
#if SPAM
|
||||||
|
m_log.DebugFormat("[ODE PRIM]: Called changesize");
|
||||||
|
#endif
|
||||||
|
|
||||||
string oldname = _parent_scene.geom_name_map[prim_geom];
|
string oldname = _parent_scene.geom_name_map[prim_geom];
|
||||||
|
|
||||||
if (_size.X <= 0) _size.X = 0.01f;
|
if (_size.X <= 0) _size.X = 0.01f;
|
||||||
|
@ -1899,8 +1900,9 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
// Cleanup of old prim geometry
|
// Cleanup of old prim geometry
|
||||||
if (_mesh != null)
|
if (_mesh != null)
|
||||||
{
|
{
|
||||||
// Cleanup meshing here
|
// TODO: Cleanup meshing here
|
||||||
}
|
}
|
||||||
|
|
||||||
//kill body to rebuild
|
//kill body to rebuild
|
||||||
if (IsPhysical && Body != IntPtr.Zero)
|
if (IsPhysical && Body != IntPtr.Zero)
|
||||||
{
|
{
|
||||||
|
@ -1917,11 +1919,13 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
disableBody();
|
disableBody();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (d.SpaceQuery(m_targetSpace, prim_geom))
|
if (d.SpaceQuery(m_targetSpace, prim_geom))
|
||||||
{
|
{
|
||||||
_parent_scene.waitForSpaceUnlock(m_targetSpace);
|
_parent_scene.waitForSpaceUnlock(m_targetSpace);
|
||||||
d.SpaceRemove(m_targetSpace, prim_geom);
|
d.SpaceRemove(m_targetSpace, prim_geom);
|
||||||
}
|
}
|
||||||
|
|
||||||
d.GeomDestroy(prim_geom);
|
d.GeomDestroy(prim_geom);
|
||||||
prim_geom = IntPtr.Zero;
|
prim_geom = IntPtr.Zero;
|
||||||
// we don't need to do space calculation because the client sends a position update also.
|
// we don't need to do space calculation because the client sends a position update also.
|
||||||
|
@ -1941,13 +1945,19 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
||||||
|
|
||||||
//IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
//IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
||||||
//Console.WriteLine("changesize 1");
|
#if SPAM
|
||||||
|
Console.WriteLine("changesize 1");
|
||||||
|
#endif
|
||||||
CreateGeom(m_targetSpace, mesh);
|
CreateGeom(m_targetSpace, mesh);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_mesh = null;
|
_mesh = null;
|
||||||
//Console.WriteLine("changesize 2");
|
|
||||||
|
#if SPAM
|
||||||
|
Console.WriteLine("changesize 2");
|
||||||
|
#endif
|
||||||
|
|
||||||
CreateGeom(m_targetSpace, _mesh);
|
CreateGeom(m_targetSpace, _mesh);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2030,6 +2040,7 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
prim_geom = IntPtr.Zero;
|
prim_geom = IntPtr.Zero;
|
||||||
m_log.ErrorFormat("[PHYSICS]: PrimGeom dead for {0}", Name);
|
m_log.ErrorFormat("[PHYSICS]: PrimGeom dead for {0}", Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
prim_geom = IntPtr.Zero;
|
prim_geom = IntPtr.Zero;
|
||||||
// we don't need to do space calculation because the client sends a position update also.
|
// we don't need to do space calculation because the client sends a position update also.
|
||||||
if (_size.X <= 0) _size.X = 0.01f;
|
if (_size.X <= 0) _size.X = 0.01f;
|
||||||
|
@ -2039,7 +2050,7 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
|
|
||||||
if (_parent_scene.needsMeshing(_pbs))
|
if (_parent_scene.needsMeshing(_pbs))
|
||||||
{
|
{
|
||||||
// Don't need to re-enable body.. it's done in SetMesh
|
// Don't need to re-enable body.. it's done in CreateMesh
|
||||||
float meshlod = _parent_scene.meshSculptLOD;
|
float meshlod = _parent_scene.meshSculptLOD;
|
||||||
|
|
||||||
if (IsPhysical)
|
if (IsPhysical)
|
||||||
|
@ -2047,13 +2058,18 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
|
|
||||||
IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
||||||
// createmesh returns null when it doesn't mesh.
|
// createmesh returns null when it doesn't mesh.
|
||||||
//Console.WriteLine("changeshape needed meshing");
|
#if SPAM
|
||||||
|
Console.WriteLine("changeshape needed meshing");
|
||||||
|
#endif
|
||||||
CreateGeom(m_targetSpace, mesh);
|
CreateGeom(m_targetSpace, mesh);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_mesh = null;
|
_mesh = null;
|
||||||
//Console.WriteLine("changeshape not need meshing");
|
|
||||||
|
#if SPAM
|
||||||
|
Console.WriteLine("changeshape not need meshing");
|
||||||
|
#endif
|
||||||
CreateGeom(m_targetSpace, null);
|
CreateGeom(m_targetSpace, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//#define USE_DRAWSTUFF
|
//#define USE_DRAWSTUFF
|
||||||
//#define SPAM
|
#define SPAM
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -312,7 +312,6 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
_watermap = new float[258 * 258];
|
_watermap = new float[258 * 258];
|
||||||
|
|
||||||
// Zero out the prim spaces array (we split our space into smaller spaces so
|
// Zero out the prim spaces array (we split our space into smaller spaces so
|
||||||
|
@ -2563,7 +2562,6 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
if (pbs.SculptEntry && meshSculptedPrim)
|
if (pbs.SculptEntry && meshSculptedPrim)
|
||||||
iPropertiesNotSupportedDefault++;
|
iPropertiesNotSupportedDefault++;
|
||||||
|
|
||||||
|
|
||||||
if (iPropertiesNotSupportedDefault == 0)
|
if (iPropertiesNotSupportedDefault == 0)
|
||||||
{
|
{
|
||||||
#if SPAM
|
#if SPAM
|
||||||
|
@ -2703,7 +2701,6 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
{
|
{
|
||||||
foreach (OdeCharacter character in _taintedActors)
|
foreach (OdeCharacter character in _taintedActors)
|
||||||
{
|
{
|
||||||
|
|
||||||
character.ProcessTaints(timeStep);
|
character.ProcessTaints(timeStep);
|
||||||
|
|
||||||
processedtaints = true;
|
processedtaints = true;
|
||||||
|
|
Loading…
Reference in New Issue