Unigine.Plugins.Syncker.Syncker Class
The functionality described in this article is not available in the Community SDK edition.
You should upgrade to- Sim
SDK edition to use it.
You should upgrade to
This class represents the base interface of the Syncker, from which Master and Slave interfaces are inherited. It contains all common functions available for both Slave and Master.
Syncker plugin must be loaded.
Syncker Class
Enums
DELIVERY_METHOD#
Delivery mode to be used by the Syncker.Name | Description |
---|---|
UNRELIABLE = 0 | Unreliable delivery mode. Pure UDP. Packets may be lost, duplicated, or received in an order that differs from the one they were sent. Packets are not compressed, fragmented, or merged. |
SEQUENCED = 1 | Sequenced delivery mode. Packets may be lost, but never duplicated, they arrive in the exact order they were sent. |
RELIABLE = 2 | Reliable delivery mode. Reliable and sequenced mode, enabled by default. All packets shall be delivered to the recipient in the exact order they were sent. |
ADDRESSING_METHOD#
Addressing mode to be used by the Syncker.Name | Description |
---|---|
BROADCAST = 0 | Broadcast addressing mode (one-to-all): hosts have different IP-addresses, but a single port. |
UNICAST = 1 | Unicast addressing mode (one-to-one): hosts have different IP-addresses (some may be the same) and different ports. |
MULTICAST = 2 | Multicast addressing mode (one-to-many): hosts have different IP-addresses, but a single port. |
SWAP_SYNC_MODE#
Buffer swap synchronization mode.Properties
double ExtrapolationPeriod#
Console: syncker_extrapolation_period
The Current extrapolation period value for the computer.
double InterpolationPeriod#
Console: syncker_interpolation_period
The Current interpolation period value for the computer.
bool Interpolation#
Console: syncker_interpolation
The A value indicating if interpolation and extrapolation are enabled for the computer to tackle the problem of lost packets between the master and slaves.
float DisconnectTimeout#
The Current timeout period after which a Slave is considered as disconnected.
Syncker.ADDRESSING_METHOD AddressingMethod#
The Packets addressing mode currently used by the Syncker.
double IFps#
The Duration of the last frame, in seconds. This value is more accurate than that of the Game class.
double Time#
The Current Master frame time, in seconds, (even if called from a Slave computer). It is the time of the last buffer swap operation (i.e., beginning of the next frame). This value is more accurate than that of the Game class.
Syncker.SWAP_SYNC_MODE SwapSyncMode#
The Current swap synchronization mode used by the Syncker. One of the following:
- DEFAULT - default syncronization mode.
- NVIDIA - NVIDIA buffer swap synchronization. Detailed information on current sync status is displayed in the console (available only for NVIDIA Quadro GPUs with G-SYNC support).
Members
bool IsInterpolation ( Node node ) #
Returns a value indicating if the given node is interpolated by the Syncker.Arguments
- Node node - Node to be checked.
Return value
true if the given node is interpolated by the Syncker; otherwise, false.void SetView ( int display_num, string display_name ) #
Assigns the specified display or projector stored in the configuration file to the specified display of the computer.Arguments
- int display_num - Display number to assign the viewport to.
- string display_name - Name of the display or projector stored in the configuration file that represents the viewport.
string GetView ( int display_num ) #
Returns the current display or projector stored in the configuration file and assigned to the given display of the computer.Arguments
- int display_num - Display number.
Return value
Name of the display or projector stored in the configuration file and assigned to the given display.void ClearViews ( ) #
Clears all views assigned to the displays of the computer.void SetDebug ( bool enabled, int x, int y, int align_mask ) #
Console: syncker_debug
Enables or disables displaying of debug information at the specified position on the screen.Arguments
- bool enabled - true to display the debug information; false - to hide it.
- int x - Horizontal margin of the debug information block. The default value is 10.
- int y - Vertical margin of the debug information block. The default value is 10.
- int align_mask - Alignment mask. One of the Gui::ALIGN_* variables or their combination. The default value is Gui::ALIGN_RIGHT | Gui::ALIGN_BOTTOM.
bool IsDebug ( ) #
Console: syncker_debug
Returns a value indicating if the debug information is to be displayed.Return value
true if the debug information is to be displayed; otherwise, false.Projections GetProjections ( ) #
Returns the interface for managing projections configuration via API (see the Projections class).Return value
Projections class instance.vec3 GetViewOffset ( ) #
Returns the current view offset. The view offset is used in CAVE systems to reflect the current viewer's head position. It can also be used for parallax adjustment insid the cockpit.Return value
A vec3 vector representing components of the the view offset along X, Y, and Z axes, in meters.bool SendMessage ( string channel, Blob message, Syncker.DELIVERY_METHOD delivery_method = DELIVERY_METHOD.RELIABLE ) #
Sends a user message contained in the specified buffer using the given delivery method to the specified named channel via the UDP protocol.Arguments
- string channel - Channel name. Multiple systems may use Syncker's network simultaneously (e.g. IG and user's application). For convenience, all messages are sent and received via named channels.
- Blob message - Buffer, containing the user message.
- Syncker.DELIVERY_METHOD delivery_method -
Return value
true if the message was sent successfully; otherwise, false.void SetMessageReceivedCallback ( string channel ) #
Sets a callback function to be fired when a UDP user message is sent. A callback is executed in the Main Thread, but it is undefined when exactly - either in update(), or postUpdate(), or swap().Arguments
- string channel - Channel name. Multiple systems may use Syncker's network simultaneously (e.g. IG and user's application). For convenience, all messages are sent and received via named channels. If the specified channel does not exist, it shall be created.
Syncker.SWAP_SYNC_MODE GetSwapSyncMode ( ) #
Returns the buffer swap synchronization mode currently used by the Syncker.Return value
Current swap synchronization mode used by the Syncker. One of the following:- DEFAULT - default syncronization mode.
- NVIDIA - NVIDIA buffer swap synchronization. Detailed information on current sync status is displayed in the console (available only for NVIDIA Quadro GPUs with G-SYNC support).
double GetTime ( ) #
Returns the current Master frame time (even if called from a Slave computer), it is the time of the last buffer swap operation (i.e., beginning of the next frame). This method is more accurate than the same method of the Game class and returns a double-precision value.Return value
Current Master frame time, in seconds.double GetIFps ( ) #
Returns the duration of the last frame. This method is more accurate than the same method of the Game class and returns a double-precision value.Return value
Duration of the previous frame, in seconds.Last update:
2022-12-14
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)