aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/PhysicsModules/UbitMeshing/HelperTypes.cs4
-rw-r--r--OpenSim/Region/PhysicsModules/UbitMeshing/Mesh.cs4
-rw-r--r--OpenSim/Region/PhysicsModules/UbitMeshing/Meshmerizer.cs71
-rw-r--r--prebuild.xml10
4 files changed, 59 insertions, 30 deletions
diff --git a/OpenSim/Region/PhysicsModules/UbitMeshing/HelperTypes.cs b/OpenSim/Region/PhysicsModules/UbitMeshing/HelperTypes.cs
index 5dc1e78..284d9fe 100644
--- a/OpenSim/Region/PhysicsModules/UbitMeshing/HelperTypes.cs
+++ b/OpenSim/Region/PhysicsModules/UbitMeshing/HelperTypes.cs
@@ -30,8 +30,8 @@ using System.Collections.Generic;
30using System.Diagnostics; 30using System.Diagnostics;
31using System.Globalization; 31using System.Globalization;
32using OpenMetaverse; 32using OpenMetaverse;
33using OpenSim.Region.Physics.Manager; 33using OpenSim.Region.PhysicsModules.SharedBase;
34using OpenSim.Region.Physics.Meshing; 34using OpenSim.Region.PhysicsModules.UbitMeshing;
35 35
36public class Vertex : IComparable<Vertex> 36public class Vertex : IComparable<Vertex>
37{ 37{
diff --git a/OpenSim/Region/PhysicsModules/UbitMeshing/Mesh.cs b/OpenSim/Region/PhysicsModules/UbitMeshing/Mesh.cs
index 0418893..485de63 100644
--- a/OpenSim/Region/PhysicsModules/UbitMeshing/Mesh.cs
+++ b/OpenSim/Region/PhysicsModules/UbitMeshing/Mesh.cs
@@ -29,13 +29,13 @@ using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.IO; 30using System.IO;
31using System.Runtime.InteropServices; 31using System.Runtime.InteropServices;
32using OpenSim.Region.Physics.Manager; 32using OpenSim.Region.PhysicsModules.SharedBase;
33using PrimMesher; 33using PrimMesher;
34using OpenMetaverse; 34using OpenMetaverse;
35using System.Runtime.Serialization; 35using System.Runtime.Serialization;
36using System.Runtime.Serialization.Formatters.Binary; 36using System.Runtime.Serialization.Formatters.Binary;
37 37
38namespace OpenSim.Region.Physics.Meshing 38namespace OpenSim.Region.PhysicsModules.UbitMeshing
39{ 39{
40 public class MeshBuildingData 40 public class MeshBuildingData
41 { 41 {
diff --git a/OpenSim/Region/PhysicsModules/UbitMeshing/Meshmerizer.cs b/OpenSim/Region/PhysicsModules/UbitMeshing/Meshmerizer.cs
index c131c6f..7a728ce 100644
--- a/OpenSim/Region/PhysicsModules/UbitMeshing/Meshmerizer.cs
+++ b/OpenSim/Region/PhysicsModules/UbitMeshing/Meshmerizer.cs
@@ -29,7 +29,9 @@
29using System; 29using System;
30using System.Collections.Generic; 30using System.Collections.Generic;
31using OpenSim.Framework; 31using OpenSim.Framework;
32using OpenSim.Region.Physics.Manager; 32using OpenSim.Region.Framework.Scenes;
33using OpenSim.Region.Framework.Interfaces;
34using OpenSim.Region.PhysicsModules.SharedBase;
33using OpenMetaverse; 35using OpenMetaverse;
34using OpenMetaverse.StructuredData; 36using OpenMetaverse.StructuredData;
35using System.Drawing; 37using System.Drawing;
@@ -41,36 +43,23 @@ using Nini.Config;
41using System.Reflection; 43using System.Reflection;
42using System.IO; 44using System.IO;
43using ComponentAce.Compression.Libs.zlib; 45using ComponentAce.Compression.Libs.zlib;
44using OpenSim.Region.Physics.ConvexDecompositionDotNet;
45using System.Runtime.Serialization; 46using System.Runtime.Serialization;
46using System.Runtime.Serialization.Formatters.Binary; 47using System.Runtime.Serialization.Formatters.Binary;
47 48
48namespace OpenSim.Region.Physics.Meshing 49using Mono.Addins;
49{
50 public class MeshmerizerPlugin : IMeshingPlugin
51 {
52 public MeshmerizerPlugin()
53 {
54 }
55 50
56 public string GetName() 51namespace OpenSim.Region.PhysicsModules.UbitMeshing
57 { 52{
58 return "UbitMeshmerizer"; 53 [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "UbitMeshmerizer")]
59 } 54 public class UbitMeshmerizer : IMesher, INonSharedRegionModule
60
61 public IMesher GetMesher(IConfigSource config)
62 {
63 return new Meshmerizer(config);
64 }
65 }
66
67 public class Meshmerizer : IMesher
68 { 55 {
69 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 56 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
70 57
71 // Setting baseDir to a path will enable the dumping of raw files 58 // Setting baseDir to a path will enable the dumping of raw files
72 // raw files can be imported by blender so a visual inspection of the results can be done 59 // raw files can be imported by blender so a visual inspection of the results can be done
73 60
61 private bool m_Enabled = false;
62
74 public object diskLock = new object(); 63 public object diskLock = new object();
75 64
76 public bool doMeshFileCache = true; 65 public bool doMeshFileCache = true;
@@ -89,7 +78,18 @@ namespace OpenSim.Region.Physics.Meshing
89 private Dictionary<AMeshKey, Mesh> m_uniqueMeshes = new Dictionary<AMeshKey, Mesh>(); 78 private Dictionary<AMeshKey, Mesh> m_uniqueMeshes = new Dictionary<AMeshKey, Mesh>();
90 private Dictionary<AMeshKey, Mesh> m_uniqueReleasedMeshes = new Dictionary<AMeshKey, Mesh>(); 79 private Dictionary<AMeshKey, Mesh> m_uniqueReleasedMeshes = new Dictionary<AMeshKey, Mesh>();
91 80
92 public Meshmerizer(IConfigSource config) 81 #region INonSharedRegionModule
82 public string Name
83 {
84 get { return "UbitMeshmerizer"; }
85 }
86
87 public Type ReplaceableInterface
88 {
89 get { return null; }
90 }
91
92 public void Initialise(IConfigSource config)
93 { 93 {
94 IConfig start_config = config.Configs["Startup"]; 94 IConfig start_config = config.Configs["Startup"];
95 IConfig mesh_config = config.Configs["Mesh"]; 95 IConfig mesh_config = config.Configs["Mesh"];
@@ -118,7 +118,34 @@ namespace OpenSim.Region.Physics.Meshing
118 CacheExpire = TimeSpan.FromHours(fcache); 118 CacheExpire = TimeSpan.FromHours(fcache);
119 119
120 } 120 }
121 public void Close()
122 {
123 }
124
125 public void AddRegion(Scene scene)
126 {
127 if (!m_Enabled)
128 return;
129
130 scene.RegisterModuleInterface<IMesher>(this);
131 }
121 132
133 public void RemoveRegion(Scene scene)
134 {
135 if (!m_Enabled)
136 return;
137
138 scene.UnregisterModuleInterface<IMesher>(this);
139 }
140
141 public void RegionLoaded(Scene scene)
142 {
143 if (!m_Enabled)
144 return;
145 }
146
147 #endregion
148
122 /// <summary> 149 /// <summary>
123 /// creates a simple box mesh of the specified size. This mesh is of very low vertex count and may 150 /// creates a simple box mesh of the specified size. This mesh is of very low vertex count and may
124 /// be useful as a backup proxy when level of detail is not needed or when more complex meshes fail 151 /// be useful as a backup proxy when level of detail is not needed or when more complex meshes fail
diff --git a/prebuild.xml b/prebuild.xml
index a9b9336..fdef5c5 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -414,10 +414,12 @@
414 <Reference name="OpenSim.Framework"/> 414 <Reference name="OpenSim.Framework"/>
415 <Reference name="OpenSim.Framework.Console"/> 415 <Reference name="OpenSim.Framework.Console"/>
416 <Reference name="OpenSim.Region.PhysicsModules.SharedBase"/> 416 <Reference name="OpenSim.Region.PhysicsModules.SharedBase"/>
417 <Reference name="OpenSim.Region.Framework"/>
417 <Reference name="OpenSim.Region.PhysicsModules.ConvexDecompositionDotNet"/> 418 <Reference name="OpenSim.Region.PhysicsModules.ConvexDecompositionDotNet"/>
418 <Reference name="log4net" path="../../../../bin/"/>
419 <Reference name="zlib.net" path="../../../../bin/"/> 419 <Reference name="zlib.net" path="../../../../bin/"/>
420 420 <Reference name="Mono.Addins" path="../../../../bin/"/>
421 <Reference name="log4net" path="../../../../bin/"/>
422
421 <Files> 423 <Files>
422 <Match pattern="*.cs" recurse="true"/> 424 <Match pattern="*.cs" recurse="true"/>
423 </Files> 425 </Files>
@@ -1589,7 +1591,7 @@
1589 </Files> 1591 </Files>
1590 </Project> 1592 </Project>
1591 1593
1592 <Project frameworkVersion="v4_0" name="OpenSim.Region.PhysicsModule.ConvexDecompositionDotNet" path="OpenSim/Region/PhysicsModules/ConvexDecompositionDotNet" type="Library"> 1594 <Project frameworkVersion="v4_0" name="OpenSim.Region.PhysicsModules.ConvexDecompositionDotNet" path="OpenSim/Region/PhysicsModules/ConvexDecompositionDotNet" type="Library">
1593 <Configuration name="Debug"> 1595 <Configuration name="Debug">
1594 <Options> 1596 <Options>
1595 <OutputPath>../../../../bin/</OutputPath> 1597 <OutputPath>../../../../bin/</OutputPath>
@@ -1755,7 +1757,7 @@
1755 <Reference name="OpenSim.Framework.Console"/> 1757 <Reference name="OpenSim.Framework.Console"/>
1756 <Reference name="OpenSim.Region.PhysicsModules.SharedBase"/> 1758 <Reference name="OpenSim.Region.PhysicsModules.SharedBase"/>
1757 <Reference name="OpenSim.Region.PhysicsModules.Meshing" path="../../../../bin/"/> 1759 <Reference name="OpenSim.Region.PhysicsModules.Meshing" path="../../../../bin/"/>
1758 <Reference name="OpenSim.Region.PhysicsModule.ConvexDecompositionDotNet"/> 1760 <Reference name="OpenSim.Region.PhysicsModules.ConvexDecompositionDotNet"/>
1759 <Reference name="Mono.Addins" path="../../../../bin/"/> 1761 <Reference name="Mono.Addins" path="../../../../bin/"/>
1760 <Reference name="BulletXNA.dll" path="../../../../bin/"/> 1762 <Reference name="BulletXNA.dll" path="../../../../bin/"/>
1761 <Reference name="log4net.dll" path="../../../../bin/"/> 1763 <Reference name="log4net.dll" path="../../../../bin/"/>