Technical Reference/terms

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Added "See Also" heading with proper navigation links. Please ignore. Thank-you.)
m (Added some additional information about the regionhandle.)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
{{Template:Quicklinks}}
+
{{Quicklinks}}
 
+
[[Technical Reference | Technical Reference]] -> [[Technical Reference/terms | Terms]] -> '''Overview'''
+
 
{{content}}
 
{{content}}
== [[Technical Reference | Technical Reference]] ==
 
  
 
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.  
 
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.  
Line 10: Line 7:
 
=== What do all these terms mean? ===
 
=== What do all these terms mean? ===
  
[[Definitions | Technical Reference Terms and Definitions]]
+
[[Definitions|Technical Reference Terms and Definitions]]
  
  
Line 17: 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 24: 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''
 
----
 
----
  
* [[OpenSim.cs | OpenSim.cs]]     (OpenSim.cs )
+
* [[OpenSim.cs]] (OpenSim.cs )
* [[OpenSim_SwInit | OpenSim_SwInit]]     (Initialization from Main() )
+
* [[OpenSim SwInit|OpenSim_SwInit]] (Initialization from Main() )
* [[OpenSim_SwMainLoopl | OpenSim_SwMainLoopl]] (After initialization, a main loop waits for connections or commands)
+
* [[OpenSim SwMainLoopl|OpenSim_SwMainLoopl]] (After initialization, a main loop waits for connections or commands)
* [[OpenSim_SwRegionHandshake | OpenSim_SwRegionHandshake]] (How a client connects to the simulator)
+
* [[OpenSim SwRegionHandshake|OpenSim_SwRegionHandshake]] (How a client connects to the simulator)
* [[OpenSim_UserService | OpenSim_UserService]] (How the user server works)
+
* [[OpenSim UserService|OpenSim_UserService]] (How the user server works)
* [[OpenSim_InterRegionCommunications | OpenSim_InterRegionCommunications]] (How the sim communicates with other sims)
+
* [[OpenSim InterRegionCommunications|OpenSim_InterRegionCommunications]] (How the sim communicates with other sims)
* [[OpenSim_GridService | OpenSim_GridService]] (How the grid server works)
+
* [[OpenSim GridService|OpenSim_GridService]] (How the grid server works)
* [[OpenSim_AssetService | OpenSim_AssetService]] (How the asset server works)
+
* [[OpenSim AssetService|OpenSim_AssetService]] (How the asset server works)
* [[OpenSim_SimService | OpenSim_SimService]] (How the simulator operates after a connection is made)
+
* [[OpenSim SimService|OpenSim_SimService]] (How the simulator operates after a connection is made)
* [[Sim_Throttles | Sim_Throttles]] (How the simulator handles throttling of packets)
+
* [[Sim Throttles|Sim_Throttles]] (How the simulator handles throttling of packets)
<br>
+
<br />
 +
 
 
= See Also =
 
= See Also =
  
* [[Status|Main Status Page]]
 
* [[Technical_Reference|Technical Reference Page]]
 
 
* [[:Category:Support| Support pages]]
 
* [[:Category:Support| Support pages]]
 
* [[:Category:Getting_Started|Getting Started]]
 
* [[:Category:Getting_Started|Getting Started]]
* [[OpenSim_Archives|How to use OpenSim Archives (OAR)]]
+
* [[OpenSim Archives|How to use OpenSimulator Archives (OAR)]]
  
 
[[Category:Users]]
 
[[Category:Users]]
 
[[Category:Support]]
 
[[Category:Support]]
[[Category:Tech Reference]]
 
 
[[Category:Help]]
 
[[Category:Help]]
 
[[Category:Configuration]]
 
[[Category:Configuration]]
[[Category:Getting_Started]]
+
[[Category:Getting Started]]
 
[[Category:Development]]
 
[[Category:Development]]

Latest revision as of 09: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.

[edit] 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



[edit] See Also

Personal tools
General
About This Wiki