diff options
author | Robert Adams | 2013-10-02 16:59:37 -0700 |
---|---|---|
committer | Robert Adams | 2013-10-07 13:57:40 -0700 |
commit | 7416809077227f35ab70ed44060e51f2bcf66937 (patch) | |
tree | 7578cbfed07777d5c60af986791dc7d8b09b2cd5 /OpenSim/Region/Framework/Interfaces/ITerrainChannel.cs | |
parent | varregion: remove scattered use of Constants.RegionSize by having routines re... (diff) | |
download | opensim-SC-7416809077227f35ab70ed44060e51f2bcf66937.zip opensim-SC-7416809077227f35ab70ed44060e51f2bcf66937.tar.gz opensim-SC-7416809077227f35ab70ed44060e51f2bcf66937.tar.bz2 opensim-SC-7416809077227f35ab70ed44060e51f2bcf66937.tar.xz |
varregion: plug in TerrainData class and modify TerrainModule and LLClientView to use same. This passes a terrain info class around rather than passing a one dimensional array thus allowing variable regions. Update the database storage for variable region sizes. This should be downward compatible (same format for 256x256 regions).
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Interfaces/ITerrainChannel.cs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/ITerrainChannel.cs b/OpenSim/Region/Framework/Interfaces/ITerrainChannel.cs index 3c060a4..cc8a236 100644 --- a/OpenSim/Region/Framework/Interfaces/ITerrainChannel.cs +++ b/OpenSim/Region/Framework/Interfaces/ITerrainChannel.cs | |||
@@ -25,6 +25,8 @@ | |||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | using OpenSim.Framework; | ||
29 | |||
28 | namespace OpenSim.Region.Framework.Interfaces | 30 | namespace OpenSim.Region.Framework.Interfaces |
29 | { | 31 | { |
30 | public interface ITerrainChannel | 32 | public interface ITerrainChannel |
@@ -35,18 +37,20 @@ namespace OpenSim.Region.Framework.Interfaces | |||
35 | 37 | ||
36 | double this[int x, int y] { get; set; } | 38 | double this[int x, int y] { get; set; } |
37 | 39 | ||
40 | // Return the packaged terrain data for passing into lower levels of communication | ||
41 | TerrainData GetTerrainData(); | ||
42 | |||
38 | /// <summary> | 43 | /// <summary> |
39 | /// Squash the entire heightmap into a single dimensioned array | 44 | /// Squash the entire heightmap into a single dimensioned array |
40 | /// </summary> | 45 | /// </summary> |
41 | /// <returns></returns> | 46 | /// <returns></returns> |
42 | float[] GetFloatsSerialised(); | 47 | float[] GetFloatsSerialised(); |
43 | // Get version of map as a single dimensioned array and each value compressed | ||
44 | // into an int (compressedHeight = (int)(floatHeight * Constants.TerrainCompression);) | ||
45 | // This is done to make the map smaller as it can get pretty larger for variable sized regions. | ||
46 | short[] GetCompressedMap(); | ||
47 | 48 | ||
48 | double[,] GetDoubles(); | 49 | double[,] GetDoubles(); |
50 | |||
51 | // Check if a location has been updated. Clears the taint flag as a side effect. | ||
49 | bool Tainted(int x, int y); | 52 | bool Tainted(int x, int y); |
53 | |||
50 | ITerrainChannel MakeCopy(); | 54 | ITerrainChannel MakeCopy(); |
51 | string SaveToXmlString(); | 55 | string SaveToXmlString(); |
52 | void LoadFromXmlString(string data); | 56 | void LoadFromXmlString(string data); |