aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/Manager/IMesher.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Physics/Manager/IMesher.cs')
-rw-r--r--OpenSim/Region/Physics/Manager/IMesher.cs28
1 files changed, 27 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/Manager/IMesher.cs b/OpenSim/Region/Physics/Manager/IMesher.cs
index 2e7bb5d..5485eb7 100644
--- a/OpenSim/Region/Physics/Manager/IMesher.cs
+++ b/OpenSim/Region/Physics/Manager/IMesher.cs
@@ -27,6 +27,7 @@
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Runtime.InteropServices;
30using OpenSim.Framework; 31using OpenSim.Framework;
31using OpenMetaverse; 32using OpenMetaverse;
32 33
@@ -36,7 +37,11 @@ namespace OpenSim.Region.Physics.Manager
36 { 37 {
37 IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod); 38 IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod);
38 IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical); 39 IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical);
39 IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool shouldCache); 40 IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool shouldCache, bool convex, bool forOde);
41 IMesh GetMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical, bool convex);
42 void ReleaseMesh(IMesh mesh);
43 void ExpireReleaseMeshs();
44 void ExpireFileCache();
40 } 45 }
41 46
42 // Values for level of detail to be passed to the mesher. 47 // Values for level of detail to be passed to the mesher.
@@ -54,6 +59,25 @@ namespace OpenSim.Region.Physics.Manager
54 { 59 {
55 } 60 }
56 61
62 [Serializable()]
63 [StructLayout(LayoutKind.Explicit)]
64 public struct AMeshKey
65 {
66 [FieldOffset(0)]
67 public UUID uuid;
68 [FieldOffset(0)]
69 public ulong hashA;
70 [FieldOffset(8)]
71 public ulong hashB;
72 [FieldOffset(16)]
73 public ulong hashC;
74
75 public override string ToString()
76 {
77 return uuid.ToString() + "-" + hashC.ToString("x") ;
78 }
79 }
80
57 public interface IMesh 81 public interface IMesh
58 { 82 {
59 List<Vector3> getVertexList(); 83 List<Vector3> getVertexList();
@@ -67,5 +91,7 @@ namespace OpenSim.Region.Physics.Manager
67 void releasePinned(); 91 void releasePinned();
68 void Append(IMesh newMesh); 92 void Append(IMesh newMesh);
69 void TransformLinear(float[,] matrix, float[] offset); 93 void TransformLinear(float[,] matrix, float[] offset);
94 Vector3 GetCentroid();
95 Vector3 GetOBB();
70 } 96 }
71} 97}