OpenSim
|
Public Member Functions | |
virtual void | Initialise (IConfigSource source) |
This is called to initialize the region module. For shared modules, this is called exactly once, after creating the single (shared) instance. For non-shared modules, this is called once on each instance, after the instace for the region has been created. More... | |
virtual void | PostInitialise () |
virtual void | AddRegion (Scene scene) |
This is called whenever a Scene is added. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, after Initialise has been called. More... | |
virtual void | Close () |
This is the inverse to Initialise. After a Close(), this instance won't be usable anymore. More... | |
virtual void | RemoveRegion (Scene scene) |
This is called whenever a Scene is removed. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, if the scene this instance is associated with is removed. More... | |
virtual void | RegionLoaded (Scene scene) |
This will be called once for every scene loaded. In a shared module this will be multiple times in one instance, while a nonshared module instance will only be called once. This method is called after AddRegion has been called in all modules for that scene, providing an opportunity to request another module's interface, or hook an event from another module. More... | |
void | Teleport (ScenePresence sp, ulong regionHandle, Vector3 position, Vector3 lookAt, uint teleportFlags) |
Teleport an agent within the same or to a different region. More... | |
void | DoTeleport (ScenePresence sp, GridRegion reg, GridRegion finalDestination, Vector3 position, Vector3 lookAt, uint teleportFlags) |
Wraps DoTeleportInternal() and manages the transfer state. More... | |
virtual void | RequestTeleportLandmark (IClientAPI remoteClient, AssetLandmark lm) |
Tries to teleport agent to landmark. More... | |
virtual void | TriggerTeleportHome (UUID id, IClientAPI client) |
virtual bool | TeleportHome (UUID id, IClientAPI client) |
Teleports the agent for the given client to their home destination. More... | |
bool | checkAgentAccessToRegion (ScenePresence agent, GridRegion destiny, Vector3 position, EntityTransferContext ctx, out string reason) |
GridRegion | GetDestination (Scene scene, UUID agentID, Vector3 pos, EntityTransferContext ctx, out Vector3 newpos) |
GridRegion | GetDestination (Scene scene, UUID agentID, Vector3 pos, EntityTransferContext ctx, out Vector3 newpos, out string failureReason) |
bool | Cross (ScenePresence agent, bool isFlying) |
ScenePresence | CrossAsync (ScenePresence agent, bool isFlying) |
delegate void | InformClientToInitiateTeleportToLocationDelegate (ScenePresence agent, uint regionX, uint regionY, Vector3 position, Scene initiatingScene) |
void | InformClientToInitiateTeleportToLocationAsync (ScenePresence agent, uint regionX, uint regionY, Vector3 position, Scene initiatingScene) |
bool | CrossAgentToNewRegionPrep (ScenePresence agent, GridRegion neighbourRegion) |
ScenePresence | CrossAgentToNewRegionAsync (ScenePresence agent, Vector3 pos, GridRegion neighbourRegion, bool isFlying, EntityTransferContext ctx) |
This Closes child agents on neighbouring regions Calls an asynchronous method to do so.. so it doesn't lag the sim. More... | |
bool | CrossAgentIntoNewRegionMain (ScenePresence agent, Vector3 pos, GridRegion neighbourRegion, bool isFlying, EntityTransferContext ctx) |
void | CrossAgentToNewRegionPost (ScenePresence agent, Vector3 pos, GridRegion neighbourRegion, bool isFlying, EntityTransferContext ctx) |
void | EnableChildAgent (ScenePresence sp, GridRegion region) |
This informs a single neighbouring region about agent "avatar", and avatar about it Calls an asynchronous method to do so.. so it doesn't lag the sim. More... | |
void | EnableChildAgents (ScenePresence sp) |
This informs all neighbouring regions about agent "avatar". and as important informs the avatar about then More... | |
GridRegion | GetRegionContainingWorldLocation (IGridService pGridService, UUID pScopeID, double px, double py) |
GridRegion | GetRegionContainingWorldLocation (IGridService pGridService, UUID pScopeID, double px, double py, uint pSizeHint) |
void | AgentArrivedAtDestination (UUID id) |
GridRegion | GetObjectDestination (SceneObjectGroup grp, Vector3 targetPosition, out Vector3 newpos) |
bool | CrossPrimGroupIntoNewRegion (GridRegion destination, Vector3 newPosition, SceneObjectGroup grp, bool silent, bool removeScripts) |
Move the given scene object into a new region More... | |
bool | IsInTransit (UUID id) |
Show whether the given agent is being teleported. More... | |
virtual bool | HandleIncomingSceneObject (SceneObjectGroup so, Vector3 newPosition) |
Public Attributes | |
const int | DefaultMaxTransferDistance = 4095 |
const bool | WaitForAgentArrivedAtDestinationDefault = true |
Protected Member Functions | |
virtual void | InitialiseCommon (IConfigSource source) |
Initialize config common for this module and any descendents. More... | |
virtual void | OnNewClient (IClientAPI client) |
virtual bool | ValidateGenericConditions (ScenePresence sp, GridRegion reg, GridRegion finalDestination, uint teleportFlags, out string reason) |
virtual void | CleanupFailedInterRegionTeleport (ScenePresence sp, string auth_token, GridRegion finalDestination) |
Clean up an inter-region teleport that did not complete, either because of simulator failure or cancellation. More... | |
virtual void | Fail (ScenePresence sp, GridRegion finalDestination, bool logout, string auth_code, string reason) |
Signal that the inter-region teleport failed and perform cleanup. More... | |
virtual bool | CreateAgent (ScenePresence sp, GridRegion reg, GridRegion finalDestination, AgentCircuitData agentCircuit, uint teleportFlags, EntityTransferContext ctx, out string reason, out bool logout) |
virtual bool | UpdateAgent (GridRegion reg, GridRegion finalDestination, AgentData agent, ScenePresence sp, EntityTransferContext ctx) |
virtual void | SetCallbackURL (AgentData agent, RegionInfo region) |
virtual void | AgentHasMovedAway (ScenePresence sp, bool logout) |
Clean up operations once an agent has moved away through cross or teleport. More... | |
void | KillEntity (Scene scene, uint localID) |
virtual GridRegion | GetFinalDestination (GridRegion region, UUID agentID, string agentHomeURI, out string message) |
virtual bool | NeedsNewAgent (float viewdist, uint oldRegionX, uint newRegionX, uint oldRegionY, uint newRegionY, int oldsizeX, int oldsizeY, int newsizeX, int newsizeY) |
virtual bool | NeedsClosing (GridRegion reg, bool OutViewRange) |
List< GridRegion > | GetNeighbors (ScenePresence avatar, uint pRegionLocX, uint pRegionLocY) |
Return the list of online regions that are considered to be neighbours to the given scene. More... | |
void | CrossAttachmentsIntoNewRegion (GridRegion destination, ScenePresence sp, bool silent) |
Cross the attachments for an avatar into the destination region. More... | |
void | ReInstantiateScripts (ScenePresence sp) |
Protected Attributes | |
string | m_ThisHomeURI |
string | m_GatekeeperURI |
bool | m_Enabled = false |
Properties | |
int | MaxTransferDistance [get, set] |
The maximum distance, in standard region units (256m) that an agent is allowed to transfer. More... | |
bool | WaitForAgentArrivedAtDestination [get, set] |
If true then on a teleport, the source region waits for a callback from the destination region. If a callback fails to arrive within a set time then the user is pulled back into the source region. More... | |
bool | DisableInterRegionTeleportCancellation [get, set] |
If true then we ask the viewer to disable teleport cancellation and ignore teleport requests. More... | |
Scene | Scene [get, set] |
Type | ReplaceableInterface [get] |
virtual string | Name [get] |
Properties inherited from OpenSim.Region.Framework.Interfaces.IRegionModuleBase | |
string | Name [get] |
Type | ReplaceableInterface [get] |
If this returns non-null, it is the type of an interface that this module intends to register. This will cause the loader to defer loading of this module until all other modules have been loaded. If no other module has registered the interface by then, this module will be activated, else it will remain inactive, letting the other module take over. This should return non-null ONLY in modules that are intended to be easily replaceable, e.g. stub implementations that the developer expects to be replaced by third party provided modules. More... | |
Definition at line 52 of file EntityTransferModule.cs.
|
inlinevirtual |
This is called whenever a Scene is added. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, after Initialise has been called.
scene | A Scene |
Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 247 of file EntityTransferModule.cs.
|
inline |
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 2497 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Clean up operations once an agent has moved away through cross or teleport.
sp | |
logout |
now just a HG hook
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 1320 of file EntityTransferModule.cs.
|
inline |
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 1447 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Clean up an inter-region teleport that did not complete, either because of simulator failure or cancellation.
All operations here must be idempotent so that we can call this method at any point in the teleport process up until we send the TeleportFinish event quene event to the viewer.
sp | |
finalDestination |
Definition at line 1249 of file EntityTransferModule.cs.
|
inlinevirtual |
This is the inverse to Initialise. After a Close(), this instance won't be usable anymore.
Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.
Definition at line 323 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 1285 of file EntityTransferModule.cs.
|
inline |
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 1534 of file EntityTransferModule.cs.
|
inline |
|
inline |
This Closes child agents on neighbouring regions Calls an asynchronous method to do so.. so it doesn't lag the sim.
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 1669 of file EntityTransferModule.cs.
|
inline |
Definition at line 1755 of file EntityTransferModule.cs.
|
inline |
Definition at line 1653 of file EntityTransferModule.cs.
|
inline |
Definition at line 1557 of file EntityTransferModule.cs.
|
inlineprotected |
Cross the attachments for an avatar into the destination region.
This is only invoked for simulators released prior to April 2011. Versions of OpenSimulator since then transfer attachments in one go as part of the ChildAgentDataUpdate data passed in the update agent call.
destination | |
sp | |
silent |
Definition at line 2686 of file EntityTransferModule.cs.
|
inline |
Move the given scene object into a new region
newRegionHandle | |
grp | Scene Object Group that we're crossing |
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 2626 of file EntityTransferModule.cs.
|
inline |
Wraps DoTeleportInternal() and manages the transfer state.
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 641 of file EntityTransferModule.cs.
|
inline |
This informs a single neighbouring region about agent "avatar", and avatar about it Calls an asynchronous method to do so.. so it doesn't lag the sim.
sp | |
region |
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 1874 of file EntityTransferModule.cs.
|
inline |
This informs all neighbouring regions about agent "avatar". and as important informs the avatar about then
sp |
Update all child agent with everyone's seeds
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 1982 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Signal that the inter-region teleport failed and perform cleanup.
sp | |
finalDestination | |
logout | |
reason | Human readable reason for teleport failure. Will be sent to client. |
Definition at line 1272 of file EntityTransferModule.cs.
|
inline |
Definition at line 1473 of file EntityTransferModule.cs.
|
inline |
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 1485 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 1332 of file EntityTransferModule.cs.
|
inlineprotected |
Return the list of online regions that are considered to be neighbours to the given scene.
avatar | |
pRegionLocX | |
pRegionLocY |
Definition at line 2441 of file EntityTransferModule.cs.
|
inline |
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 2506 of file EntityTransferModule.cs.
|
inline |
Definition at line 2243 of file EntityTransferModule.cs.
|
inline |
Definition at line 2256 of file EntityTransferModule.cs.
|
inlinevirtual |
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 2750 of file EntityTransferModule.cs.
|
inline |
Definition at line 1596 of file EntityTransferModule.cs.
delegate void OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.InformClientToInitiateTeleportToLocationDelegate | ( | ScenePresence | agent, |
uint | regionX, | ||
uint | regionY, | ||
Vector3 | position, | ||
Scene | initiatingScene | ||
) |
|
inlinevirtual |
This is called to initialize the region module. For shared modules, this is called exactly once, after creating the single (shared) instance. For non-shared modules, this is called once on each instance, after the instace for the region has been created.
source | A IConfigSource |
Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 190 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Initialize config common for this module and any descendents.
source |
Definition at line 208 of file EntityTransferModule.cs.
|
inline |
Show whether the given agent is being teleported.
id | The agent ID |
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 2719 of file EntityTransferModule.cs.
|
inlineprotected |
Definition at line 1326 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 1361 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Definition at line 1341 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 312 of file EntityTransferModule.cs.
|
inlinevirtual |
Definition at line 243 of file EntityTransferModule.cs.
|
inlinevirtual |
This will be called once for every scene loaded. In a shared module this will be multiple times in one instance, while a nonshared module instance will only be called once. This method is called after AddRegion has been called in all modules for that scene, providing an opportunity to request another module's interface, or hook an event from another module.
scene | A Scene |
Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 336 of file EntityTransferModule.cs.
|
inlineprotected |
Definition at line 2724 of file EntityTransferModule.cs.
|
inlinevirtual |
This is called whenever a Scene is removed. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, if the scene this instance is associated with is removed.
scene | A Scene |
Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 325 of file EntityTransferModule.cs.
|
inlinevirtual |
Tries to teleport agent to landmark.
remoteClient | |
regionHandle | |
position |
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 1376 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Definition at line 1304 of file EntityTransferModule.cs.
|
inline |
Teleport an agent within the same or to a different region.
agent | |
regionHandle | The handle of the destination region. If it's the same as the region currently occupied by the agent then the teleport will be within that region. |
agent | |
regionHandle | |
position | |
lookAt | |
teleportFlags |
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Definition at line 368 of file EntityTransferModule.cs.
|
inlinevirtual |
Teleports the agent for the given client to their home destination.
id | |
client |
Implements OpenSim.Region.Framework.Interfaces.IEntityTransferModule.
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 1399 of file EntityTransferModule.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 1394 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Definition at line 1299 of file EntityTransferModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule.
Definition at line 609 of file EntityTransferModule.cs.
const int OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.DefaultMaxTransferDistance = 4095 |
Definition at line 57 of file EntityTransferModule.cs.
|
protected |
Definition at line 110 of file EntityTransferModule.cs.
|
protected |
Definition at line 108 of file EntityTransferModule.cs.
|
protected |
Definition at line 107 of file EntityTransferModule.cs.
const bool OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.WaitForAgentArrivedAtDestinationDefault = true |
Definition at line 58 of file EntityTransferModule.cs.
|
getset |
If true then we ask the viewer to disable teleport cancellation and ignore teleport requests.
This is useful in situations where teleport is very likely to always succeed and we want to avoid a situation where avatars can be come 'stuck' due to a failed teleport cancellation. Unfortunately, the nature of the teleport protocol makes it extremely difficult (maybe impossible) to make teleport cancellation consistently suceed.
Definition at line 80 of file EntityTransferModule.cs.
|
getset |
The maximum distance, in standard region units (256m) that an agent is allowed to transfer.
Definition at line 63 of file EntityTransferModule.cs.
|
get |
Definition at line 186 of file EntityTransferModule.cs.
|
get |
Definition at line 181 of file EntityTransferModule.cs.
|
getset |
Definition at line 112 of file EntityTransferModule.cs.
|
getset |
If true then on a teleport, the source region waits for a callback from the destination region. If a callback fails to arrive within a set time then the user is pulled back into the source region.
Definition at line 69 of file EntityTransferModule.cs.