From 49adb6e09f42b1b4022d6127379c79ce01b64192 Mon Sep 17 00:00:00 2001
From: Dahlia Trimble
Date: Fri, 18 Jul 2008 00:03:28 +0000
Subject: refactor - commenting out needsMeshing() and all references as
createMesh() has the same logic and obsoletes the need for it.
---
OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 366 +++++++++++++++++---------
OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 110 ++++----
2 files changed, 297 insertions(+), 179 deletions(-)
(limited to 'OpenSim/Region/Physics/OdePlugin')
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index f7fbaf1..59655d7 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -917,15 +917,19 @@ namespace OpenSim.Region.Physics.OdePlugin
m_targetSpace = targetspace;
- if (_mesh == null)
- {
- if (_parent_scene.needsMeshing(_pbs))
- {
- // Don't need to re-enable body.. it's done in SetMesh
- _mesh = _parent_scene.mesher.CreateMesh(m_primName, _pbs, _size, _parent_scene.meshSculptLOD, IsPhysical);
- // createmesh returns null when it's a shape that isn't a cube.
- }
- }
+ //if (_mesh == null)
+ //{
+ // if (_parent_scene.needsMeshing(_pbs))
+ // {
+ // // Don't need to re-enable body.. it's done in SetMesh
+ // _mesh = _parent_scene.mesher.CreateMesh(m_primName, _pbs, _size, _parent_scene.meshSculptLOD, IsPhysical);
+ // // createmesh returns null when it's a shape that isn't a cube.
+ // }
+ //}
+
+ if (_mesh == null )
+ _mesh = _parent_scene.mesher.CreateMesh(m_primName, _pbs, _size, _parent_scene.meshSculptLOD, IsPhysical);
+
lock (OdeScene.OdeLock)
{
@@ -1285,8 +1289,8 @@ namespace OpenSim.Region.Physics.OdePlugin
{
//if (!_parent_scene.geom_name_map.ContainsKey(prim_geom))
//{
- // m_taintsize = _size;
- //return;
+ // m_taintsize = _size;
+ //return;
//}
string oldname = _parent_scene.geom_name_map[prim_geom];
@@ -1300,7 +1304,7 @@ namespace OpenSim.Region.Physics.OdePlugin
// Cleanup meshing here
}
//kill body to rebuild
- if (IsPhysical && Body != (IntPtr) 0)
+ if (IsPhysical && Body != (IntPtr)0)
{
disableBody();
}
@@ -1314,7 +1318,7 @@ namespace OpenSim.Region.Physics.OdePlugin
// we don't need to do space calculation because the client sends a position update also.
// Construction of new prim
- if (_parent_scene.needsMeshing(_pbs))
+ //if (_parent_scene.needsMeshing(_pbs))
{
float meshlod = _parent_scene.meshSculptLOD;
@@ -1322,7 +1326,7 @@ namespace OpenSim.Region.Physics.OdePlugin
meshlod = _parent_scene.MeshSculptphysicalLOD;
// Don't need to re-enable body.. it's done in SetMesh
IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
- // createmesh returns null when it's a shape that isn't a cube.
+
if (mesh != null)
{
setMesh(_parent_scene, mesh);
@@ -1368,18 +1372,7 @@ namespace OpenSim.Region.Physics.OdePlugin
SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
}
}
- //else if (_pbs.ProfileShape == ProfileShape.Circle && _pbs.PathCurve == (byte)Extrusion.Straight)
- //{
- //Cyllinder
- //if (_size.X == _size.Y)
- //{
- // prim_geom = d.CreateCylinder(m_targetSpace, _size.X / 2, _size.Z);
- //}
- //else
- //{
- //prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z);
- //}
- //}
+
else
{
_parent_scene.waitForSpaceUnlock(m_targetSpace);
@@ -1395,55 +1388,6 @@ namespace OpenSim.Region.Physics.OdePlugin
d.GeomSetQuaternion(prim_geom, ref myrot);
}
}
- else
- {
- if (_pbs.ProfileShape == ProfileShape.HalfCircle && _pbs.PathCurve == (byte)Extrusion.Curve1)
- {
- if (_size.X == _size.Y && _size.Y == _size.Z && _size.X == _size.Z)
- {
- _parent_scene.waitForSpaceUnlock(m_targetSpace);
- SetGeom(d.CreateSphere(m_targetSpace, _size.X / 2));
- }
- else
- {
- _parent_scene.waitForSpaceUnlock(m_targetSpace);
- SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
- }
- }
- //else if (_pbs.ProfileShape == ProfileShape.Circle && _pbs.PathCurve == (byte)Extrusion.Straight)
- //{
- //Cyllinder
- //if (_size.X == _size.Y)
- //{
- //prim_geom = d.CreateCylinder(m_targetSpace, _size.X / 2, _size.Z);
- //}
- //else
- //{
- //prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z);
- //}
- //}
- else
- {
- _parent_scene.waitForSpaceUnlock(m_targetSpace);
- SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
- }
- d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
- d.Quaternion myrot = new d.Quaternion();
- myrot.W = _orientation.w;
- myrot.X = _orientation.x;
- myrot.Y = _orientation.y;
- myrot.Z = _orientation.z;
- d.GeomSetQuaternion(prim_geom, ref myrot);
-
- //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z);
- if (IsPhysical && Body == (IntPtr) 0)
- {
- // Re creates body on size.
- // EnableBody also does setMass()
- enableBody();
- d.BodyEnable(Body);
- }
- }
_parent_scene.geom_name_map[prim_geom] = oldname;
@@ -1453,6 +1397,178 @@ namespace OpenSim.Region.Physics.OdePlugin
m_taintsize = _size;
}
+ //public void changesize(float timestamp)
+ //{
+ // //if (!_parent_scene.geom_name_map.ContainsKey(prim_geom))
+ // //{
+ // // m_taintsize = _size;
+ // //return;
+ // //}
+ // string oldname = _parent_scene.geom_name_map[prim_geom];
+
+ // if (_size.X <= 0) _size.X = 0.01f;
+ // if (_size.Y <= 0) _size.Y = 0.01f;
+ // if (_size.Z <= 0) _size.Z = 0.01f;
+
+ // // Cleanup of old prim geometry
+ // if (_mesh != null)
+ // {
+ // // Cleanup meshing here
+ // }
+ // //kill body to rebuild
+ // if (IsPhysical && Body != (IntPtr) 0)
+ // {
+ // disableBody();
+ // }
+ // if (d.SpaceQuery(m_targetSpace, prim_geom))
+ // {
+ // _parent_scene.waitForSpaceUnlock(m_targetSpace);
+ // d.SpaceRemove(m_targetSpace, prim_geom);
+ // }
+ // d.GeomDestroy(prim_geom);
+ // prim_geom = (IntPtr)0;
+ // // we don't need to do space calculation because the client sends a position update also.
+
+ // // Construction of new prim
+ // if (_parent_scene.needsMeshing(_pbs))
+ // {
+ // float meshlod = _parent_scene.meshSculptLOD;
+
+ // if (IsPhysical)
+ // meshlod = _parent_scene.MeshSculptphysicalLOD;
+ // // Don't need to re-enable body.. it's done in SetMesh
+ // IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
+ // // createmesh returns null when it's a shape that isn't a cube.
+ // if (mesh != null)
+ // {
+ // setMesh(_parent_scene, mesh);
+ // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
+ // d.Quaternion myrot = new d.Quaternion();
+ // myrot.W = _orientation.w;
+ // myrot.X = _orientation.x;
+ // myrot.Y = _orientation.y;
+ // myrot.Z = _orientation.z;
+ // d.GeomSetQuaternion(prim_geom, ref myrot);
+
+ // //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z);
+ // if (IsPhysical && Body == (IntPtr)0)
+ // {
+ // // Re creates body on size.
+ // // EnableBody also does setMass()
+ // enableBody();
+ // d.BodyEnable(Body);
+ // }
+ // }
+ // else
+ // {
+ // if (_pbs.ProfileShape == ProfileShape.HalfCircle && _pbs.PathCurve == (byte)Extrusion.Curve1)
+ // {
+ // if (_size.X == _size.Y && _size.Y == _size.Z && _size.X == _size.Z)
+ // {
+ // if (((_size.X / 2f) > 0f) && ((_size.X / 2f) < 1000))
+ // {
+ // _parent_scene.waitForSpaceUnlock(m_targetSpace);
+ // SetGeom(d.CreateSphere(m_targetSpace, _size.X / 2));
+ // }
+ // else
+ // {
+ // m_log.Info("[PHYSICS]: Failed to load a sphere bad size");
+ // _parent_scene.waitForSpaceUnlock(m_targetSpace);
+ // SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
+ // }
+
+ // }
+ // else
+ // {
+ // _parent_scene.waitForSpaceUnlock(m_targetSpace);
+ // SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
+ // }
+ // }
+ // //else if (_pbs.ProfileShape == ProfileShape.Circle && _pbs.PathCurve == (byte)Extrusion.Straight)
+ // //{
+ // //Cyllinder
+ // //if (_size.X == _size.Y)
+ // //{
+ // // prim_geom = d.CreateCylinder(m_targetSpace, _size.X / 2, _size.Z);
+ // //}
+ // //else
+ // //{
+ // //prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z);
+ // //}
+ // //}
+ // else
+ // {
+ // _parent_scene.waitForSpaceUnlock(m_targetSpace);
+ // SetGeom(prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
+ // }
+ // //prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z);
+ // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
+ // d.Quaternion myrot = new d.Quaternion();
+ // myrot.W = _orientation.w;
+ // myrot.X = _orientation.x;
+ // myrot.Y = _orientation.y;
+ // myrot.Z = _orientation.z;
+ // d.GeomSetQuaternion(prim_geom, ref myrot);
+ // }
+ // }
+ // else
+ // {
+ // if (_pbs.ProfileShape == ProfileShape.HalfCircle && _pbs.PathCurve == (byte)Extrusion.Curve1)
+ // {
+ // if (_size.X == _size.Y && _size.Y == _size.Z && _size.X == _size.Z)
+ // {
+ // _parent_scene.waitForSpaceUnlock(m_targetSpace);
+ // SetGeom(d.CreateSphere(m_targetSpace, _size.X / 2));
+ // }
+ // else
+ // {
+ // _parent_scene.waitForSpaceUnlock(m_targetSpace);
+ // SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
+ // }
+ // }
+ // //else if (_pbs.ProfileShape == ProfileShape.Circle && _pbs.PathCurve == (byte)Extrusion.Straight)
+ // //{
+ // //Cyllinder
+ // //if (_size.X == _size.Y)
+ // //{
+ // //prim_geom = d.CreateCylinder(m_targetSpace, _size.X / 2, _size.Z);
+ // //}
+ // //else
+ // //{
+ // //prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z);
+ // //}
+ // //}
+ // else
+ // {
+ // _parent_scene.waitForSpaceUnlock(m_targetSpace);
+ // SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
+ // }
+ // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
+ // d.Quaternion myrot = new d.Quaternion();
+ // myrot.W = _orientation.w;
+ // myrot.X = _orientation.x;
+ // myrot.Y = _orientation.y;
+ // myrot.Z = _orientation.z;
+ // d.GeomSetQuaternion(prim_geom, ref myrot);
+
+ // //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z);
+ // if (IsPhysical && Body == (IntPtr) 0)
+ // {
+ // // Re creates body on size.
+ // // EnableBody also does setMass()
+ // enableBody();
+ // d.BodyEnable(Body);
+ // }
+ // }
+
+ // _parent_scene.geom_name_map[prim_geom] = oldname;
+
+ // changeSelectedStatus(timestamp);
+
+ // resetCollisionAccounting();
+ // m_taintsize = _size;
+ //}
+
public void changefloatonwater(float timestep)
{
m_collidesWater = m_taintCollidesWater;
@@ -1488,7 +1604,7 @@ namespace OpenSim.Region.Physics.OdePlugin
if (_size.Z <= 0) _size.Z = 0.01f;
// Construction of new prim
- if (_parent_scene.needsMeshing(_pbs))
+ //if (_parent_scene.needsMeshing(_pbs))
{
// Don't need to re-enable body.. it's done in SetMesh
float meshlod = _parent_scene.meshSculptLOD;
@@ -1568,55 +1684,55 @@ namespace OpenSim.Region.Physics.OdePlugin
d.GeomSetQuaternion(prim_geom, ref myrot);
}
}
- else
- {
- if (_pbs.ProfileShape == ProfileShape.HalfCircle && _pbs.PathCurve == (byte)Extrusion.Curve1)
- {
- if (_size.X == _size.Y && _size.Y == _size.Z && _size.X == _size.Z)
- {
- _parent_scene.waitForSpaceUnlock(m_targetSpace);
- SetGeom(d.CreateSphere(m_targetSpace, _size.X / 2));
- }
- else
- {
- _parent_scene.waitForSpaceUnlock(m_targetSpace);
- SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
- }
- }
- //else if (_pbs.ProfileShape == ProfileShape.Circle && _pbs.PathCurve == (byte)Extrusion.Straight)
- //{
- //Cyllinder
- //if (_size.X == _size.Y)
- //{
- //prim_geom = d.CreateCylinder(m_targetSpace, _size.X / 2, _size.Z);
- //}
- //else
- //{
- //prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z);
- //}
- //}
- else
- {
- _parent_scene.waitForSpaceUnlock(m_targetSpace);
- SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
- }
- d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
- d.Quaternion myrot = new d.Quaternion();
- myrot.W = _orientation.w;
- myrot.X = _orientation.x;
- myrot.Y = _orientation.y;
- myrot.Z = _orientation.z;
- d.GeomSetQuaternion(prim_geom, ref myrot);
-
- //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z);
- if (IsPhysical && Body == (IntPtr)0)
- {
- // Re creates body on size.
- // EnableBody also does setMass()
- enableBody();
- d.BodyEnable(Body);
- }
- }
+ //else
+ //{
+ // if (_pbs.ProfileShape == ProfileShape.HalfCircle && _pbs.PathCurve == (byte)Extrusion.Curve1)
+ // {
+ // if (_size.X == _size.Y && _size.Y == _size.Z && _size.X == _size.Z)
+ // {
+ // _parent_scene.waitForSpaceUnlock(m_targetSpace);
+ // SetGeom(d.CreateSphere(m_targetSpace, _size.X / 2));
+ // }
+ // else
+ // {
+ // _parent_scene.waitForSpaceUnlock(m_targetSpace);
+ // SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
+ // }
+ // }
+ // //else if (_pbs.ProfileShape == ProfileShape.Circle && _pbs.PathCurve == (byte)Extrusion.Straight)
+ // //{
+ // //Cyllinder
+ // //if (_size.X == _size.Y)
+ // //{
+ // //prim_geom = d.CreateCylinder(m_targetSpace, _size.X / 2, _size.Z);
+ // //}
+ // //else
+ // //{
+ // //prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z);
+ // //}
+ // //}
+ // else
+ // {
+ // _parent_scene.waitForSpaceUnlock(m_targetSpace);
+ // SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
+ // }
+ // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
+ // d.Quaternion myrot = new d.Quaternion();
+ // myrot.W = _orientation.w;
+ // myrot.X = _orientation.x;
+ // myrot.Y = _orientation.y;
+ // myrot.Z = _orientation.z;
+ // d.GeomSetQuaternion(prim_geom, ref myrot);
+
+ // //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z);
+ // if (IsPhysical && Body == (IntPtr)0)
+ // {
+ // // Re creates body on size.
+ // // EnableBody also does setMass()
+ // enableBody();
+ // d.BodyEnable(Body);
+ // }
+ //}
_parent_scene.geom_name_map[prim_geom] = oldname;
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index cd5032c..ec0e0ff 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -1127,10 +1127,10 @@ namespace OpenSim.Region.Physics.OdePlugin
private PhysicsActor AddPrim(String name, PhysicsVector position, PhysicsVector size, Quaternion rotation,
IMesh mesh, PrimitiveBaseShape pbs, bool isphysical)
{
- PhysicsVector pos = new PhysicsVector();
- pos.X = position.X;
- pos.Y = position.Y;
- pos.Z = position.Z;
+ PhysicsVector pos = new PhysicsVector(position.X, position.Y, position.Z);
+ //pos.X = position.X;
+ //pos.Y = position.Y;
+ //pos.Z = position.Z;
PhysicsVector siz = new PhysicsVector();
siz.X = size.X;
siz.Y = size.Y;
@@ -1171,17 +1171,19 @@ namespace OpenSim.Region.Physics.OdePlugin
PhysicsActor result;
IMesh mesh = null;
- switch (pbs.ProfileShape)
- {
- case ProfileShape.Square:
+ //switch (pbs.ProfileShape)
+ //{
+ // case ProfileShape.Square:
/// support simple box & hollow box now; later, more shapes
- if (needsMeshing(pbs))
- {
- mesh = mesher.CreateMesh(primName, pbs, size, 32f, isPhysical);
- }
+ //if (needsMeshing(pbs))
+ //{
+ // mesh = mesher.CreateMesh(primName, pbs, size, 32f, isPhysical);
+ //}
- break;
- }
+ // break;
+ //}
+
+ mesh = mesher.CreateMesh(primName, pbs, size, 32f, isPhysical);
result = AddPrim(primName, position, size, rotation, mesh, pbs, isPhysical);
@@ -1521,61 +1523,61 @@ namespace OpenSim.Region.Physics.OdePlugin
///
///
///
- public bool needsMeshing(PrimitiveBaseShape pbs)
- {
- //if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle && pbs.ProfileCurve == (byte)LLObject.ProfileCurve.Circle && pbs.PathScaleY <= 0.75f)
- //Console.WriteLine("needsMeshing: " + " pathCurve: " + pbs.PathCurve.ToString() + " profileCurve: " + pbs.ProfileCurve.ToString() + " pathScaleY: " + LLObject.UnpackPathScale(pbs.PathScaleY).ToString());
- if (pbs.SculptEntry && !meshSculptedPrim)
- {
- return false;
- }
+ //public bool needsMeshing(PrimitiveBaseShape pbs)
+ //{
+ // //if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle && pbs.ProfileCurve == (byte)LLObject.ProfileCurve.Circle && pbs.PathScaleY <= 0.75f)
+ // //Console.WriteLine("needsMeshing: " + " pathCurve: " + pbs.PathCurve.ToString() + " profileCurve: " + pbs.ProfileCurve.ToString() + " pathScaleY: " + LLObject.UnpackPathScale(pbs.PathScaleY).ToString());
+ // if (pbs.SculptEntry && !meshSculptedPrim)
+ // {
+ // return false;
+ // }
- if (pbs.ProfileHollow != 0)
- return true;
+ // if (pbs.ProfileHollow != 0)
+ // return true;
- if (((Int16)pbs.PathTwistBegin != 0) || ((Int16)pbs.PathTwist != 0))
- return true;
+ // if (((Int16)pbs.PathTwistBegin != 0) || ((Int16)pbs.PathTwist != 0))
+ // return true;
- if ((pbs.ProfileBegin != 0) || pbs.ProfileEnd != 0)
- return true;
+ // if ((pbs.ProfileBegin != 0) || pbs.ProfileEnd != 0)
+ // return true;
- if ((pbs.PathScaleX != 100) || (pbs.PathScaleY != 100))
- return true;
+ // if ((pbs.PathScaleX != 100) || (pbs.PathScaleY != 100))
+ // return true;
- if ((pbs.PathShearX != 0) || (pbs.PathShearY != 0))
- return true;
+ // if ((pbs.PathShearX != 0) || (pbs.PathShearY != 0))
+ // return true;
- if (pbs.ProfileShape == ProfileShape.Circle && pbs.PathCurve == (byte)Extrusion.Straight)
- return true;
- //if (pbs.ProfileShape == ProfileShape.HalfCircle && pbs.PathCurve == (byte)Extrusion.Curve1 && (pbs.Scale.X != pbs.Scale.Y || pbs.Scale.Y != pbs.Scale.Z || pbs.Scale.Z != pbs.Scale.X))
- // return true;
+ // if (pbs.ProfileShape == ProfileShape.Circle && pbs.PathCurve == (byte)Extrusion.Straight)
+ // return true;
+ // //if (pbs.ProfileShape == ProfileShape.HalfCircle && pbs.PathCurve == (byte)Extrusion.Curve1 && (pbs.Scale.X != pbs.Scale.Y || pbs.Scale.Y != pbs.Scale.Z || pbs.Scale.Z != pbs.Scale.X))
+ // // return true;
- if (pbs.ProfileShape == ProfileShape.HalfCircle && pbs.PathCurve == (byte) Extrusion.Curve1)
- return true;
+ // if (pbs.ProfileShape == ProfileShape.HalfCircle && pbs.PathCurve == (byte) Extrusion.Curve1)
+ // return true;
- // test for torus
- if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle
- && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.Circle
- && LLObject.UnpackPathScale(pbs.PathScaleY) <= 0.75f)
- return true;
+ // // test for torus
+ // if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle
+ // && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.Circle
+ // && LLObject.UnpackPathScale(pbs.PathScaleY) <= 0.75f)
+ // return true;
- // test for tube
- if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle
- && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.EqualTriangle)
- return true;
+ // // test for tube
+ // if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle
+ // && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.EqualTriangle)
+ // return true;
- // test for ring
- if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle
- && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.EqualTriangle)
- return true;
+ // // test for ring
+ // if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle
+ // && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.EqualTriangle)
+ // return true;
- if (pbs.ProfileShape == ProfileShape.EquilateralTriangle)
- return true;
+ // if (pbs.ProfileShape == ProfileShape.EquilateralTriangle)
+ // return true;
- return false;
- }
+ // return false;
+ //}
///
/// Called after our prim properties are set Scale, position etc.
--
cgit v1.1