Legacy remote API functions (Java)

simxAddStatusbarMessage

Description Adds a message to the status bar.
Java synopsis int simxAddStatusbarMessage(int clientID,final String message,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
message: the message to display
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxAppendStringSignal

Description DEPRECATED. Refer to simxWriteStringStream instead.

Appends a string to a string signal. If that signal is not yet present, it is added. To pack/unpack integers/floats into/from a string, refer to IntWA and FloatWA. See also simxSetStringSignal.
Java synopsis int simxAppendStringSignal(int clientID,final String signalName, final String signalValueToAppend,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValueToAppend: value to append to the signal. That value may contain any value, including embedded zeros.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxAuxiliaryConsoleClose

Description Closes an auxiliary console window. See also simxAuxiliaryConsoleOpen.
Java synopsis int simxAuxiliaryConsoleClose(int clientID,int consoleHandle,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
consoleHandle: the handle of the console window, previously returned by the simxAuxiliaryConsoleOpen command
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxAuxiliaryConsoleOpen

Description Opens an auxiliary console window for text display. This console window is different from the application main console window. Console window handles are shared across all simulator scenes. See also simxAuxiliaryConsolePrint, simxAuxiliaryConsoleShow and simxAuxiliaryConsoleClose.
Java synopsis int simxAuxiliaryConsoleOpen(int clientID,final String title,int maxLines,int mode,IntWA position,IntWA size,FloatWA textColor,FloatWA backgroundColor,IntW consoleHandle,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
title: the title of the console window
maxLines: the number of text lines that can be displayed and buffered
mode: bit-coded value. Bit0 set indicates that the console window will automatically close at simulation end, bit1 set indicates that lines will be wrapped, bit2 set indicates that the user can close the console window, bit3 set indicates that the console will automatically be hidden during simulation pause, bit4 set indicates that the console will not automatically hide when the user switches to another scene.
position: the initial position of the console window (x and y value). Can be null
size: the initial size of the console window (x and y value). Can be null
textColor: the color of the text (rgb values, 0-1). Can be null
backgroundColor: the background color of the console window (rgb values, 0-1). Can be null
consoleHandle: the handle of the created console (output)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxAuxiliaryConsolePrint

Description Prints to an auxiliary console window. See also simxAuxiliaryConsoleOpen.
Java synopsis int simxAuxiliaryConsolePrint(int clientID,int consoleHandle, final String txt,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
consoleHandle: the handle of the console window, previously returned by the simxAuxiliaryConsoleOpen command
txt: the text to append, or null to clear the console window
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxAuxiliaryConsoleShow

Description Shows or hides an auxiliary console window. See also simxAuxiliaryConsoleOpen and simxAuxiliaryConsoleClose.
Java synopsis int simxAuxiliaryConsoleShow(int clientID,int consoleHandle,bool showState,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
consoleHandle: the handle of the console window, previously returned by the simxAuxiliaryConsoleOpen command
showState: indicates whether the console should be hidden (false) or shown (true)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxCallScriptFunction

Description Remotely calls a CoppeliaSim script function. When calling simulation scripts, then simulation must be running. Refer to this section for additional details.
Java synopsis int simxCallScriptFunction(int clientID,final String scriptName,int scriptHandleOrType,final String functionName,final IntWA inInts,final FloatWA inFloats,final StringWA inStrings,final CharWA inBuffer,IntWA outInts,FloatWA outFloats,StringWA outStrings,CharWA outBuffer,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
scriptName: an empty string, or:
if scriptHandleOrType is sim_scripttype_childscript (1) or sim_scripttype_customizationscript (6), then this should be the path to the scene object this script is attached to (e.g. "/path/to/object")
if scriptHandleOrType is sim_scripttype_addonscript (2), then this should be the name of the add-on (e.g. "Isometric scaling;)
scriptHandleOrType: the handle of the script, otherwise the type of the script
functionName: the name of the script function to call in the specified script.
inInts (input): the input integer values that are handed over to the script function. Can be null.
inFloats (input): the input floating-point values that are handed over to the script function. Can be null.
inStrings (input): the input strings that are handed over to the script function. Can be null.
inBuffer (input): the input buffer that is handed over to the script function. Can be null.
outInts (output): the returned integer values. Can be null.
outFloats (output): the returned floating-point values. Can be null.
outStrings (output): the returned strings. Can be null.
outBuffer (output): the returned buffer. Can be null.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxCheckCollision

Description Checks whether two entities collide.
Java synopsis int simxCheckCollision(int clientID,int entity1,int entity2,BoolW collisionState,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
entity1: the handle of the first entity.
entity2: the handle of the second entity.
collisionState: the collision state (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxCheckDistance

Description Measures the distance between two entities.
Java synopsis int simxCheckDistance(int clientID,int distanceObjectHandle,FloatW minimumDistance,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
entity1: the handle of the first entity.
entity2: the handle of the second entity.
minimumDistance: the minimum distance (output).
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxClearFloatSignal

Description Clears a float signal (removes it). See also simxSetFloatSignal, simxClearInt32Signal and simxClearStringSignal.
Java synopsis int simxClearFloatSignal(int clientID,final String signalName, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxClearInt32Signal

Description Clears an integer signal (removes it). See also simxSetInt32Signal, simxClearFloatSignal and simxClearStringSignal.
Java synopsis int simxClearInt32Signal(int clientID,final String signalName,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxClearStringSignal

Description Clears a string signal (removes it). See also simxSetStringSignal, simxClearInt32Signal and simxClearFloatSignal.
Java synopsis int simxClearStringSignal(int clientID,final String signalName,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxCloseScene

Description Closes current scene, and switches to another open scene. If there is no other open scene, a new scene is then created. Should only be called when simulation is not running and is only executed by continuous remote API server services. See also simxLoadScene.
Java synopsis int simxCloseScene(int clientID,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxCopyPasteObjects

Description Copies and pastes objects, together with all their associated child scripts. To copy and paste whole models, you can simply copy and paste the model base object.
Java synopsis int simxCopyPasteObjects(int clientID,IntWA objectHandles, IntWA newObjectHandles, int operationMode);
Java parameters
clientID: the client ID. refer to simxStart.
objectHandles: an array containing the handles of the objects to copy
newObjectHandles: an array of handles of newly created objects (output). Individual objects of a new model are not returned, but only the model base.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxCreateDummy

Description Creates a dummy in the scene.
Java synopsis int simxCreateDummy(int clientID,float size,CharWA colors,IntW dummyHandle,simxInt operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
size: the size of the dummy.
colors: 4*3 bytes (0-255) for ambient_diffuse RGB, 3 reserved values (set to zero), specular RGB and emissive RGB. Can be null for default colors.
dummyHandle: the returned dummy handle (output).
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxDisplayDialog

Description Displays a generic dialog box during simulation (and only during simulation!). Use in conjunction with simxGetDialogResult, simxGetDialogInput and simxEndDialog. Use custom user interfaces instead if a higher customization level is required.
Java synopsis int simxDisplayDialog(int clientID,final String titleText,final String mainText,int dialogType,final String initialText,FloatWA titleColors,FloatWA dialogColors,IntW dialogHandle,IntW uiHandle,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
titleText: Title bar text
mainText: Information text
dialogType: a generic dialog style
initialText: Initial text in the edit box if the dialog is of type sim_dlgstyle_input.
titleColors: Title bar color (6 values for RGB for background and foreground), can be null for default colors
dialogColors: Dialog color (6 values for RGB for background and foreground), can be null for default colors
dialogHandle: handle of the generic dialog (output) (different from OpenGl-based custom UI handle!! (see hereafter)). This handle should be used with the following functions: simxGetDialogResult, simxGetDialogInput and simxEndDialog.
uiHandle: the handle of the corresponding OpenGl-based custom UI (output).
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxEndDialog

Description Closes and releases resource from a previous call to simxDisplayDialog. Even if the dialog is not visible anymore, you should release resources by using this function (however at the end of a simulation, all dialog resources are automatically released).
Java synopsis int simxEndDialog(int clientID,int dialogHandle,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
dialogHandle: handle of generic dialog (return value of simxDisplayDialog)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxEraseFile

Description Erases a file on the server side. This function is used by several other functions internally (e.g. simxLoadModel). See also simxTransferFile. This is a remote API helper function.
Java synopsis int simxEraseFile(int clientID,final String fileName_serverSide, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
fileName_serverSide: the file to erase on the server side. For now, do not specify a path (the file will be erased in the remote API plugin directory)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxFinish

Description Ends the communication thread. This should be the very last remote API function called on the client side. simxFinish should only be called after a successfull call to simxStart. This is a remote API helper function.
Java synopsis void simxFinish(int clientID)
Java parameters
clientID: the client ID. refer to simxStart. Can be -1 to end all running communication threads.
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetAndClearStringSignal

Description DEPRECATED. Refer to simxReadStringStream instead.

Gets the value of a string signal, then clears it. Useful to retrieve continuous data from the server. To pack/unpack integers/floats into/from a string, refer to IntWA and FloatWA. See also simxGetStringSignal.
Java synopsis int simxGetAndClearStringSignal(int clientID,final String signalName, CharWA signalValue, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: the value of the signal, which might contain any values, including embedded zeros (output).
operationMode: a remote API function operation mode. Since this function will clear a read signal, and we cannot afford to wait for a reply (well, we could, but that would mean a blocking operation), the function operates in a special mode and should be used as in following example:

// Initialization phase: CharWA str=new CharWA(1); sim.simxGetAndClearStringSignal(clientID,"sig",str,sim.simx_opmode_streaming); // while we are connected: while (sim.simxGetConnectionId(clientID)!=-1) { if (sim.simxGetAndClearStringSignal(clientID,"sig",str,sim.simx_opmode_buffer)== simx_return_ok) { // A signal was retrieved. // Enable streaming again (was automatically disabled with the positive event): sim.simxGetAndClearStringSignal(clientID,"sig",str,sim.simx_opmode_streaming); } .. }
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetArrayParam

Description Retrieves 3 values from an array. See the array parameter identifiers. See also simxSetArrayParam, simxGetBoolParam, simxGetInt32Param, simxGetFloatParam and simxGetStringParam.
Java synopsis int simxGetArrayParam(int clientID,int paramIdentifier,FloatWA paramValues,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: an array parameter identifier
paramValues: the array value (output)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking (if not called on a regular basis)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetBoolParam

Description Retrieves a bool value. See the bool parameter identifiers. See also simxSetBoolParam, simxGetInt32Param, simxGetFloatParam, simxGetArrayParam and simxGetStringParam.
Java synopsis int simxGetBoolParam(int clientID,int paramIdentifier,BoolW paramValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: a bool parameter identifier
paramValue: the parameter value (output)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking (if not called on a regular basis)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetCollectionHandle

Description This is a convenience function. Since CoppeliaSim V4.2.0, collections should be dynamically created and do not have a name anymore. This function will first try to retrieve a static collection with the specified name (for backward compatibility's sake). If such a collection does not exist, it will try to return the integer signal with the specified name. On CoppeliaSim's side, one could do: local collectionHandle=sim.createCollection(0) sim.addItemToCollection(collectionHandle,..) .. sim.setInt32Signal('collectionName',collectionHandle)
Java synopsis int simxGetCollectionHandle(int clientID,final String collectionName,IntW handle,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
collectionName: name of the collection.
handle: the handle (output)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetCollisionHandle

Description DEPRECATED. see simxCheckCollision instead.
Java synopsis int simxGetCollisionHandle(int clientID,final String collisionObjectName,IntW handle,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
collisionObjectName: name of the collision object.
handle: the handle (output)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetConnectionId

Description Returns the ID of the current connection. Use this function to track the connection state to the server. See also simxStart. This is a remote API helper function.
Java synopsis int simxGetConnectionId(int clientID)
Java parameters
clientID: the client ID. refer to simxStart.
Java return value
a connection ID, or -1 if the client is not connected to the server. Different connection IDs indicate temporary disconections in-between.
Other languages C/C++, Python, Matlab, Octave

simxGetDialogInput

Description Queries the text the user entered into a generic dialog box of style sim_dlgstyle_input. To be used after simxDisplayDialog was called and after simxGetDialogResult returned sim_dlgret_ok.
Java synopsis int simxGetDialogInput(int clientID,int dialogHandle,StringW inputText,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
dialogHandle: handle of generic dialog (return value of simxDisplayDialog)
inputText: the string the user entered (output).
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetDialogResult

Description Queries the result of a dialog box. To be used after simxDisplayDialog was called.
Java synopsis int simxGetDialogResult(int clientID,int dialogHandle,IntW result,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
dialogHandle: handle of generic dialog (return value of simxDisplayDialog)
result: the result value. (output)

Note. If the return value is sim_dlgret_still_open, the dialog was not closed and no button was pressed. Otherwise, you should free resources with simxEndDialog (the dialog might not be visible anymore, but is still present)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetDistanceHandle

Description DEPRECATED. see simxCheckDistance instead.
Java synopsis int simxGetDistanceHandle(int clientID,final String distanceObjectName,IntW handle,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
distanceObjectName: name of the distance object.
handle: the handle (output)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetFloatParam

Description Retrieves a floating point value. See the floating-point parameter identifiers. See also simxSetFloatParam, simxGetBoolParam, simxGetInt32Param, simxGetArrayParam and simxGetStringParam.
Java synopsis int simxGetFloatParam(int clientID,int paramIdentifier,FloatW paramValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
paramValue: the parameter value (output)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking (if not called on a regular basis)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetFloatSignal

Description Gets the value of a float signal. Signals are cleared at simulation start. See also simxSetFloatSignal, simxClearFloatSignal, simxGetInt32Signal and simxGetStringSignal.
Java synopsis int simxGetFloatSignal(int clientID,final String signalName,FloatW signalValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: the value of the signal (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetInMessageInfo

Description
Retrieves information about the last received message from the server. This is a remote API helper function. See also simxGetOutMessageInfo.

If the client didn't receive any command reply from the server for a while, the data retrieved with this function won't be up-to-date. In order to avoid this, you should start at least one streaming command, which will guarantee regular message income.
Java synopsis int simxGetInMessageInfo(int clientID,int infoType, IntW info)
Java parameters
clientID: the client ID. refer to simxStart.
info: the requested information (output)
Java return value
-1 in case of an error
Other languages C/C++, Python, Matlab, Octave

simxGetInt32Param

Description Retrieves an integer value. See the integer parameter identifiers. See also simxSetInt32Param, simxGetBoolParam, simxGetFloatParam, simxGetArrayParam and simxGetStringParam.
Java synopsis int simxGetInt32Param(int clientID,int paramIdentifier,IntW paramValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: an integer parameter identifier
paramValue: the parameter value (output)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking (if not called on a regular basis)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetInt32Signal

Description Gets the value of an integer signal. Signals are cleared at simulation start. See also simxSetInt32Signal, simxClearInt32Signal, simxGetFloatSignal and simxGetStringSignal.
Java synopsis int simxGetInt32Signal(int clientID,final String signalName,IntW signalValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: the value of the signal (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetJointForce

Description Retrieves the force or torque applied to a joint along/about its active axis. This function retrieves meaningful information only if the joint is prismatic or revolute, and is dynamically enabled. With the Bullet engine, this function returns the force or torque applied to the joint motor (torques from joint limits are not taken into account). With the ODE or Vortex engine, this function returns the total force or torque applied to a joint along/about its z-axis. See also simxSetJointMaxForce, simxReadForceSensor and simxGetObjectGroupData.
Java synopsis int simxGetJointForce(int clientID,int jointHandle,FloatW force,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
force: the force or the torque applied to the joint along/about its z-axis (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetJointMaxForce

Description Retrieves the maximum force the joint is able to exert. See also simxSetJointMaxForce and simxGetJointForce.
Java synopsis int simxGetJointMaxForce(int clientID,int jointHandle,FloatW force,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
force: the maximum force the joint can exert
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetJointMatrix

Description Retrieves the intrinsic transformation matrix of a joint (the transformation caused by the joint movement). See also simxSetSphericalJointMatrix.
Java synopsis int simxGetJointMatrix(int clientID,int jointHandle, FloatWA matrix, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
matrix: 12 values (output). See the regular API equivalent function for details
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetJointPosition

Description Retrieves the intrinsic position of a joint. This function cannot be used with spherical joints (use simxGetJointMatrix instead). See also simxSetJointPosition and simxGetObjectGroupData.
Java synopsis int simxGetJointPosition(int clientID,int jointHandle, FloatW position, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
position: intrinsic position of the joint (output). This is a one-dimensional value: if the joint is revolute, the rotation angle is returned, if the joint is prismatic, the translation amount is returned, etc.
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetLastCmdTime

Description
Retrieves the simulation time of the last fetched command (i.e. when the last fetched command was processed on the server side). The function can be used to verify how "fresh" a command reply is, or whether a command reply was recently updated. For example:

int err=sim.simxGetVisionSensorImage(clientID,handle,res,img,0,sim.sim_opmode_buffer); if (err==sim.simx_return_ok) imageAcquisitionTime=sim.simxGetLastCmdTime(clientID);
If some streaming commands are running, simxGetLastCmdTime will always retrieve the current simulation time, otherwise, only the simulation time of the last command that retrieved data from CoppeliaSim. This is a remote API helper function.
Java synopsis int simxGetLastCmdTime(int clientID)
Java parameters
clientID: the client ID. refer to simxStart.
Java return value
The simulation time in milliseconds when the command reply was generated, or 0 if simulation was not running.
Other languages C/C++, Python, Matlab, Octave

simxGetLastErrors

Description Retrieves the last 50 errors that occured on the server side, and clears the error buffer there. Only errors that occured because of this client will be reported.
Java synopsis int simxGetLastErrors(int clientID,StringWA errorStrings,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
errorStrings: the error strings (output).
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls) when not debugging. For debugging purposes, use simx_opmode_blocking.
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetModelProperty

Description Retrieves the properties of a model. See also simxSetModelProperty.
Java synopsis int simxGetModelProperty(int clientID,int objectHandle,IntW prop,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
prop: the model property value (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls), or simx_opmode_blocking (depending on the intended usage)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjectChild

Description Retrieves the handle of an object's child object. See also simxGetObjectParent.
Java synopsis int simxGetObjectChild(int clientID,int parentObjectHandle,int childIndex,IntW childObjectHandle,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
parentObjectHandle: handle of the object
childIndex: zero-based index of the child's position. To retrieve all children of an object, call the function by increasing the index until the child handle is -1
childObjectHandle: the handle of the child object (output). If the value is -1, there is no child at the given index
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjectFloatParameter

Description Retrieves a floating-point parameter of a object. See also simxSetObjectFloatParameter and simxGetObjectIntParameter.
Java synopsis int simxGetObjectFloatParameter(int clientID,int objectHandle,int parameterID,FloatW parameterValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
parameterID: identifier of the parameter to retrieve. See the list of all possible object parameter identifiers
parameterValue: the value of the parameter (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls), or simx_opmode_blocking (depending on the intended usage)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjectGroupData

Description Simultaneously retrieves data of various objects in a CoppeliaSim scene.
Java synopsis int simxGetObjectGroupData(int clientID,int objectType,int dataType,IntWA handles,IntWA intData,FloatWA floatData,StringWA stringData,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectType: a scene object type, sim_appobj_object_type for all scene objects, or a collection handle.
dataType: the type of data that is desired:
0: retrieves the object names (deprecated. See further down)
1: retrieves the object types (in intData)
2: retrieves the parent object handles (in intData)
3: retrieves the absolute object positions (in floatData. There are 3 values for each object (x,y,z))
4: retrieves the local object positions (in floatData. There are 3 values for each object (x,y,z))
5: retrieves the absolute object orientations as Euler angles (in floatData. There are 3 values for each object (alpha,beta,gamma))
6: retrieves the local object orientations as Euler angles (in floatData. There are 3 values for each object (alpha,beta,gamma))
7: retrieves the absolute object orientations as quaternions (in floatData. There are 4 values for each object (qx,qy,qz,qw))
8: retrieves the local object orientations as quaternions (in floatData. There are 4 values for each object (qx,qy,qz,qw))
9: retrieves the absolute object positions and orientations (as Euler angles) (in floatData. There are 6 values for each object (x,y,z,alpha,beta,gamma))
10: retrieves the local object positions and orientations (as Euler angles) (in floatData. There are 6 values for each object (x,y,z,alpha,beta,gamma))
11: retrieves the absolute object positions and orientations (as quaternions) (in floatData. There are 7 values for each object (x,y,z,qx,qy,qz,qw))
12: retrieves the local object positions and orientations (as quaternions) (in floatData. There are 7 values for each object (x,y,z,qx,qy,qz,qw))
13: retrieves proximity sensor data (in intData (2 values): detection state, detected object handle. In floatData (6 values): detected point (x,y,z) and detected surface normal (nx,ny,nz))
14: retrieves force sensor data (in intData (1 values): force sensor state. In floatData (6 values): force (fx,fy,fz) and torque (tx,ty,tz))
15: retrieves joint state data (in floatData (2 values): position, force/torque)
16: retrieves joint properties data (in intData (2 values): joint type, joint mode (bit16=hybid operation). In floatData (2 values): joint limit low, joint range (-1.0 if joint is cyclic))
17: retrieves the object linear velocity (in floatData. There are 3 values for each object (vx,vy,vz))
18: retrieves the object angular velocity as Euler angles per seconds (in floatData. There are 3 values for each object (dAlpha,dBeta,dGamma))
19: retrieves the object linear and angular velocity (in floatData. There are 6 values for each object (vx,vy,vz,dAlpha,dBeta,dGamma))
20: retrieves the object aliases (in stringData.)
21: retrieves the object paths (in stringData.)
handles (output): the object handles.
intData (output): the integer values.
floatData (output): the float values.
stringData (output): the string values.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking or simx_opmode_streaming.
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjectHandle

Description Retrieves an object handle based on its path and alias.
Java synopsis int simxGetObjectHandle(int clientID,final String objectPath, IntW handle, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectPath: the path of the object. See the section on accessing scene objects for details.
handle: the handle (output)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjectIntParameter

Description Retrieves an integer parameter of a object. See also simxSetObjectIntParameter and simxGetObjectFloatParameter.
Java synopsis int simxGetObjectIntParameter(int clientID,int objectHandle,int parameterID,IntW parameterValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
parameterID: identifier of the parameter to retrieve. See the list of all possible object parameter identifiers
parameterValue: the value of the parameter (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls), or simx_opmode_blocking (depending on the intended usage)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjectOrientation

Description Retrieves the orientation (Euler angles) of an object. See also simxSetObjectOrientation, simxGetObjectQuaternion and simxGetObjectPosition and simxGetObjectGroupData.
Java synopsis int simxGetObjectOrientation(int clientID,int objectHandle,int relativeToObjectHandle,FloatWA eulerAngles,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame we want the orientation. Specify -1 to retrieve the absolute orientation, sim_handle_parent to retrieve the orientation relative to the object's parent, or an object handle relative to whose reference frame you want the orientation
eulerAngles: the Euler angles (alpha, beta and gamma) (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjectParent

Description Retrieves the handle of an object's parent object. See also simxGetObjectChild and simxGetObjectGroupData.
Java synopsis int simxGetObjectParent(int clientID,int childObjectHandle,IntW parentObjectHandle,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
parentObjectHandle: the handle of the parent object (output). If the value is -1, the object has no parent
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjectPosition

Description Retrieves the position of an object. See also simxSetObjectPosition, simxGetObjectOrientation, simxGetObjectQuaternion and simxGetObjectGroupData.
Java synopsis int simxGetObjectPosition(int clientID,int objectHandle, int relativeToObjectHandle, FloatWA position, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame we want the position. Specify -1 to retrieve the absolute position, sim_handle_parent to retrieve the position relative to the object's parent, or an object handle relative to whose reference frame you want the position
position: the position (x, y, z) (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjectQuaternion

Description Retrieves the quaternion of an object. See also simxSetObjectQuaternion.
Java synopsis int simxGetObjectQuaternion(int clientID,int objectHandle, int relativeToObjectHandle, FloatWA quat, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame we want the quaternion. Specify -1 to retrieve the absolute quaternion, sim_handle_parent to retrieve the quaternion relative to the object's parent, or an object handle relative to whose reference frame you want the quaternion
quat: the quaternion (x, y, z, w) (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjects

Description Retrieves object handles of a given type, or of all types (i.e. all object handles). See also simxGetObjectGroupData.
Java synopsis int simxGetObjects(int clientID,int objectType,IntWA objectHandles,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectType: object type (sim_object_shape_type, sim_object_joint_type, etc., or sim_handle_all for any type of object
objectHandles: an object handle array (output).
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjectSelection

Description Retrieves all selected object's handles. See also simxSetObjectSelection.
Java synopsis int simxGetObjectSelection(int clientID,IntWA objectHandles, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandles: an object handle array (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls), or simx_opmode_blocking depending on the intent.
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetObjectVelocity

Description Retrieves the linear and angular velocity of an object. See also simxGetObjectPosition, simxGetObjectOrientation and simxGetObjectGroupData.
Java synopsis int simxGetObjectVelocity(int clientID,int objectHandle, FloatWA linearVelocity, FloatWA angularVelocity, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
linearVelocity: the linear velocity (vx, vy, vz) (output). Can be null.
angularVelocity: the angular velocity (dAlpha, dBeta, dGamma) (output). Can be null.
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetOutMessageInfo

Description
Retrieves information about the next message to send to the server. This is a remote API helper function. See also simxGetInMessageInfo.
Java synopsis int simxGetOutMessageInfo(int clientID,int infoType, IntW info)
Java parameters
clientID: the client ID. refer to simxStart.
info: the requested information (output)
Java return value
-1 in case of an error
Other languages C/C++, Python, Matlab, Octave

simxGetPingTime

Description Retrieves the time needed for a command to be sent to the server, executed, and sent back. That time depends on various factors like the client settings, the network load, whether a simulation is running, whether the simulation is real-time, the simulation time step, etc. The function is blocking. This is a remote API helper function.
Java synopsis int simxGetPingTime(int clientID,IntW pingTime)
Java parameters
clientID: the client ID. refer to simxStart.
pingTime: the ping time in milliseconds (output)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetStringParam

Description Retrieves a string value. See the string parameter identifiers. See also simxGetBoolParam, simxGetInt32Param, simxGetArrayParam and simxGetFloatParam.
Java synopsis int simxGetStringParam(int clientID,int paramIdentifier,StringW paramValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: a string parameter identifier
paramValue: the string (output).
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking (if not called on a regular basis)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetStringSignal

Description Gets the value of a string signal. Signals are cleared at simulation start. To pack/unpack integers/floats into/from a string, refer to IntWA and FloatWA. See also simxSetStringSignal, simxClearStringSignal, simxGetInt32Signal and simxGetFloatSignal.
Java synopsis int simxGetStringSignal(int clientID,final String signalName, CharWA signalValue, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: the value of the signal, which might contain any values, including embedded zeros (output).
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetUIButtonProperty (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxGetUIEventButton (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxGetUIHandle (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxGetUISlider (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxGetVisionSensorDepthBuffer

Description Retrieves the depth buffer of a vision sensor. The returned data doesn't make sense if sim.handleVisionSensor wasn't called previously (sim.handleVisionSensor is called by default in the main script if the vision sensor is not tagged as explicit handling). Use the simxGetLastCmdTime function to verify the "freshness" of the retrieved data. See also simxGetVisionSensorImage.
Java synopsis int simxGetVisionSensorDepthBuffer(int clientID,int sensorHandle,IntWA resolution,FloatWA buffer,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
sensorHandle: handle of the vision sensor
resolution: the resolution of the image (output)
buffer: the depth buffer data (output). Values are in the range of 0-1 (0=closest to sensor, 1=farthest from sensor).
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxGetVisionSensorImage

Description Retrieves the image of a vision sensor. The returned data doesn't make sense if sim.handleVisionSensor wasn't called previously (sim.handleVisionSensor is called by default in the main script if the vision sensor is not tagged as explicit handling). Use the simxGetLastCmdTime function to verify the "freshness" of the retrieved data. See also simxSetVisionSensorImage, simxGetVisionSensorDepthBuffer and simxReadVisionSensor.
Java synopsis int simxGetVisionSensorImage(int clientID,int sensorHandle, IntWA resolution, CharWA image, int options, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
sensorHandle: handle of the vision sensor
resolution: the resolution of the image (output)
image: the image data (output).
options: image options, bit-coded:
bit0 set: each image pixel is a byte (greyscale image), otherwise each image pixel is a rgb byte-triplet
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxJointGetForce (DEPRECATED)

Description DEPRECATED. Refer to simxGetJointForce instead.
Java synopsis int simxJointGetForce(int clientID,int jointHandle,FloatW force,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
force: the force or the torque applied to the joint along/about its z-axis (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxLoadModel

Description Loads a previously saved model. See also simxLoadScene and simxTransferFile.
Java synopsis int simxLoadModel(int clientID,final String modelPathAndName, int options, IntW baseHandle, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
modelPathAndName: the model filename, including the path and extension ("ttm"). The file is relative to the client or server system depending on the options value (see next argument)
options: options, bit-coded:
bit0 set: the specified file is located on the client side (in that case the function will be blocking since the model first has to be transferred to the server). Otherwise it is located on the server side
baseHandle: the loaded model base (output)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxLoadScene

Description Loads a previously saved scene. Should only be called when simulation is not running and is only executed by continuous remote API server services. See also simxCloseScene, simxLoadModel, and simxTransferFile.
Java synopsis int simxLoadScene(int clientID,final String scenePathAndName, int options, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
scenePathAndName: the scene filename, including the path and extension ("ttt"). The file is relative to the client or server system depending on the options value (see next argument)
options: options, bit-coded:
bit0 set: the specified file is located on the client side (in that case the function will be blocking since the scene first has to be transferred to the server). Otherwise it is located on the server side
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxLoadUI (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxPauseCommunication

Description Allows to temporarily halt the communication thread from sending data. This can be useful if you need to send several values to CoppeliaSim that should be received and evaluated at the same time. This is a remote API helper function.
Java synopsis int simxPauseCommunication(int clientID,bool pause)
Java parameters
clientID: the client ID. refer to simxStart.
pause: whether the communication thread should pause or run normally.

Usage example:
sim.simxPauseCommunication(clientID,true); sim.simxSetJointPosition(clientID,joint1Handle,joint1Value,sim.simx_opmode_oneshot); sim.simxSetJointPosition(clientID,joint2Handle,joint2Value,sim.simx_opmode_oneshot); sim.simxSetJointPosition(clientID,joint3Handle,joint3Value,sim.simx_opmode_oneshot); sim.simxPauseCommunication(clientID,false); // Above's 3 joints will be received and set on the CoppeliaSim side at the same time
Java return value
0 in case of operation success.
Other languages C/C++, Python, Matlab, Octave

simxPauseSimulation

Description Requests a pause of a simulation. See also simxStartSimulation and simxStopSimulation.
Java synopsis int simxPauseSimulation(int clientID,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
operationMode: a remote API function operation mode. Recommended operation modes for this function is simx_opmode_oneshot.
Java return value
Other languages C/C++, Python, Matlab, Octave

simxQuery

Description DEPRECATED. Refer to simxCallScriptFunction instead.

Sends a query string to CoppeliaSim, and waits for a reply string. Query and reply strings can be accessed via string signals. This function allows for instance to have a child script, another remote API client or a ROS node handle special requests coming from this remote API client, then send a reply back. To pack/unpack integers/floats into/from a CharWA, refer to IntWA and FloatWA.

Usage example where a child script handles a request:
// Following is the remote API client side: CharWA replyData=new CharWA(1); if (sim.simxQuery(clientID,"request","send me a 42","reply",replyData,5000)==0) System.out.format("The reply is: %s\n",replyData.getValue());
-- This is the child script side. The child script is non-threaded and -- following part executed at each simulation pass: req=sim.getStringSignal("request") if (req) then sim.clearStringSignal("request") if (req=="send me a 42") then sim.setStringSignal("reply","42\0") -- will be automatically cleared by the client end end
Java synopsis int simxQuery(int clientID,final String signalName, final String signalValue,final String retSignalName, StringW retSignalValue, int timeOutInMs)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal that contains the request string
signalValue: the request string.
retSignalName: name of the signal that contains the reply string
retSignalValue: the reply string
timeOutInMs: the maximum time in milliseconds that the function will wait for a reply.
Java return value
Other languages C/C++, Python, Matlab, Octave

simxReadCollision

Description DEPRECATED. see simxCheckCollision instead.
Java synopsis int simxReadCollision(int clientID,int collisionObjectHandle,BoolW collisionState,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
collisionObjectHandle: handle of the collision object
collisionState: the collision state (output)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxReadDistance

Description DEPRECATED. see simxCheckDistance instead.
Java synopsis int simxReadDistance(int clientID,int distanceObjectHandle,FloatW minimumDistance,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
distanceObjectHandle: handle of the distance object
minimumDistance: the minimum distance (output). If the distance object wasn't handled yet, the distance value will be larger than 1e36.
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxReadForceSensor

Description Reads the force and torque applied to a force sensor (filtered values are read), and its current state ('unbroken' or 'broken'). See also simxGetJointForce and simxGetObjectGroupData.
Java synopsis int simxReadForceSensor(int clientID,int forceSensorHandle,IntWA state,FloatWA forceVector,FloatWA torqueVector,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
forceSensorHandle: handle of the force sensor
state: the state of the force sensor (output). Can be null
bit 0 set: force and torque data is available, otherwise it is not (yet) available (e.g. when not enough values are present for the filter)
bit 1 set: force sensor is broken, otherwise it is still intact ('unbroken')
forceVector: the force vector (output). Can be null
torqueVector: the torque vector (output). Can be null
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxReadProximitySensor

Description Reads the state of a proximity sensor. This function doesn't perform detection, it merely reads the result from a previous call to sim.handleProximitySensor (sim.handleProximitySensor is called in the default main script). See also simxGetObjectGroupData.
Java synopsis int simxReadProximitySensor(int clientID,int sensorHandle, BoolW detectionState, FloatWA detectedPoint, IntW detectedObjectHandle, FloatWA detectedSurfaceNormalVector,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
sensorHandle: handle of the proximity sensor
detectionState: the detection state (output). Can be null.
detectedPoint: the detected point coordinates (relative to the sensor reference frame) (output). Can be null.
detectedObjectHandle: the handle of the detected object (output). Can be null.
detectedSurfaceNormalVector: the normal vector (normalized) of the detected surface (output). Relative to the sensor reference frame. Can be null.
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxReadStringStream

Description Gets the value of a string signal, then clears it. Useful to retrieve continuous data from the server. To pack/unpack integers/floats into/from a string, refer to IntWA and FloatWA. See also simxWriteStringStream.
Java synopsis int simxReadStringStream(int clientID,final String signalName, CharWA signalValue, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: the value of the signal, which might contain any values, including embedded zeros (output).
operationMode: a remote API function operation mode.Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls). simx_opmode_blocking is forbidden. Use a construction like following in order to continuously exchange data with CoppeliaSim:

Remote API client side: // Initialization phase: CharWA str=new CharWA(1); sim.simxReadStringStream(clientID,"toClient",str,sim.simx_opmode_streaming); // while we are connected: while (sim.simxGetConnectionId(clientID)!=-1) { if (sim.simxReadStringStream(clientID,"toClient",str,sim.simx_opmode_buffer)== simx_return_ok) { // Data produced by the child script was retrieved! Send it back to the child script: sim.simxWriteStringStream(clientID,"fromClient",str,sim.simx_opmode_oneshot); } }
Server side (CoppeliaSim), from a child script: function sysCall_init() -- initialization phase: i=0 lastReceived=-1 end function sysCall_actuation() -- First send a stream of integers that count up: dat=sim.getStringSignal('toClient') if not dat then dat='' end dat=dat..sim.packInt32Table({i}) i=i+1 sim.setStringSignal('toClient',dat) -- Here receive the integer stream in return and check if each number is correct: dat=sim.getStringSignal('fromClient') if dat then sim.clearStringSignal('fromClient') dat=sim.unpackInt32Table(dat) for j=1,#dat,1 do if (dat[j]~=lastReceived+1) then print('Error') else io.write('.') lastReceived=dat[j] end end end end
Java return value
Other languages C/C++, Python, Matlab, Octave

simxReadVisionSensor

Description Reads the state of a vision sensor. This function doesn't perform detection, it merely reads the result from a previous call to sim.handleVisionSensor (sim.handleVisionSensor is called in the default main script). See also simxGetVisionSensorImage and simxGetObjectGroupData.
Java synopsis int simxReadVisionSensor(int clientID,int sensorHandle,BoolW detectionState, FloatWAA auxValues, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
sensorHandle: handle of the vision sensor
detectionState: the detection state (i.e. the trigger state) (output). Can be null
auxValues: by default CoppeliaSim returns one packet of 15 auxiliary values:the minimum of {intensity, red, green, blue, depth value}, the maximum of {intensity, red, green, blue, depth value}, and the average of {intensity, red, green, blue, depth value}. Additional packets can be appended in the vision callback function.
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxRemoveModel

Description Removes a model from the scene. See also simxRemoveObject.
Java synopsis int simxRemoveModel(int clientID,int objectHandle,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the model to remove (object should be flagged as model base).
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot (or simx_opmode_blocking)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxRemoveObject

Description Removes a scene object. See also simxRemoveModel.
Java synopsis int simxRemoveObject(int clientID,int objectHandle,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object to remove
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot (or simx_opmode_blocking)
Java return value
Other languages C/C++, Python, Matlab, Octave

simxRemoveUI (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxSetArrayParam

Description Sets 3 values of an array parameter. See also simxGetArrayParam, simxSetBoolParam, simxSetInt32Param and simxSetFloatParam.
Java synopsis int simxSetArrayParam(int clientID,int paramIdentifier,FloatWA paramValues,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: an array parameter identifier
paramValues: the array containing the 3 values to set
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetBoolParam

Description Sets a bool parameter. See also simxGetBoolParam, simxSetInt32Param, simxSetArrayParam and simxSetFloatParam.
Java synopsis int simxSetBoolParam(int clientID,int paramIdentifier,bool paramValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: a bool parameter identifier
paramValue: the parameter value
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetFloatParam

Description Sets a floating point parameter. See also simxGetFloatParam, simxSetBoolParam, simxSetArrayParam and simxSetInt32Param.
Java synopsis int simxSetFloatParam(int clientID,int paramIdentifier,float paramValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
paramValue: the parameter value
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetFloatSignal

Description Sets the value of a float signal. If that signal is not yet present, it is added. See also simxGetFloatSignal, simxClearFloatSignal, simxSetInt32Signal and simxSetStringSignal.
Java synopsis int simxSetFloatSignal(int clientID,final String signalName,float signalValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: value of the signal
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetInt32Param

Description Sets an integer parameter. See also simxGetInt32Param, simxSetBoolParam, simxSetArrayParam and simxSetFloatParam.
Java synopsis int simxSetInt32Param(int clientID,int paramIdentifier,int paramValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: an integer parameter identifier
paramValue: the parameter value
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetInt32Signal

Description Sets the value of an integer signal. If that signal is not yet present, it is added. See also simxGetInt32Signal, simxClearInt32Signal, simxSetFloatSignal and simxSetStringSignal.
Java synopsis int simxSetInt32Signal(int clientID,final String signalName,int signalValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: value of the signal
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetJointMaxForce

Description Sets the maximum force or torque that a joint can exert. This function has no effect when the joint is not dynamically enabled, or when it is a spherical joint. See also simxGetJointMaxForce and See also simxGetJointForce.
Java synopsis int simxSetJointMaxForce(int clientID,int jointHandle,float force,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
force: the maximum force or torque that the joint can exert
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetJointPosition

Description Sets the intrinsic position of a joint. May have no effect depending on the joint mode. This function cannot be used with spherical joints (use simxSetSphericalJointMatrix instead). If you want to set several joints that should be applied at the exact same time on the CoppeliaSim side, then use simxPauseCommunication. See also simxGetJointPosition and simxSetJointTargetPosition.
Java synopsis int simxSetJointPosition(int clientID,int jointHandle, float position, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
position: position of the joint (angular or linear value depending on the joint type)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_oneshot or simx_opmode_streaming
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetJointTargetPosition

Description Sets the target position of a joint if the joint is in torque/force mode (also make sure that the joint's motor and position control are enabled). See also simxSetJointPosition.
Java synopsis int simxSetJointTargetPosition(int clientID,int jointHandle,float targetPosition,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
targetPosition: target position of the joint (angular or linear value depending on the joint type)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_oneshot or simx_opmode_streaming
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetJointTargetVelocity

Description Sets the intrinsic target velocity of a non-spherical joint. This command makes only sense when the joint mode is in torque/force mode: the dynamics functionality and the joint motor have to be enabled (position control should however be disabled)
Java synopsis int simxSetJointTargetVelocity(int clientID,int jointHandle,float targetVelocity,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
targetVelocity: target velocity of the joint (linear or angular velocity depending on the joint-type)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_oneshot or simx_opmode_streaming
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetModelProperty

Description Sets the properties of a model. See also simxGetModelProperty.
Java synopsis int simxSetModelProperty(int clientID,int objectHandle,int prop,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetObjectFloatParameter

Description Sets a floating-point parameter of a object. See also simxGetObjectFloatParameter and simxSetObjectIntParameter.
Java synopsis int simxSetObjectFloatParameter(int clientID,int objectHandle,int parameterID,float parameterValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
parameterID: identifier of the parameter to set. See the list of all possible object parameter identifiers
parameterValue: the desired value of the parameter
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetObjectIntParameter

Description Sets an integer parameter of a object. See also simxGetObjectIntParameter and simxSetObjectFloatParameter.
Java synopsis int simxSetObjectIntParameter(int clientID,int objectHandle,int parameterID,int parameterValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
parameterID: identifier of the parameter to set. See the list of all possible object parameter identifiers
parameterValue: the desired value of the parameter
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetObjectOrientation

Description Sets the orientation (Euler angles) of an object. Dynamically simulated objects will implicitely be reset before the command is applied (i.e. similar to calling sim.resetDynamicObject just before). See also simxGetObjectOrientation, simxSetObjectQuaternion and simxSetObjectPosition.
Java synopsis int simxSetObjectOrientation(int clientID,int objectHandle,int relativeToObjectHandle,FloatWA eulerAngles,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame the orientation is specified. Specify -1 to set the absolute orientation, sim_handle_parent to set the orientation relative to the object's parent, or an object handle relative to whose reference frame the orientation is specified.
eulerAngles: Euler angles (alpha, beta and gamma)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetObjectParent

Description Sets an object's parent object. See also simxGetObjectParent.
Java synopsis int simxSetObjectParent(int clientID,int objectHandle,int parentObject,bool keepInPlace,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object that will become child of the parent object. Can be combined with sim_handleflag_assembly, if the two objects can be assembled via a predefined assembly transformation (refer to the assembling option in the object common properties). In that case, parentObject can't be -1, and keepInPlace should be set to false.
parentObject: handle of the object that will become parent, or -1 if the object should become parentless
keepInPlace: indicates whether the object's absolute position and orientation should stay same
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot or simx_opmode_blocking depending on the intent
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetObjectPosition

Description Sets the position of an object. Dynamically simulated objects will implicitely be reset before the command is applied (i.e. similar to calling sim.resetDynamicObject just before). See also simxGetObjectPosition, simxSetObjectQuaternion and simxSetObjectOrientation.
Java synopsis int simxSetObjectPosition(int clientID,int objectHandle, int relativeToObjectHandle, final FloatWA position, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame the position is specified. Specify -1 to set the absolute position, sim_handle_parent to set the position relative to the object's parent, or an object handle relative to whose reference frame the position is specified.
position: the position values (x, y and z)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetObjectQuaternion

Description Sets the orientation of an object as quaternion. Dynamically simulated objects will implicitely be reset before the command is applied (i.e. similar to calling sim.resetDynamicObject just before). See also simxGetObjectQuaternion.
Java synopsis int simxSetObjectQuaternion(int clientID,int objectHandle, int relativeToObjectHandle, final FloatWA quat, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame the quaternion is specified. Specify -1 to set the absolute quaternion, sim_handle_parent to set the quaternion relative to the object's parent, or an object handle relative to whose reference frame the quaternion is specified.
quat: the quaternion values (x, y, z, w)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetObjectSelection

Description Sets the selection state for objects. See also simxGetObjectSelection.
Java synopsis int simxSetObjectSelection(int clientID,IntWA objectHandles, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
objectHandles: an array of object handles
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot or simx_opmode_blocking depending on the intent.
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetSphericalJointMatrix

Description Sets the intrinsic orientation matrix of a spherical joint object. This function cannot be used with non-spherical joints (use simxSetJointPosition instead). See also simxGetJointMatrix..
Java synopsis int simxSetSphericalJointMatrix(int clientID,int jointHandle,FloatWA matrix,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
matrix: array of 12 valuesvalues. See the regular API equivalent function for details
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_oneshot or simx_opmode_streaming
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetStringSignal

Description Sets the value of a string signal. If that signal is not yet present, it is added. To pack/unpack integers/floats into/from a string, refer to IntWA and FloatWA. See also simxGetStringSignal, simxClearStringSignal, simxSetInt32Signal and simxSetFloatSignal.
Java synopsis int simxSetStringSignal(int clientID,final String signalName, final CharWA signalValue,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: value of the signal (which may contain any value, including embedded zeros)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSetUIButtonLabel (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxSetUIButtonProperty (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxSetUISlider (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxSetVisionSensorImage

Description Sets the image of a vision sensor (and applies any image processing, if enabled). Make sure the vision sensor is flagged as use external image.
Java synopsis int simxSetVisionSensorImage(int clientID,int sensorHandle, CharWA image, int bufferSize, char options, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
sensorHandle: handle of the vision sensor
image: pointer tothe image data
bufferSize: size of the image data
options: image options, bit-coded:
bit0 set: each image pixel is a byte (greyscale image), otherwise each image pixel is a rgb byte-triplet
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave

simxStart

Description Starts a communication thread with the server (i.e. CoppeliaSim). A same client may start several communication threads (but only one communication thread for a given IP and port). This should be the very first remote API function called on the client side. Make sure to start an appropriate remote API server service on the server side, that will wait for a connection. See also simxFinish. This is a remote API helper function.
Java synopsis int simxStart(final String connectionAddress, int connectionPort, bool waitUntilConnected, bool doNotReconnectOnceDisconnected, int timeOutInMs, int commThreadCycleInMs)
Java parameters
connectionAddress: the ip address where the server is located (i.e. CoppeliaSim)
connectionPort: the port number where to connect. Specify a negative port number in order to use shared memory, instead of socket communication.
waitUntilConnected: if different from zero, then the function blocks until connected (or timed out).
doNotReconnectOnceDisconnected: if different from zero, then the communication thread will not attempt a second connection if a connection was lost.
timeOutInMs:
if positive: the connection time-out in milliseconds for the first connection attempt. In that case, the time-out for blocking function calls is 5000 milliseconds.
if negative: its positive value is the time-out for blocking function calls. In that case, the connection time-out for the first connection attempt is 5000 milliseconds.
commThreadCycleInMs: indicates how often data packets are sent back and forth. Reducing this number improves responsiveness, and a default value of 5 is recommended.
Java return value
the client ID, or -1 if the connection to the server was not possible (i.e. a timeout was reached). A call to simxStart should always be followed at the end with a call to simxFinish if simxStart didn't return -1
Other languages C/C++, Python, Matlab, Octave

simxStartSimulation

Description Requests a start of a simulation (or a resume of a paused simulation). This function is only executed by continuous remote API server services. See also simxPauseSimulation and simxStopSimulation.
Java synopsis int simxStartSimulation(int clientID,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot.
Java return value
Other languages C/C++, Python, Matlab, Octave

simxStopSimulation

Description Requests a stop of the running simulation. See also simxStartSimulation and simxPauseSimulation.
Java synopsis int simxStopSimulation(int clientID,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
operationMode: a remote API function operation mode. Recommended operation modes for this function is simx_opmode_oneshot.
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSynchronous

Description Enables or disables the stepped mode for the remote API server service that the client is connected to. The function is blocking. While in stepped mode, the client application is in charge of triggering the next simulation step. Only pre-enabled remote API server services will successfully execute this function. See also simxSynchronousTrigger and this section. This is a remote API helper function.
Java synopsis int simxSynchronous(int clientID,bool enable)
Java parameters
clientID: the client ID. refer to simxStart.
enable: the enable state of the stepped mode
Java return value
Other languages C/C++, Python, Matlab, Octave

simxSynchronousTrigger

Description Sends a synchronization trigger signal to the server. The function is blocking. The server needs to be previously enabled for stepped operation via the simxSynchronous function. The trigger signal will inform CoppeliaSim to execute the next simulation step (i.e. to call simHandleMainScript). While in stepped mode, the client application is in charge of triggering the next simulation step, otherwise simulation will stall. See also this section. This is a remote API helper function.
Java synopsis int simxSynchronousTrigger(int clientID)
Java parameters
clientID: the client ID. refer to simxStart.
Java return value
Other languages C/C++, Python, Matlab, Octave

simxTransferFile

Description Allows transferring a file from the client to the server. This function is used by several other functions internally (e.g. simxLoadModel). See also simxEraseFile. This is a remote API helper function.
Java synopsis int simxTransferFile(int clientID,final String filePathAndName, final String fileName_serverSide, int timeOut, int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
filePathAndName: the local file name and path (i.e. on the client side)
fileName_serverSide: a file name under which the transferred file will be saved on the server side. For now, do not specify a path (the file will be saved in the remote API plugin directory)
timeOut: a timeout value in milliseconds
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
Java return value
Other languages C/C++, Python, Matlab, Octave

simxWriteStringStream

Description Appends a string to a string signal. If that signal is not yet present, it is added. To pack/unpack integers/floats into/from a string, refer to IntWA and FloatWA. See also simxReadStringStream.
Java synopsis int simxWriteStringStream(int clientID,final String signalName, final CharWA signalValueToAppend,int operationMode)
Java parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValueToAppend: value to append to the signal. That value may contain any value, including embedded zeros.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
Java return value
Other languages C/C++, Python, Matlab, Octave



BoolW (helper class)

class BoolW { bool w; public BoolW(bool i) { w = i; } public void setValue(bool i) { w = i; } public bool getValue() { return w; } }

BoolWA (helper class)

class BoolWA { bool w[]; public BoolWA(int i) { w = new bool[i]; } public void initArray(int i) { w = new bool[i]; } public bool[] getArray() { return w; } public int getLength() { return w.length; } public bool[] getNewArray(int i) { w = new bool[i]; return w; } }

CharW (helper class)

class CharW { char w; public CharW(char c) { w = c; } public void setValue(char c) { w = c; } public char getValue() { return w; } }

CharWA (helper class)

class CharWA { char[] w; public CharWA(int i) { w = new char[i]; } public CharWA(String s) { w=s.toCharArray(); } public String getString() { String a; a = new String(w); return a; } public void initArray(int i) { w = new char[i]; } public char[] getArray() { return w; } public int getLength() { return w.length; } public char[] getNewArray(int i) { w = new char[i]; return w; } }

IntW (helper class)

class IntW { int w; public IntW(int i) { w = i; } public void setValue(int i) { w = i; } public int getValue() { return w; } }

IntWA (helper class)

class IntWA { int[] w; public IntWA(int i) { w = new int[i]; } public void initArray(int i) { w = new int[i]; } public int getLength() { return w.length; } public int[] getArray() { return w; } public int[] getNewArray(int i) { w = new int[i]; return w; } public char[] getCharArrayFromArray() { char[] a=new char[4*w.length]; for (int i=0;i<w.length;i++) { a[4*i+0]=(char)(w[i]&0xff); a[4*i+1]=(char)((w[i] >>> 8)&0xff); a[4*i+2]=(char)((w[i] >>> 16)&0xff); a[4*i+3]=(char)((w[i] >>> 24)&0xff); } return a; } public void initArrayFromCharArray(char[] a) { w = new int[a.length/4]; for (int i=0;i<a.length/4;i++) w[i]=(int)(((a[4*i+3]&0xff) << 24) + ((a[4*i+2]&0xff) << 16) + ((a[4*i+1]&0xff) << 8) + (a[4*i+0]&0xff)); } }

FloatW (helper class)

class FloatW { float w; public FloatW(float f) { w = f; } public void setValue(float i) { w = i; } public float getValue() { return w; } }

FloatWA (helper class)

class FloatWA { float[] w; public FloatWA(int i) { w = new float[i]; } public void initArray(int i) { w = new float[i]; } public float[] getArray() { return w; } public int getLength() { return w.length; } public float[] getNewArray(int i) { w = new float[i]; for (int k = 0; k < i; k++) w[k] = 0.0f; return w; } public char[] getCharArrayFromArray() { char[] a=new char[4*w.length]; for (int i=0;i<w.length;i++) { int iw=Float.floatToIntBits(w[i]); a[4*i+0]=(char)(iw&0xff); a[4*i+1]=(char)((iw >>> 8)&0xff); a[4*i+2]=(char)((iw >>> 16)&0xff); a[4*i+3]=(char)((iw >>> 24)&0xff); } return a; } public void initArrayFromCharArray(char[] a) { w = new float[a.length/4]; for (int i=0;i<a.length/4;i++) { int iw=(int)(((a[4*i+3]&0xff) << 24) + ((a[4*i+2]&0xff) << 16) + ((a[4*i+1]&0xff) << 8) + (a[4*i+0]&0xff)); w[i]=Float.intBitsToFloat(iw); } } }

FloatWAA (helper class)

class FloatWAA { FloatWA[] w; public FloatWAA(int i) { w = new FloatWA[i]; } public void initArray(int i) { w = new FloatWA[i]; } public FloatWA[] getArray() { return w; } public int getLength() { return w.length; } public FloatWA[] getNewArray(int i) { w = new FloatWA[i]; for (int k = 0; k < i; k++) w[k] = new FloatWA(1); return w; } }

StringW (helper class)

class StringW { String w; public StringW(String s) { w = new String(s); } public void setValue(String s) { w = new String(s); } public String getValue() { return w; } }

StringWA (helper class)

class StringWA { String[] w; public StringWA(int i) { w = new String[i]; } public void initArray(int i) { w = new String[i]; } public String[] getArray() { return w; } public int getLength() { return w.length; } public String[] getNewArray(int i) { w = new String[i]; return w; } }