diff options
Diffstat (limited to 'OpenSim/Region/Framework/Interfaces')
12 files changed, 155 insertions, 37 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IAvatarFactoryModule.cs b/OpenSim/Region/Framework/Interfaces/IAvatarFactoryModule.cs index 34aca33..d25c930 100644 --- a/OpenSim/Region/Framework/Interfaces/IAvatarFactoryModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IAvatarFactoryModule.cs | |||
@@ -35,8 +35,8 @@ namespace OpenSim.Region.Framework.Interfaces | |||
35 | 35 | ||
36 | public interface IAvatarFactoryModule | 36 | public interface IAvatarFactoryModule |
37 | { | 37 | { |
38 | void SetAppearance(IScenePresence sp, AvatarAppearance appearance); | 38 | void SetAppearance(IScenePresence sp, AvatarAppearance appearance, WearableCacheItem[] cacheItems); |
39 | void SetAppearance(IScenePresence sp, Primitive.TextureEntry textureEntry, byte[] visualParams); | 39 | void SetAppearance(IScenePresence sp, Primitive.TextureEntry textureEntry, byte[] visualParams, WearableCacheItem[] cacheItems); |
40 | 40 | ||
41 | /// <summary> | 41 | /// <summary> |
42 | /// Send the appearance of an avatar to others in the scene. | 42 | /// Send the appearance of an avatar to others in the scene. |
@@ -52,6 +52,8 @@ namespace OpenSim.Region.Framework.Interfaces | |||
52 | /// <returns>An empty list if this agent has no baked textures (e.g. because it's a child agent)</returns> | 52 | /// <returns>An empty list if this agent has no baked textures (e.g. because it's a child agent)</returns> |
53 | Dictionary<BakeType, Primitive.TextureEntryFace> GetBakedTextureFaces(UUID agentId); | 53 | Dictionary<BakeType, Primitive.TextureEntryFace> GetBakedTextureFaces(UUID agentId); |
54 | 54 | ||
55 | |||
56 | WearableCacheItem[] GetCachedItems(UUID agentId); | ||
55 | /// <summary> | 57 | /// <summary> |
56 | /// Save the baked textures for the given agent permanently in the asset database. | 58 | /// Save the baked textures for the given agent permanently in the asset database. |
57 | /// </summary> | 59 | /// </summary> |
diff --git a/OpenSim/Region/Framework/Interfaces/IBakedTextureModule.cs b/OpenSim/Region/Framework/Interfaces/IBakedTextureModule.cs new file mode 100644 index 0000000..b536a49 --- /dev/null +++ b/OpenSim/Region/Framework/Interfaces/IBakedTextureModule.cs | |||
@@ -0,0 +1,40 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSimulator Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
29 | using Nini.Config; | ||
30 | using OpenSim.Framework; | ||
31 | using OpenMetaverse; | ||
32 | |||
33 | namespace OpenSim.Services.Interfaces | ||
34 | { | ||
35 | public interface IBakedTextureModule | ||
36 | { | ||
37 | WearableCacheItem[] Get(UUID id); | ||
38 | void Store(UUID id, WearableCacheItem[] data); | ||
39 | } | ||
40 | } | ||
diff --git a/OpenSim/Region/Framework/Interfaces/IEntityTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IEntityTransferModule.cs index 1c43a25..709d8fc 100644 --- a/OpenSim/Region/Framework/Interfaces/IEntityTransferModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IEntityTransferModule.cs | |||
@@ -35,6 +35,8 @@ using OpenSim.Region.Framework.Scenes; | |||
35 | 35 | ||
36 | namespace OpenSim.Region.Framework.Interfaces | 36 | namespace OpenSim.Region.Framework.Interfaces |
37 | { | 37 | { |
38 | public delegate ScenePresence CrossAgentToNewRegionDelegate(ScenePresence agent, Vector3 pos, GridRegion neighbourRegion, bool isFlying, string version); | ||
39 | |||
38 | public interface IEntityTransferModule | 40 | public interface IEntityTransferModule |
39 | { | 41 | { |
40 | /// <summary> | 42 | /// <summary> |
@@ -45,13 +47,22 @@ namespace OpenSim.Region.Framework.Interfaces | |||
45 | /// The handle of the destination region. If it's the same as the region currently | 47 | /// The handle of the destination region. If it's the same as the region currently |
46 | /// occupied by the agent then the teleport will be within that region. | 48 | /// occupied by the agent then the teleport will be within that region. |
47 | /// </param> | 49 | /// </param> |
50 | /// <param name='agent'></param> | ||
51 | /// <param name='regionHandle'></param> | ||
48 | /// <param name='position'></param> | 52 | /// <param name='position'></param> |
49 | /// <param name='lookAt'></param> | 53 | /// <param name='lookAt'></param> |
50 | /// <param name='teleportFlags'></param> | 54 | /// <param name='teleportFlags'></param> |
51 | void Teleport(ScenePresence agent, ulong regionHandle, Vector3 position, Vector3 lookAt, uint teleportFlags); | 55 | void Teleport(ScenePresence agent, ulong regionHandle, Vector3 position, Vector3 lookAt, uint teleportFlags); |
52 | 56 | ||
53 | /// <summary> | 57 | /// <summary> |
54 | /// Teleport an agent directly to a given region without checking whether the region should be subsituted. | 58 | /// Teleports the agent for the given client to their home destination. |
59 | /// </summary> | ||
60 | /// <param name='id'></param> | ||
61 | /// <param name='client'></param> | ||
62 | bool TeleportHome(UUID id, IClientAPI client); | ||
63 | |||
64 | /// <summary> | ||
65 | /// Teleport an agent directly to a given region without checking whether the region should be substituted. | ||
55 | /// </summary> | 66 | /// </summary> |
56 | /// <remarks> | 67 | /// <remarks> |
57 | /// Please use Teleport() instead unless you know exactly what you're doing. | 68 | /// Please use Teleport() instead unless you know exactly what you're doing. |
@@ -63,18 +74,10 @@ namespace OpenSim.Region.Framework.Interfaces | |||
63 | /// <param name='position'></param> | 74 | /// <param name='position'></param> |
64 | /// <param name='lookAt'></param> | 75 | /// <param name='lookAt'></param> |
65 | /// <param name='teleportFlags'></param> | 76 | /// <param name='teleportFlags'></param> |
66 | void DoTeleport( | 77 | void DoTeleport(ScenePresence sp, GridRegion reg, GridRegion finalDestination, |
67 | ScenePresence sp, GridRegion reg, GridRegion finalDestination, | ||
68 | Vector3 position, Vector3 lookAt, uint teleportFlags); | 78 | Vector3 position, Vector3 lookAt, uint teleportFlags); |
69 | 79 | ||
70 | /// <summary> | 80 | /// <summary> |
71 | /// Teleports the agent for the given client to their home destination. | ||
72 | /// </summary> | ||
73 | /// <param name='id'></param> | ||
74 | /// <param name='client'></param> | ||
75 | bool TeleportHome(UUID id, IClientAPI client); | ||
76 | |||
77 | /// <summary> | ||
78 | /// Show whether the given agent is being teleported. | 81 | /// Show whether the given agent is being teleported. |
79 | /// </summary> | 82 | /// </summary> |
80 | /// <param name='id'>The agent ID</para></param> | 83 | /// <param name='id'>The agent ID</para></param> |
@@ -89,7 +92,11 @@ namespace OpenSim.Region.Framework.Interfaces | |||
89 | 92 | ||
90 | void EnableChildAgent(ScenePresence agent, GridRegion region); | 93 | void EnableChildAgent(ScenePresence agent, GridRegion region); |
91 | 94 | ||
95 | GridRegion GetDestination(Scene scene, UUID agentID, Vector3 pos, out string version, out Vector3 newpos); | ||
96 | |||
92 | void Cross(SceneObjectGroup sog, Vector3 position, bool silent); | 97 | void Cross(SceneObjectGroup sog, Vector3 position, bool silent); |
98 | |||
99 | ScenePresence CrossAgentToNewRegionAsync(ScenePresence agent, Vector3 pos, GridRegion neighbourRegion, bool isFlying, string version); | ||
93 | } | 100 | } |
94 | 101 | ||
95 | public interface IUserAgentVerificationModule | 102 | public interface IUserAgentVerificationModule |
diff --git a/OpenSim/Region/Framework/Interfaces/IEventQueue.cs b/OpenSim/Region/Framework/Interfaces/IEventQueue.cs index 3780ece..dfc269e 100644 --- a/OpenSim/Region/Framework/Interfaces/IEventQueue.cs +++ b/OpenSim/Region/Framework/Interfaces/IEventQueue.cs | |||
@@ -39,16 +39,17 @@ namespace OpenSim.Region.Framework.Interfaces | |||
39 | 39 | ||
40 | // These are required to decouple Scenes from EventQueueHelper | 40 | // These are required to decouple Scenes from EventQueueHelper |
41 | void DisableSimulator(ulong handle, UUID avatarID); | 41 | void DisableSimulator(ulong handle, UUID avatarID); |
42 | void EnableSimulator(ulong handle, IPEndPoint endPoint, UUID avatarID); | 42 | void EnableSimulator(ulong handle, IPEndPoint endPoint, UUID avatarID, int regionSizeX, int regionSizeY); |
43 | void EstablishAgentCommunication(UUID avatarID, IPEndPoint endPoint, | 43 | void EstablishAgentCommunication(UUID avatarID, IPEndPoint endPoint, |
44 | string capsPath); | 44 | string capsPath, ulong regionHandle, int regionSizeX, int regionSizeY); |
45 | void TeleportFinishEvent(ulong regionHandle, byte simAccess, | 45 | void TeleportFinishEvent(ulong regionHandle, byte simAccess, |
46 | IPEndPoint regionExternalEndPoint, | 46 | IPEndPoint regionExternalEndPoint, |
47 | uint locationID, uint flags, string capsURL, | 47 | uint locationID, uint flags, string capsURL, |
48 | UUID agentID); | 48 | UUID agentID, int regionSizeX, int regionSizeY); |
49 | void CrossRegion(ulong handle, Vector3 pos, Vector3 lookAt, | 49 | void CrossRegion(ulong handle, Vector3 pos, Vector3 lookAt, |
50 | IPEndPoint newRegionExternalEndPoint, | 50 | IPEndPoint newRegionExternalEndPoint, |
51 | string capsURL, UUID avatarID, UUID sessionID); | 51 | string capsURL, UUID avatarID, UUID sessionID, |
52 | int regionSizeX, int regionSizeY); | ||
52 | void ChatterboxInvitation(UUID sessionID, string sessionName, | 53 | void ChatterboxInvitation(UUID sessionID, string sessionName, |
53 | UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, | 54 | UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, |
54 | uint timeStamp, bool offline, int parentEstateID, Vector3 position, | 55 | uint timeStamp, bool offline, int parentEstateID, Vector3 position, |
diff --git a/OpenSim/Region/Framework/Interfaces/IJ2KDecoder.cs b/OpenSim/Region/Framework/Interfaces/IJ2KDecoder.cs index 46d03b3..1cbd045 100644 --- a/OpenSim/Region/Framework/Interfaces/IJ2KDecoder.cs +++ b/OpenSim/Region/Framework/Interfaces/IJ2KDecoder.cs | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
@@ -25,6 +25,7 @@ | |||
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 System.Drawing; | ||
28 | using OpenMetaverse; | 29 | using OpenMetaverse; |
29 | using OpenMetaverse.Imaging; | 30 | using OpenMetaverse.Imaging; |
30 | 31 | ||
@@ -53,5 +54,12 @@ namespace OpenSim.Region.Framework.Interfaces | |||
53 | /// <param name="components">number of components</param> | 54 | /// <param name="components">number of components</param> |
54 | /// <returns>true if decode was successful. false otherwise.</returns> | 55 | /// <returns>true if decode was successful. false otherwise.</returns> |
55 | bool Decode(UUID assetID, byte[] j2kData, out OpenJPEG.J2KLayerInfo[] layers, out int components); | 56 | bool Decode(UUID assetID, byte[] j2kData, out OpenJPEG.J2KLayerInfo[] layers, out int components); |
57 | |||
58 | /// <summary> | ||
59 | /// Provides a synchronous decode direct to an image object | ||
60 | /// </summary> | ||
61 | /// <param name="j2kData"></param> | ||
62 | /// <returns>decoded image or 'null' of unsuccessful</returns> | ||
63 | Image DecodeToImage(byte[] j2kData); | ||
56 | } | 64 | } |
57 | } | 65 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs index b67312e..1a89721 100644 --- a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs | |||
@@ -51,10 +51,17 @@ namespace OpenSim.Region.Framework.Interfaces | |||
51 | UUID = 5 | 51 | UUID = 5 |
52 | } | 52 | } |
53 | 53 | ||
54 | public struct JsonStoreStats | ||
55 | { | ||
56 | public int StoreCount; | ||
57 | } | ||
58 | |||
54 | public delegate void TakeValueCallback(string s); | 59 | public delegate void TakeValueCallback(string s); |
55 | 60 | ||
56 | public interface IJsonStoreModule | 61 | public interface IJsonStoreModule |
57 | { | 62 | { |
63 | JsonStoreStats GetStoreStats(); | ||
64 | |||
58 | bool AttachObjectStore(UUID objectID); | 65 | bool AttachObjectStore(UUID objectID); |
59 | bool CreateStore(string value, ref UUID result); | 66 | bool CreateStore(string value, ref UUID result); |
60 | bool DestroyStore(UUID storeID); | 67 | bool DestroyStore(UUID storeID); |
diff --git a/OpenSim/Region/Framework/Interfaces/INPCModule.cs b/OpenSim/Region/Framework/Interfaces/INPCModule.cs index 9817cf7..d5dcddd 100644 --- a/OpenSim/Region/Framework/Interfaces/INPCModule.cs +++ b/OpenSim/Region/Framework/Interfaces/INPCModule.cs | |||
@@ -72,6 +72,32 @@ namespace OpenSim.Region.Framework.Interfaces | |||
72 | AvatarAppearance appearance); | 72 | AvatarAppearance appearance); |
73 | 73 | ||
74 | /// <summary> | 74 | /// <summary> |
75 | /// Create an NPC with a user-supplied agentID | ||
76 | /// </summary> | ||
77 | /// <param name="firstname"></param> | ||
78 | /// <param name="lastname"></param> | ||
79 | /// <param name="position"></param> | ||
80 | /// <param name="agentID"></param> | ||
81 | /// The desired agent ID | ||
82 | /// <param name="owner"></param> | ||
83 | /// <param name="senseAsAgent"> | ||
84 | /// Make the NPC show up as an agent on LSL sensors. The default is | ||
85 | /// that they show up as the NPC type instead, but this is currently | ||
86 | /// an OpenSim-only extension. | ||
87 | /// </param> | ||
88 | /// <param name="scene"></param> | ||
89 | /// <param name="appearance"> | ||
90 | /// The avatar appearance to use for the new NPC. | ||
91 | /// </param> | ||
92 | /// <returns> | ||
93 | /// The UUID of the ScenePresence created. UUID.Zero if there was a | ||
94 | /// failure. | ||
95 | /// </returns> | ||
96 | UUID CreateNPC(string firstname, string lastname, | ||
97 | Vector3 position, UUID agentID, UUID owner, bool senseAsAgent, Scene scene, | ||
98 | AvatarAppearance appearance); | ||
99 | |||
100 | /// <summary> | ||
75 | /// Check if the agent is an NPC. | 101 | /// Check if the agent is an NPC. |
76 | /// </summary> | 102 | /// </summary> |
77 | /// <param name="agentID"></param> | 103 | /// <param name="agentID"></param> |
diff --git a/OpenSim/Region/Framework/Interfaces/IRegionArchiverModule.cs b/OpenSim/Region/Framework/Interfaces/IRegionArchiverModule.cs index 3fafc47..99bc87d 100644 --- a/OpenSim/Region/Framework/Interfaces/IRegionArchiverModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IRegionArchiverModule.cs | |||
@@ -29,6 +29,8 @@ using System; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.IO; | 30 | using System.IO; |
31 | 31 | ||
32 | using OpenMetaverse; | ||
33 | |||
32 | namespace OpenSim.Region.Framework.Interfaces | 34 | namespace OpenSim.Region.Framework.Interfaces |
33 | { | 35 | { |
34 | /// <summary> | 36 | /// <summary> |
@@ -100,16 +102,11 @@ namespace OpenSim.Region.Framework.Interfaces | |||
100 | /// If you want notification of when it has completed then subscribe to the EventManager.OnOarFileLoaded event. | 102 | /// If you want notification of when it has completed then subscribe to the EventManager.OnOarFileLoaded event. |
101 | /// | 103 | /// |
102 | /// <param name="loadPath"></param> | 104 | /// <param name="loadPath"></param> |
103 | /// <param name="merge"> | ||
104 | /// If true, the loaded region merges with the existing one rather than replacing it. Any terrain or region | ||
105 | /// settings in the archive will be ignored. | ||
106 | /// </param> | ||
107 | /// <param name="skipAssets"> | ||
108 | /// If true, the archive is loaded without loading any assets contained within it. This is useful if the | ||
109 | /// assets are already known to be present in the grid's asset service. | ||
110 | /// </param> | ||
111 | /// <param name="requestId">If supplied, this request Id is later returned in the saved event</param> | 105 | /// <param name="requestId">If supplied, this request Id is later returned in the saved event</param> |
112 | void DearchiveRegion(string loadPath, bool merge, bool skipAssets, Guid requestId); | 106 | /// <param name="options"> |
107 | /// Dictionary of options. | ||
108 | /// </param> | ||
109 | void DearchiveRegion(string loadPath, Guid requestId, Dictionary<string,object> options); | ||
113 | 110 | ||
114 | /// <summary> | 111 | /// <summary> |
115 | /// Dearchive a region from a stream. This replaces the existing scene. | 112 | /// Dearchive a region from a stream. This replaces the existing scene. |
@@ -127,15 +124,10 @@ namespace OpenSim.Region.Framework.Interfaces | |||
127 | /// If you want notification of when it has completed then subscribe to the EventManager.OnOarFileLoaded event. | 124 | /// If you want notification of when it has completed then subscribe to the EventManager.OnOarFileLoaded event. |
128 | /// | 125 | /// |
129 | /// <param name="loadStream"></param> | 126 | /// <param name="loadStream"></param> |
130 | /// <param name="merge"> | ||
131 | /// If true, the loaded region merges with the existing one rather than replacing it. Any terrain or region | ||
132 | /// settings in the archive will be ignored. | ||
133 | /// </param> | ||
134 | /// <param name="skipAssets"> | ||
135 | /// If true, the archive is loaded without loading any assets contained within it. This is useful if the | ||
136 | /// assets are already known to be present in the grid's asset service. | ||
137 | /// </param | ||
138 | /// <param name="requestId">If supplied, this request Id is later returned in the saved event</param> | 127 | /// <param name="requestId">If supplied, this request Id is later returned in the saved event</param> |
139 | void DearchiveRegion(Stream loadStream, bool merge, bool skipAssets, Guid requestId); | 128 | /// <param name="options"> |
129 | /// Dictionary of options. | ||
130 | /// </param> | ||
131 | void DearchiveRegion(Stream loadStream, Guid requestId, Dictionary<string,object> options); | ||
140 | } | 132 | } |
141 | } | 133 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/ISimulationDataService.cs b/OpenSim/Region/Framework/Interfaces/ISimulationDataService.cs index 085b5ca..8948f04 100644 --- a/OpenSim/Region/Framework/Interfaces/ISimulationDataService.cs +++ b/OpenSim/Region/Framework/Interfaces/ISimulationDataService.cs | |||
@@ -68,13 +68,22 @@ namespace OpenSim.Region.Framework.Interfaces | |||
68 | /// </summary> | 68 | /// </summary> |
69 | /// <param name="ter">HeightField data</param> | 69 | /// <param name="ter">HeightField data</param> |
70 | /// <param name="regionID">region UUID</param> | 70 | /// <param name="regionID">region UUID</param> |
71 | void StoreTerrain(TerrainData terrain, UUID regionID); | ||
72 | |||
73 | // Legacy version kept for downward compabibility | ||
71 | void StoreTerrain(double[,] terrain, UUID regionID); | 74 | void StoreTerrain(double[,] terrain, UUID regionID); |
72 | 75 | ||
73 | /// <summary> | 76 | /// <summary> |
74 | /// Load the latest terrain revision from region storage | 77 | /// Load the latest terrain revision from region storage |
75 | /// </summary> | 78 | /// </summary> |
76 | /// <param name="regionID">the region UUID</param> | 79 | /// <param name="regionID">the region UUID</param> |
80 | /// <param name="sizeX">the X dimension of the region being filled</param> | ||
81 | /// <param name="sizeY">the Y dimension of the region being filled</param> | ||
82 | /// <param name="sizeZ">the Z dimension of the region being filled</param> | ||
77 | /// <returns>Heightfield data</returns> | 83 | /// <returns>Heightfield data</returns> |
84 | TerrainData LoadTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ); | ||
85 | |||
86 | // Legacy version kept for downward compabibility | ||
78 | double[,] LoadTerrain(UUID regionID); | 87 | double[,] LoadTerrain(UUID regionID); |
79 | 88 | ||
80 | void StoreLandObject(ILandObject Parcel); | 89 | void StoreLandObject(ILandObject Parcel); |
diff --git a/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs b/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs index 3787ca0..917b5d1 100644 --- a/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs +++ b/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs | |||
@@ -79,13 +79,22 @@ namespace OpenSim.Region.Framework.Interfaces | |||
79 | /// </summary> | 79 | /// </summary> |
80 | /// <param name="ter">HeightField data</param> | 80 | /// <param name="ter">HeightField data</param> |
81 | /// <param name="regionID">region UUID</param> | 81 | /// <param name="regionID">region UUID</param> |
82 | void StoreTerrain(TerrainData terrain, UUID regionID); | ||
83 | |||
84 | // Legacy version kept for downward compabibility | ||
82 | void StoreTerrain(double[,] terrain, UUID regionID); | 85 | void StoreTerrain(double[,] terrain, UUID regionID); |
83 | 86 | ||
84 | /// <summary> | 87 | /// <summary> |
85 | /// Load the latest terrain revision from region storage | 88 | /// Load the latest terrain revision from region storage |
86 | /// </summary> | 89 | /// </summary> |
87 | /// <param name="regionID">the region UUID</param> | 90 | /// <param name="regionID">the region UUID</param> |
91 | /// <param name="pSizeX">the X dimension of the terrain being filled</param> | ||
92 | /// <param name="pSizeY">the Y dimension of the terrain being filled</param> | ||
93 | /// <param name="pSizeZ">the Z dimension of the terrain being filled</param> | ||
88 | /// <returns>Heightfield data</returns> | 94 | /// <returns>Heightfield data</returns> |
95 | TerrainData LoadTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ); | ||
96 | |||
97 | // Legacy version kept for downward compabibility | ||
89 | double[,] LoadTerrain(UUID regionID); | 98 | double[,] LoadTerrain(UUID regionID); |
90 | 99 | ||
91 | void StoreLandObject(ILandObject Parcel); | 100 | void StoreLandObject(ILandObject Parcel); |
@@ -135,4 +144,5 @@ namespace OpenSim.Region.Framework.Interfaces | |||
135 | 144 | ||
136 | void Shutdown(); | 145 | void Shutdown(); |
137 | } | 146 | } |
147 | |||
138 | } | 148 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/ITerrainChannel.cs b/OpenSim/Region/Framework/Interfaces/ITerrainChannel.cs index e467701..f660b8d 100644 --- a/OpenSim/Region/Framework/Interfaces/ITerrainChannel.cs +++ b/OpenSim/Region/Framework/Interfaces/ITerrainChannel.cs | |||
@@ -25,13 +25,23 @@ | |||
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 | using OpenMetaverse; | ||
30 | |||
28 | namespace OpenSim.Region.Framework.Interfaces | 31 | namespace OpenSim.Region.Framework.Interfaces |
29 | { | 32 | { |
30 | public interface ITerrainChannel | 33 | public interface ITerrainChannel |
31 | { | 34 | { |
32 | int Height { get; } | 35 | int Width { get;} // X dimension |
36 | int Height { get;} // Y dimension | ||
37 | int Altitude { get;} // Z dimension | ||
38 | |||
33 | double this[int x, int y] { get; set; } | 39 | double this[int x, int y] { get; set; } |
34 | int Width { get; } | 40 | |
41 | float GetHeightAtXYZ(float x, float y, float z); | ||
42 | |||
43 | // Return the packaged terrain data for passing into lower levels of communication | ||
44 | TerrainData GetTerrainData(); | ||
35 | 45 | ||
36 | /// <summary> | 46 | /// <summary> |
37 | /// Squash the entire heightmap into a single dimensioned array | 47 | /// Squash the entire heightmap into a single dimensioned array |
@@ -40,9 +50,14 @@ namespace OpenSim.Region.Framework.Interfaces | |||
40 | float[] GetFloatsSerialised(); | 50 | float[] GetFloatsSerialised(); |
41 | 51 | ||
42 | double[,] GetDoubles(); | 52 | double[,] GetDoubles(); |
53 | |||
54 | // Check if a location has been updated. Clears the taint flag as a side effect. | ||
43 | bool Tainted(int x, int y); | 55 | bool Tainted(int x, int y); |
56 | |||
44 | ITerrainChannel MakeCopy(); | 57 | ITerrainChannel MakeCopy(); |
45 | string SaveToXmlString(); | 58 | string SaveToXmlString(); |
46 | void LoadFromXmlString(string data); | 59 | void LoadFromXmlString(string data); |
60 | // Merge some terrain into this channel | ||
61 | void Merge(ITerrainChannel newTerrain, Vector3 displacement, float radianRotation, Vector2 rotationDisplacement); | ||
47 | } | 62 | } |
48 | } | 63 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/ITerrainModule.cs b/OpenSim/Region/Framework/Interfaces/ITerrainModule.cs index 5947afb..a6f5d98 100644 --- a/OpenSim/Region/Framework/Interfaces/ITerrainModule.cs +++ b/OpenSim/Region/Framework/Interfaces/ITerrainModule.cs | |||
@@ -51,6 +51,7 @@ namespace OpenSim.Region.Framework.Interfaces | |||
51 | /// </param> | 51 | /// </param> |
52 | /// <param name="stream"></param> | 52 | /// <param name="stream"></param> |
53 | void LoadFromStream(string filename, Stream stream); | 53 | void LoadFromStream(string filename, Stream stream); |
54 | void LoadFromStream(string filename, Vector3 displacement, float radianRotation, Vector2 rotationDisplacement, Stream stream); | ||
54 | void LoadFromStream(string filename, System.Uri pathToTerrainHeightmap); | 55 | void LoadFromStream(string filename, System.Uri pathToTerrainHeightmap); |
55 | /// <summary> | 56 | /// <summary> |
56 | /// Save a terrain to a stream. | 57 | /// Save a terrain to a stream. |