diff options
author | Teravus Ovares | 2008-05-29 20:20:50 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-05-29 20:20:50 +0000 |
commit | 918f887c0c10fda33633548f3601bdf07d74edfd (patch) | |
tree | 2db5459288f52117a071fcc51c7f2d1d7a19a3b3 /OpenSim/Region/Physics/OdePlugin | |
parent | Mantis#1416. Thank you very much, Melanie for a patch that: (diff) | |
download | opensim-SC_OLD-918f887c0c10fda33633548f3601bdf07d74edfd.zip opensim-SC_OLD-918f887c0c10fda33633548f3601bdf07d74edfd.tar.gz opensim-SC_OLD-918f887c0c10fda33633548f3601bdf07d74edfd.tar.bz2 opensim-SC_OLD-918f887c0c10fda33633548f3601bdf07d74edfd.tar.xz |
* Applying Dahlia's interim path curve patch. it adds initial support for some tori/ring parameters. Thanks Dahlia!
* Some situations do not match the client's render of the tori, we know and are working on it. This is an initial support patch, so expect it to not be exact.
* Some tapers are acting slightly odd. Will fix.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index e43a1ac..5078f03 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -36,6 +36,7 @@ using Nini.Config; | |||
36 | using Ode.NET; | 36 | using Ode.NET; |
37 | using OpenSim.Framework; | 37 | using OpenSim.Framework; |
38 | using OpenSim.Region.Physics.Manager; | 38 | using OpenSim.Region.Physics.Manager; |
39 | using libsecondlife; | ||
39 | 40 | ||
40 | //using OpenSim.Region.Physics.OdePlugin.Meshing; | 41 | //using OpenSim.Region.Physics.OdePlugin.Meshing; |
41 | 42 | ||
@@ -1512,6 +1513,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1512 | /// <returns></returns> | 1513 | /// <returns></returns> |
1513 | public bool needsMeshing(PrimitiveBaseShape pbs) | 1514 | public bool needsMeshing(PrimitiveBaseShape pbs) |
1514 | { | 1515 | { |
1516 | //if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle && pbs.ProfileCurve == (byte)LLObject.ProfileCurve.Circle && pbs.PathScaleY <= 0.75f) | ||
1517 | //Console.WriteLine("needsMeshing: " + " pathCurve: " + pbs.PathCurve.ToString() + " profileCurve: " + pbs.ProfileCurve.ToString() + " pathScaleY: " + LLObject.UnpackPathScale(pbs.PathScaleY).ToString()); | ||
1515 | if (pbs.SculptEntry && !meshSculptedPrim) | 1518 | if (pbs.SculptEntry && !meshSculptedPrim) |
1516 | { | 1519 | { |
1517 | return false; | 1520 | return false; |
@@ -1537,6 +1540,22 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1537 | 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)) | 1540 | 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)) |
1538 | return true; | 1541 | return true; |
1539 | 1542 | ||
1543 | // test for torus | ||
1544 | if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle | ||
1545 | && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.Circle | ||
1546 | && LLObject.UnpackPathScale(pbs.PathScaleY) <= 0.75f) | ||
1547 | return true; | ||
1548 | |||
1549 | // test for tube | ||
1550 | if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle | ||
1551 | && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.EqualTriangle) | ||
1552 | return true; | ||
1553 | |||
1554 | // test for ring | ||
1555 | if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle | ||
1556 | && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.EqualTriangle) | ||
1557 | return true; | ||
1558 | |||
1540 | if (pbs.ProfileShape == ProfileShape.EquilateralTriangle) | 1559 | if (pbs.ProfileShape == ProfileShape.EquilateralTriangle) |
1541 | return true; | 1560 | return true; |
1542 | 1561 | ||