Technical Reference/terms

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Ignore this page while it is under construction... ;-))
m (Added some additional information about the regionhandle.)
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Technical Reference | Technical Reference]] -> [[Technical Reference/terms | Terms]] -> '''Overview'''
+
__NOTOC__
 +
{{Quicklinks}}
 
{{content}}
 
{{content}}
== [[Technical Reference | Technical Reference]] ==
 
  
This is a set of software technical reference pages describing how the simulator works from invocation, initialization, main loop and various services.  
+
This is a set of software technical reference pages that include definitions and describe how the simulator works from invocation, initialization, main loop and various services.  
  
 
=== What do all these terms mean? ===
 
=== What do all these terms mean? ===
  
[[Technical Reference/Terms/Definitions]]
+
[[Definitions|Technical Reference Terms and Definitions]]
  
  
Line 14: Line 14:
 
Definition of some common terms:
 
Definition of some common terms:
  
'''Region'''<br/>
+
'''Region'''<br />
A region has an (x/y) position in a grid, and a region-handle calculated from the position. A region can also be defined as an IP Endpoint that the Viewer can establish a client connection to. The unique id of a region is a uuid, this means that a region can change position, and because of that position change, it the handle will be recalculated. The handle will uniquely identify a position in a grid.
+
A region has an X/Y position in a grid and a regionhandle calculated from the position. A region can also be defined as an IP endpoint that the Viewer can use to establish a client connection. The unique ID of a region is a UUID. This means that a region can change position, and because of that position change, the regionhandle will be recalculated. The regionhandle will uniquely identify a position in a grid.
  
 
A region contains a number of sub components:
 
A region contains a number of sub components:
Line 21: Line 21:
 
* Client/Viewer circuits
 
* Client/Viewer circuits
  
'''Scene'''<br/>
+
'''Regionhandle'''<br />
 +
A regionhandle is a 64-bit number that stores the X/Y location of a place in a grid. The high order 32-bits are the X position, and the bottom 32-bits are the Y position. A region handle can be calculated as follows: ((X * 256 + x_offset) << 32) + (Y * 256 + y_offset). X and Y are the grid location of a region. X_offset and y_offset are the x and y location of a place within a region so their values will be in the range of 0 to 255 (inclusive).
 +
 
 +
'''Scene'''<br />
 
A scene is part of a region, currently there is a one to one relationship, i.e. one region has one scene. A scene contains all the 3d ''objects'', called ''Entities'', entities can either be ScenePresences or SceneObjectGroups. A ScenePresence can be represented by an avatar, if it is a root scene presence. SceneObjectGroups consists of a number of SceneObjectParts.
 
A scene is part of a region, currently there is a one to one relationship, i.e. one region has one scene. A scene contains all the 3d ''objects'', called ''Entities'', entities can either be ScenePresences or SceneObjectGroups. A ScenePresence can be represented by an avatar, if it is a root scene presence. SceneObjectGroups consists of a number of SceneObjectParts.
  
'''Avatar/ScenePresence'''<br/>
+
'''Avatar/ScenePresence'''<br />
Each viewer is represented by one or more avatars. The Root avatar or ScenePresense functions as a kind of cursor, into the grid. Where the region will keep the viewer updated on the state of the simulation, taking place in the scene. Besides the root presence, a number of child presences will exist in the neighboring regions, enabling the viewer to know what is going on in the neighboring regions.
+
Each viewer is represented by one or more avatars. The Root avatar or ScenePresence functions as a kind of cursor, into the grid. Where the region will keep the viewer updated on the state of the simulation, taking place in the scene. Besides the root presence, a number of child presences will exist in the neighboring regions, enabling the viewer to know what is going on in the neighboring regions.
  
'''Viewer'''<br/>
+
'''Viewer'''<br />
 
An application which is used to view the state of the simulation. Currently only three different viewers are known: the LL viewer, the OpenSL test client and AjaxLife.
 
An application which is used to view the state of the simulation. Currently only three different viewers are known: the LL viewer, the OpenSL test client and AjaxLife.
  
'''Session'''<br/>
+
'''Session'''<br />
 
Each connection between a viewer and a region, regardless if the avatar is the root or a child, is a session.
 
Each connection between a viewer and a region, regardless if the avatar is the root or a child, is a session.
  
'''Simulator'''<br/>
+
'''Simulator'''<br />
 
A program which can manage several ''Regions''
 
A program which can manage several ''Regions''
 
----
 
----
* [[Technical_Reference/terms/OpenSim.cs | OpenSim.cs]]     (OpenSim.cs )
+
 
* [[Technical_Reference/terms/OpenSim_SwInit | OpenSim_SwInit]]     (Initialization from Main() )
+
* [[OpenSim.cs]] (OpenSim.cs )
* [[Technical_Reference/terms/OpenSim_SwMainLoopl | OpenSim_SwMainLoopl]] (After initialization, a main loop waits for connections or commands)
+
* [[OpenSim SwInit|OpenSim_SwInit]] (Initialization from Main() )
* [[Technical_Reference/terms/OpenSim_SwRegionHandshake | OpenSim_SwRegionHandshake]] (How a client connects to the simulator)
+
* [[OpenSim SwMainLoopl|OpenSim_SwMainLoopl]] (After initialization, a main loop waits for connections or commands)
* [[Technical_Reference/terms/OpenSim_UserService | OpenSim_UserService]] (How the user server works)
+
* [[OpenSim SwRegionHandshake|OpenSim_SwRegionHandshake]] (How a client connects to the simulator)
* [[Technical_Reference/terms/OpenSim_InterRegionCommunications | OpenSim_InterRegionCommunications]] (How the sim communicates with other sims)
+
* [[OpenSim UserService|OpenSim_UserService]] (How the user server works)
* [[Technical_Reference/terms/OpenSim_GridService | OpenSim_GridService]] (How the grid server works)
+
* [[OpenSim InterRegionCommunications|OpenSim_InterRegionCommunications]] (How the sim communicates with other sims)
* [[Technical_Reference/terms/OpenSim_AssetService | OpenSim_AssetService]] (How the asset server works)
+
* [[OpenSim GridService|OpenSim_GridService]] (How the grid server works)
* [[Technical_Reference/terms/OpenSim_SimService | OpenSim_SimService]] (How the simulator operates after a connection is made)
+
* [[OpenSim AssetService|OpenSim_AssetService]] (How the asset server works)
* [[Technical_Reference/terms/Sim_Throttles | Sim_Throttles]] (How the simulator handles throttling of packets)
+
* [[OpenSim SimService|OpenSim_SimService]] (How the simulator operates after a connection is made)
[[Category:Development]]
+
* [[Sim Throttles|Sim_Throttles]] (How the simulator handles throttling of packets)
 +
<br />
 +
 
 +
= See Also =
 +
 
 +
* [[:Category:Support| Support pages]]
 +
* [[:Category:Getting_Started|Getting Started]]
 +
* [[OpenSim Archives|How to use OpenSimulator Archives (OAR)]]
 +
 
 +
[[Category:Users]]
 
[[Category:Support]]
 
[[Category:Support]]
 +
[[Category:Help]]
 +
[[Category:Configuration]]
 +
[[Category:Getting Started]]
 +
[[Category:Development]]

Revision as of 10:11, 30 July 2013


This is a set of software technical reference pages that include definitions and describe how the simulator works from invocation, initialization, main loop and various services.

What do all these terms mean?

Technical Reference Terms and Definitions



Definition of some common terms:

Region
A region has an X/Y position in a grid and a regionhandle calculated from the position. A region can also be defined as an IP endpoint that the Viewer can use to establish a client connection. The unique ID of a region is a UUID. This means that a region can change position, and because of that position change, the regionhandle will be recalculated. The regionhandle will uniquely identify a position in a grid.

A region contains a number of sub components:

  • Scene
  • Client/Viewer circuits

Regionhandle
A regionhandle is a 64-bit number that stores the X/Y location of a place in a grid. The high order 32-bits are the X position, and the bottom 32-bits are the Y position. A region handle can be calculated as follows: ((X * 256 + x_offset) << 32) + (Y * 256 + y_offset). X and Y are the grid location of a region. X_offset and y_offset are the x and y location of a place within a region so their values will be in the range of 0 to 255 (inclusive).

Scene
A scene is part of a region, currently there is a one to one relationship, i.e. one region has one scene. A scene contains all the 3d objects, called Entities, entities can either be ScenePresences or SceneObjectGroups. A ScenePresence can be represented by an avatar, if it is a root scene presence. SceneObjectGroups consists of a number of SceneObjectParts.

Avatar/ScenePresence
Each viewer is represented by one or more avatars. The Root avatar or ScenePresence functions as a kind of cursor, into the grid. Where the region will keep the viewer updated on the state of the simulation, taking place in the scene. Besides the root presence, a number of child presences will exist in the neighboring regions, enabling the viewer to know what is going on in the neighboring regions.

Viewer
An application which is used to view the state of the simulation. Currently only three different viewers are known: the LL viewer, the OpenSL test client and AjaxLife.

Session
Each connection between a viewer and a region, regardless if the avatar is the root or a child, is a session.

Simulator
A program which can manage several Regions



See Also

Personal tools
General
About This Wiki