diff options
Diffstat (limited to 'OpenSim/Region/Physics/Meshing')
-rw-r--r-- | OpenSim/Region/Physics/Meshing/Meshmerizer.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs index 58da667..984114b 100644 --- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs +++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs | |||
@@ -1556,6 +1556,20 @@ namespace OpenSim.Region.Physics.Meshing | |||
1556 | // m_log.DebugFormat("Starting cutting of the hollow shape from the prim {1}", 0, primName); | 1556 | // m_log.DebugFormat("Starting cutting of the hollow shape from the prim {1}", 0, primName); |
1557 | SimpleHull cuttedHull = SimpleHull.SubtractHull(outerHull, cutHull); | 1557 | SimpleHull cuttedHull = SimpleHull.SubtractHull(outerHull, cutHull); |
1558 | 1558 | ||
1559 | if ((primShape.ProfileCurve & 0x07) == (byte)ProfileShape.Circle) | ||
1560 | { | ||
1561 | Quaternion zFlip = new Quaternion(new Vertex(0.0f, 0.0f, 1.0f), (float)Math.PI); | ||
1562 | Vertex vTmp = new Vertex(0.0f, 0.0f, 0.0f); | ||
1563 | foreach (Vertex v in cuttedHull.getVertices()) | ||
1564 | if (v != null) | ||
1565 | { | ||
1566 | vTmp = v * zFlip; | ||
1567 | v.X = vTmp.X; | ||
1568 | v.Y = vTmp.Y; | ||
1569 | v.Z = vTmp.Z; | ||
1570 | } | ||
1571 | } | ||
1572 | |||
1559 | outerHull = cuttedHull; | 1573 | outerHull = cuttedHull; |
1560 | } | 1574 | } |
1561 | 1575 | ||