mirror of
https://github.com/opensim/opensim.git
synced 2026-08-10 19:36:07 +08:00
varregion: push TerrainData implementation up and down the database storage stack.
Implement both LoadTerrain and StoreTerrain for all DBs. Move all database blob serialization/deserialization into TerrainData.
This commit is contained in:
@@ -69,11 +69,21 @@ namespace OpenSim.Data.Null
|
||||
m_store.StoreTerrain(terrain, regionID);
|
||||
}
|
||||
|
||||
public void StoreTerrain(TerrainData terrain, UUID regionID)
|
||||
{
|
||||
m_store.StoreTerrain(terrain, regionID);
|
||||
}
|
||||
|
||||
public double[,] LoadTerrain(UUID regionID)
|
||||
{
|
||||
return m_store.LoadTerrain(regionID);
|
||||
}
|
||||
|
||||
public TerrainData LoadTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ)
|
||||
{
|
||||
return m_store.LoadTerrain(regionID, pSizeX, pSizeY, pSizeZ);
|
||||
}
|
||||
|
||||
public void StoreLandObject(ILandObject Parcel)
|
||||
{
|
||||
m_store.StoreLandObject(Parcel);
|
||||
@@ -154,7 +164,7 @@ namespace OpenSim.Data.Null
|
||||
protected Dictionary<UUID, SceneObjectPart> m_sceneObjectParts = new Dictionary<UUID, SceneObjectPart>();
|
||||
protected Dictionary<UUID, ICollection<TaskInventoryItem>> m_primItems
|
||||
= new Dictionary<UUID, ICollection<TaskInventoryItem>>();
|
||||
protected Dictionary<UUID, double[,]> m_terrains = new Dictionary<UUID, double[,]>();
|
||||
protected Dictionary<UUID, TerrainData> m_terrains = new Dictionary<UUID, TerrainData>();
|
||||
protected Dictionary<UUID, LandData> m_landData = new Dictionary<UUID, LandData>();
|
||||
|
||||
public void Initialise(string dbfile)
|
||||
@@ -299,15 +309,28 @@ namespace OpenSim.Data.Null
|
||||
return new List<SceneObjectGroup>(objects.Values);
|
||||
}
|
||||
|
||||
public void StoreTerrain(double[,] ter, UUID regionID)
|
||||
public void StoreTerrain(TerrainData ter, UUID regionID)
|
||||
{
|
||||
m_terrains[regionID] = ter;
|
||||
}
|
||||
|
||||
public void StoreTerrain(double[,] ter, UUID regionID)
|
||||
{
|
||||
m_terrains[regionID] = new HeightmapTerrainData(ter);
|
||||
}
|
||||
|
||||
public TerrainData LoadTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ)
|
||||
{
|
||||
if (m_terrains.ContainsKey(regionID))
|
||||
return m_terrains[regionID];
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
public double[,] LoadTerrain(UUID regionID)
|
||||
{
|
||||
if (m_terrains.ContainsKey(regionID))
|
||||
return m_terrains[regionID];
|
||||
return m_terrains[regionID].GetDoubles();
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user