Technical Reference/terms
From OpenSimulator
(Difference between revisions)
												
			m (Added some additional information about the regionhandle.)  | 
			Steevithak  (Talk | contribs)  m (updated markup to mediwiki standard for a glossary/definition list (this generates dt/dd markup for search engines))  | 
			||
| Line 3: | Line 3: | ||
{{content}}  | {{content}}  | ||
| − | This is a   | + | This is a glossary of software technical reference terms commonly found in descriptions of how OpenSimulator works from invocation, initialization, main loop and various services.    | 
| − | ==  | + | == Definitions of OpenSimulator technical terms ==  | 
| − | |||
| + | ;<span id="Region">Region</span>  | ||
| + | : 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  | ||
| − | ---  | + | ;<span id="Regionhandle">Regionhandle</span>  | 
| − | + | :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).  | |
| − | + | ;<span id="Scene">Scene</span>  | |
| − | A region   | + | :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.  | 
| − | + | ;<span id="Avatar-ScenePresence">Avatar/ScenePresence</span>  | |
| − | + | :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.  | |
| − | + | ||
| − | + | ;<span id="Viewer">Viewer</span>  | |
| − | + | :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.  | |
| − | + | ;<span id="Session">Session</span>  | |
| − | + | :Each connection between a viewer and a region, regardless if the avatar is the root or a child, is a session.  | |
| − | '''  | + | ;<span id="Session">Simulator</span>  | 
| − | + | :A program which can manage several ''Regions''  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
----  | ----  | ||
Revision as of 12:26, 28 August 2020
| Languages: | 
 
  | 
|  This article or section contains incomplete information. Please help us by completing the content on this page.  | 
This is a glossary of software technical reference terms commonly found in descriptions of how OpenSimulator works from invocation, initialization, main loop and various services. 
Definitions of OpenSimulator technical 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
 
- OpenSim.cs (OpenSim.cs )
 - OpenSim_SwInit (Initialization from Main() )
 - OpenSim_SwMainLoopl (After initialization, a main loop waits for connections or commands)
 - OpenSim_SwRegionHandshake (How a client connects to the simulator)
 - OpenSim_UserService (How the user server works)
 - OpenSim_InterRegionCommunications (How the sim communicates with other sims)
 - OpenSim_GridService (How the grid server works)
 - OpenSim_AssetService (How the asset server works)
 - OpenSim_SimService (How the simulator operates after a connection is made)
 - Sim_Throttles (How the simulator handles throttling of packets)