Legacy remote API functions (C/C++)
simxAddStatusbarMessage
Description
|
Adds a message to the status bar. |
C/C++ synopsis
|
simxInt simxAddStatusbarMessage(simxInt clientID,const simxChar* message,simxInt operationMode) |
C/C++ parameters |
message: the message to display
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. See also simxSetStringSignal. |
C/C++ synopsis
|
simxInt simxAppendStringSignal(simxInt clientID,const simxChar* signalName,const simxUChar* signalValueToAppend,simxInt signalLength,simxInt operationMode) |
C/C++ parameters |
signalName: name of the signal
signalValueToAppend: value to append to the signal. That value may contain any value, including embedded zeros.
signalLength: size of the signalValueToAppend string.
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxAuxiliaryConsoleClose
Description
|
Closes an auxiliary console window. See also simxAuxiliaryConsoleOpen. |
C/C++ synopsis
|
simxInt simxAuxiliaryConsoleClose(simxInt clientID,simxInt consoleHandle,simxInt operationMode) |
C/C++ parameters |
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxAuxiliaryConsoleOpen(simxInt clientID,const simxChar* title,simxInt maxLines,simxInt mode,simxInt* position,simxInt* size,simxFloat* textColor,simxFloat* backgroundColor,simxInt* consoleHandle,simxInt operationMode) |
C/C++ parameters |
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 nullptr
size: the initial size of the console window (x and y value). Can be nullptr
textColor: the color of the text (rgb values, 0-1). Can be nullptr
backgroundColor: the background color of the console window (rgb values, 0-1). Can be nullptr
consoleHandle: pointer to a location receiving the handle of the created console
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxAuxiliaryConsolePrint
Description
|
Prints to an auxiliary console window. See also simxAuxiliaryConsoleOpen. |
C/C++ synopsis
|
simxInt simxAuxiliaryConsolePrint(simxInt clientID,simxInt consoleHandle,const simxChar* txt,simxInt operationMode) |
C/C++ parameters |
txt: the text to append, or nullptr to clear the console window
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxAuxiliaryConsoleShow
Description
|
Shows or hides an auxiliary console window. See also simxAuxiliaryConsoleOpen and simxAuxiliaryConsoleClose. |
C/C++ synopsis
|
simxInt simxAuxiliaryConsoleShow(simxInt clientID,simxInt consoleHandle,simxChar showState,simxInt operationMode) |
C/C++ parameters |
showState: indicates whether the console should be hidden (0) or shown (!=0)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxCallScriptFunction(simxInt clientID,const simxChar* pathToScript,simxInt scriptHandleOrType,const simxChar* functionName,simxInt inIntCnt,const simxInt* inInt,simxInt inFloatCnt,const simxFloat* inFloat,simxInt inStringCnt,const simxChar* inString,simxInt inBufferSize,const simxUChar* inBuffer,simxInt* outIntCnt,simxInt** outInt,simxInt* outFloatCnt,simxFloat** outFloat,simxInt* outStringCnt,simxChar** outString,simxInt* outBufferSize,simxUChar** outBuffer,simxInt operationMode) |
C/C++ parameters |
pathToScript: the path to the scene object where the script is attached to, or an empty string if the script has no associated scene object.
scriptHandleOrType: the handle of the script, otherwise the type of the script:
sim_scripttype_mainscript (0): the main script will be called.
sim_scripttype_childscript (1): a child script will be called.
functionName: the name of the function to call in the specified script.
inIntCnt (input): the number of input integer values.
inInt (input): the input integer values that are handed over to the script function. Can be nullptr if inIntCnt is zero.
inFloatCnt (input): the number of input floating-point values.
inFloat (input): the input floating-point values that are handed over to the script function. Can be nullptr if inFloatCnt is zero.
inStringCnt (input): the number of input strings.
inString (input): the input strings that are handed over to the script function. Each string should be terminated with one zero char, e.g. "Hello\0World\0". Can be nullptr if inStringCnt is zero.
inBufferSize (input): the size of the input buffer.
inBuffer (input): the input buffer (bytes) that is handed over to the script function. Can be nullptr if inBufferSize is zero.
outIntCnt (output): the number of returned integer values. Can be nullptr.
outInt (output): the returned integer values. The pointer remains valid until the next remote API call. Can be nullptr.
outFloatCnt (output): the number of returned floating-point values. Can be nullptr.
outFloat (output): the returned floating-point values. The pointer remains valid until the next remote API call. Can be nullptr.
outStringCnt (output): the number of returned strings. Can be nullptr.
outString (output): the returned strings. Each string is terminated with the zero char. The pointer remains valid until the next remote API call. Can be nullptr.
outBufferSize (output): the size of the returned buffer. Can be nullptr.
outBuffer (output): the returned buffer (bytes). The pointer remains valid until the next remote API call. Can be nullptr.
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxCheckCollision
Description
|
Checks whether two entities collide. |
C/C++ synopsis
|
simxInt simxCheckCollision(simxInt clientID,simxInt entity1,simxInt entity2,simxUChar* collisionState,simxInt operationMode) |
C/C++ parameters |
entity1: the handle of the first entity.
entity2: the handle of the second entity.
collisionState: a pointer to a value receiving the collision state (0: not colliding)
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxCheckDistance
Description
|
Measures the distance between two entities. |
C/C++ synopsis
|
simxInt simxCheckDistance(simxInt clientID,simxInt entity1,simxInt entity2,simxFloat* minimumDistance,simxInt operationMode) |
C/C++ parameters |
entity1: the handle of the first entity.
entity2: the handle of the second entity.
minimumDistance: a pointer to a value receiving the minimum distance.
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxClearFloatSignal
simxClearInt32Signal
simxClearStringSignal
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. |
C/C++ synopsis
|
simxInt simxCloseScene(simxInt clientID,simxInt operationMode) |
C/C++ parameters |
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxCopyPasteObjects(simxInt clientID,const simxInt* objectHandles,simxInt objectCount,simxInt** newObjectHandles,simxInt* newObjectCount,simxInt operationMode) |
C/C++ parameters |
objectHandles: an array containing the handles of the objects to copy
objectCount: the number of handles the above array contains
newObjectHandles: a pointer to a value receiving an array of handles of newly created objects. Individual objects of a new model are not returned, but only the model base. The array remains valid until next remote API function is called.
newObjectCount: a pointer to a value receiving the number of handles the above array contains
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxCreateBuffer
Description
|
Creates a buffer. The buffer needs to be released with simxReleaseBuffer except otherwise explicitly specified. This is a remote API helper function. |
C/C++ synopsis
|
simxUChar* simxCreateBuffer(simxInt bufferSize) |
C/C++ parameters |
bufferSize: size of the buffer in bytes
|
C/C++ return value
|
A pointer to the created buffer
|
Other languages
|
Python, Matlab |
simxCreateDummy
Description
|
Creates a dummy in the scene. |
C/C++ synopsis
|
simxInt simxCreateDummy(simxInt clientID,simxFloat size,const simxUChar* colors,simxInt* dummyHandle,simxInt operationMode) |
C/C++ parameters |
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 nullptr for default colors.
dummyHandle: pointer to a value that will receive the dummy handle.
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxDisplayDialog(simxInt clientID,const simxChar* titleText,const simxChar* mainText,simxInt dialogType,const simxChar* initialText,simxFloat* titleColors,simxFloat* dialogColors,simxInt* dialogHandle,simxInt* uiHandle,simxInt operationMode) |
C/C++ parameters |
titleText: Title bar text
mainText: Information text
initialText: Initial text in the edit box if the dialog is of type sim_dlgstyle_input. Cannot be nullptr!
titleColors: Title bar color (6 simxFloat values for RGB for background and foreground), can be nullptr for default colors
dialogColors: Dialog color (6 simxFloat values for RGB for background and foreground), can be nullptr for default colors
uiHandle: a pointer to a value accepting the handle of the corresponding OpenGl-based custom UI. Can be nullptr
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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). |
C/C++ synopsis
|
simxInt simxEndDialog(simxInt clientID,simxInt dialogHandle,simxInt operationMode) |
C/C++ parameters |
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxEraseFile(simxInt clientID,const simxChar* fileName_serverSide,simxInt operationMode) |
C/C++ parameters |
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxVoid simxFinish(simxInt clientID) |
C/C++ parameters |
clientID: the client ID. refer to simxStart. Can be -1 to end all running communication threads.
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. See also simxGetStringSignal. |
C/C++ synopsis
|
simxInt simxGetAndClearStringSignal(simxInt clientID,const simxChar* signalName,simxUChar** signalValue,simxInt* signalLength,simxInt operationMode) |
C/C++ parameters |
signalName: name of the signal
signalValue: pointer to a pointer receiving the value of the signal. The signal value will remain valid until next remote API call
signalLength: pointer to a location receiving the value of the signal length, since it may contain any data (also embedded zeros).
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:
simxUChar* signal;
simxInt sLength;
simxGetAndClearStringSignal(cid,"sig",&signal,&sLength,simx_opmode_streaming);
// while we are connected:
while (simxGetConnectionId(cid)!=-1)
{
if (simxGetAndClearStringSignal(cid,"sig",&signal,&sLength,simx_opmode_buffer)==
simx_return_ok)
{
// A signal was retrieved!
// Enable streaming again (was automatically disabled with the positive event):
simxGetAndClearStringSignal(cid,"sig",&signal,&sLength,simx_opmode_streaming);
}
..
}
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetArrayParam
simxGetBoolParam
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)
|
C/C++ synopsis
|
simxInt simxGetCollectionHandle(simxInt clientID,const simxChar* collectionName,simxInt* handle,simxInt operationMode) |
C/C++ parameters |
collectionName: name of the collection.
handle: pointer to a value that will receive the handle
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetCollisionHandle
Description
|
Deprecated. see simxCheckCollision instead. |
C/C++ synopsis
|
simxInt simxGetCollisionHandle(simxInt clientID,const simxChar* collisionObjectName,simxInt* handle,simxInt operationMode) |
C/C++ parameters |
collisionObjectName: name of the collision object.
handle: pointer to a value that will receive the handle
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxGetConnectionId(simxInt clientID) |
C/C++ parameters |
|
C/C++ 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
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxGetDialogInput(simxInt clientID,simxInt dialogHandle,simxChar** inputText,simxInt operationMode) |
C/C++ parameters |
inputText: pointer to a pointer receiving the string the user entered. The pointer is valid until another remote API function is called.
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetDialogResult
Description
|
Queries the result of a dialog box. To be used after simxDisplayDialog was called. |
C/C++ synopsis
|
simxInt simxGetDialogResult(simxInt clientID,simxInt dialogHandle,simxInt* result,simxInt operationMode) |
C/C++ parameters |
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetDistanceHandle
Description
|
Deprecated. see simxCheckDistance instead. |
C/C++ synopsis
|
simxInt simxGetDistanceHandle(simxInt clientID,const simxChar* distanceObjectName,simxInt* handle,simxInt operationMode) |
C/C++ parameters |
distanceObjectName: name of the distance object.
handle: pointer to a value that will receive the handle
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetFloatParam
simxGetFloatSignal
Description
|
Gets the value of a float signal. Signals are cleared at simulation start. See also simxSetFloatSignal, simxClearFloatSignal, simxGetInt32Signal and simxGetStringSignal. |
C/C++ synopsis
|
simxInt simxGetFloatSignal(simxInt clientID,const simxChar* signalName,simxFloat* signalValue,simxInt operationMode) |
C/C++ parameters |
signalName: name of the signal
signalValue: pointer to a location receiving the value of the signal
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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.
|
C/C++ synopsis
|
simxInt simxGetInMessageInfo(simxInt clientID,simxInt infoType,simxInt* info) |
C/C++ parameters |
info: pointer to a simxInt value receiving the requested information
|
C/C++ return value
|
-1 in case of an error
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetInt32Param
simxGetInt32Signal
Description
|
Gets the value of an integer signal. Signals are cleared at simulation start. See also simxSetInt32Signal, simxClearInt32Signal, simxGetFloatSignal and simxGetStringSignal. |
C/C++ synopsis
|
simxInt simxGetInt32Signal(simxInt clientID,const simxChar* signalName,simxInt* signalValue,simxInt operationMode) |
C/C++ parameters |
signalName: name of the signal
signalValue: pointer to a location receiving the value of the signal
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxGetJointForce(simxInt clientID,simxInt jointHandle,simxFloat* force,simxInt operationMode)
|
C/C++ parameters |
jointHandle: handle of the joint
force: the force or the torque applied to the joint along/about its z-axis
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetJointMaxForce
Description
|
Retrieves the maximum force the joint is able to exert. See also simxSetJointMaxForce and simxGetJointForce. |
C/C++ synopsis
|
simxInt simxGetJointMaxForce(simxInt clientID,simxInt jointHandle,simxFloat* force,simxInt operationMode)
|
C/C++ parameters |
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetJointMatrix
Description
|
Retrieves the intrinsic transformation matrix of a joint (the transformation caused by the joint movement). See also simxSetSphericalJointMatrix. |
C/C++ synopsis
|
simxInt simxGetJointMatrix(simxInt clientID,simxInt jointHandle,simxFloat* matrix,simxInt operationMode)
|
C/C++ parameters |
jointHandle: handle of the joint
matrix: pointer to 12 simxFloat values. 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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxGetJointPosition(simxInt clientID,simxInt jointHandle,simxFloat* position,simxInt operationMode)
|
C/C++ parameters |
jointHandle: handle of the joint
position: intrinsic position of the joint. 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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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:
if (simxGetVisionSensorImage(cid,handle,res,&img,0,sim_opmode_buffer)==simx_return_ok)
imageAcquisitionTime=simxGetLastCmdTime(cid);
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. |
C/C++ synopsis
|
simxInt simxGetLastCmdTime(simxInt clientID) |
C/C++ parameters |
|
C/C++ return value
|
The simulation time in milliseconds when the command reply was generated, or 0 if simulation was not running.
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxGetLastErrors(simxInt clientID,simxInt* errorCnt,simxChar** errorStrings,simxInt operationMode) |
C/C++ parameters |
errorCnt: pointer receiving the number of error strings returned
errorStrings: pointer to a string pointer receiving the address of an error string (individual strings are separated by a zero character). The address is valid until next remote API function is called
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.
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetModelProperty
Description
|
Retrieves the properties of a model. See also simxSetModelProperty. |
C/C++ synopsis
|
simxInt simxGetModelProperty(simxInt clientID,simxInt objectHandle,simxInt* prop,simxInt operationMode) |
C/C++ parameters |
objectHandle: handle of the object
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjectChild
Description
|
Retrieves the handle of an object's child object. See also simxGetObjectParent. |
C/C++ synopsis
|
simxInt simxGetObjectChild(simxInt clientID,simxInt parentObjectHandle,simxInt childIndex,simxInt* childObjectHandle,simxInt operationMode) |
C/C++ parameters |
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: pointer to a value receiving the handle of the child object. If the value is -1, there is no child at the given index
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjectFloatParameter
Description
|
Retrieves a floating-point parameter of a object. See also simxSetObjectFloatParameter and simxGetObjectIntParameter. |
C/C++ synopsis
|
simxInt simxGetObjectFloatParameter(simxInt clientID,simxInt objectHandle,simxInt parameterID,simxFloat* parameterValue,simxInt operationMode) |
C/C++ parameters |
objectHandle: handle of the object
parameterValue: pointer to a location that will receive the value of the parameter
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjectGroupData
Description
|
Simultaneously retrieves data of various objects in a CoppeliaSim scene. |
C/C++ synopsis
|
simxInt simxGetObjectGroupData(simxInt clientID,simxInt objectType,simxInt dataType,simxInt* handlesCount,simxInt** handles,simxInt* intDataCount,simxInt** intData,simxInt* floatDataCount,simxFloat** floatData,simxInt* stringDataCount,simxChar** stringData,simxInt operationMode) |
C/C++ parameters |
dataType: the type of data that is desired:
0: retrieves the object names (deprecated. See further down)
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.)
handlesCount (output): the number of returned object handles. Can be nullptr.
handles (output): the object handles. The pointer remains valid until the next remote API call. Can be nullptr.
intDataCount (output): the number of returned integer values. Can be nullptr.
intData (output): the integer values. The pointer remains valid until the next remote API call. Can be nullptr.
floatDataCount (output): the number of returned float values. Can be nullptr.
floatData (output): the float values. The pointer remains valid until the next remote API call. Can be nullptr.
stringDataCount (output): the number of returned strings. Can be nullptr.
stringData (output): the strings. Each string is separated by the zero char ('\0'). The pointer remains valid until the next remote API call. Can be nullptr.
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjectHandle
Description
|
Retrieves an object handle based on its path and alias. |
C/C++ synopsis
|
simxInt simxGetObjectHandle(simxInt clientID,const simxChar* objectPath,simxInt* handle,simxInt operationMode) |
C/C++ parameters |
handle: pointer to a value that will receive the handle
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjectIntParameter
Description
|
Retrieves an integer parameter of a object. See also simxSetObjectIntParameter and simxGetObjectFloatParameter. |
C/C++ synopsis
|
simxInt simxGetObjectIntParameter(simxInt clientID,simxInt objectHandle,simxInt parameterID,simxInt* parameterValue,simxInt operationMode) |
C/C++ parameters |
objectHandle: handle of the object
parameterValue: pointer to a location that will receive the value of the parameter
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjectOrientation
Description
|
Retrieves the orientation (Euler angles) of an object. See also simxSetObjectOrientation, simxGetObjectQuaternion,simxGetObjectPosition and simxGetObjectGroupData. |
C/C++ synopsis
|
simxInt simxGetObjectOrientation(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,simxFloat* eulerAngles,simxInt operationMode) |
C/C++ parameters |
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: pointer to 3 values receiving the Euler angles (alpha, beta and gamma)
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjectParent
Description
|
Retrieves the handle of an object's parent object. See also simxGetObjectChild and simxGetObjectGroupData. |
C/C++ synopsis
|
simxInt simxGetObjectParent(simxInt clientID,simxInt objectHandle,simxInt* parentObjectHandle,simxInt operationMode) |
C/C++ parameters |
objectHandle: handle of the object
parentObjectHandle: pointer to a value receiving the handle of the parent object. If the value is -1, the object has no parent
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjectPosition
Description
|
Retrieves the position of an object. See also simxSetObjectPosition, simxGetObjectOrientation, simxGetObjectQuaternion and simxGetObjectGroupData. |
C/C++ synopsis
|
simxInt simxGetObjectPosition(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,simxFloat* position,simxInt operationMode) |
C/C++ parameters |
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: pointer to 3 values receiving the position
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjectQuaternion
Description
|
Retrieves the quaternion of an object. See also simxSetObjectQuaternion. |
C/C++ synopsis
|
simxInt simxGetObjectQuaternion(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,simxFloat* quat,simxInt operationMode) |
C/C++ parameters |
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: pointer to 4 values receiving the quaternion (x,y,z,w)
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjects
Description
|
Retrieves object handles of a given type, or of all types (i.e. all object handles). See also simxGetObjectGroupData. |
C/C++ synopsis
|
simxInt simxGetObjects(simxInt clientID,simxInt objectType,simxInt* objectCount,simxInt** objectHandles,simxInt operationMode) |
C/C++ parameters |
objectType: object type (sim_object_shape_type, sim_object_joint_type, etc., or sim_handle_all for any type of object
objectCount: pointer to a value that will receive the number of retrieved handles
objectHandles: pointer to a pointer that will receive an object handle array. The array remains valid until next remote API function is called.
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjectSelection
Description
|
Retrieves all selected object's handles. See also simxSetObjectSelection. |
C/C++ synopsis
|
simxInt simxGetObjectSelection(simxInt clientID,simxInt** objectHandles,simxInt* objectCount,simxInt operationMode) |
C/C++ parameters |
objectHandles: pointer to a pointer that will receive an object handle array. The array remains valid until next remote API function is called.
objectCount: pointer to a value that will receive the number of elements in above's array.
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.
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetObjectVelocity
Description
|
Retrieves the linear and angular velocity of an object. See also simxGetObjectPosition, simxGetObjectOrientation and simxGetObjectGroupData. |
C/C++ synopsis
|
simxInt simxGetObjectVelocity(simxInt clientID,simxInt objectHandle,simxFloat* linearVelocity,simxFloat* angularVelocity,simxInt operationMode) |
C/C++ parameters |
objectHandle: handle of the object
linearVelocity: pointer to 3 values receiving the linearVelocity (vx, vy, vz). Can be nullptr.
angularVelocity: pointer to 3 values receiving the angularVelocity (dAlpha, dBeta, dGamma). Can be nullptr.
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxGetOutMessageInfo(simxInt clientID,simxInt infoType,simxInt* info) |
C/C++ parameters |
info: pointer to a simxInt value receiving the requested information
|
C/C++ return value
|
-1 in case of an error
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxGetPingTime(simxInt clientID,simxInt* pingTime) |
C/C++ parameters |
pingTime: a pointer to a simxInt value accepting the ping time in milliseconds.
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetStringParam
simxGetStringSignal
Description
|
Gets the value of a string signal. Signals are cleared at simulation start. See also simxSetStringSignal, simxReadStringStream, simxClearStringSignal, simxGetInt32Signal and simxGetFloatSignal. |
C/C++ synopsis
|
simxInt simxGetStringSignal(simxInt clientID,const simxChar* signalName,simxUChar** signalValue,simxInt* signalLength,simxInt operationMode) |
C/C++ parameters |
signalName: name of the signal
signalValue: pointer to a pointer receiving the value of the signal. The signal value will remain valid until next remote API call
signalLength: pointer to a location receiving the value of the signal length, since it may contain any data (also embedded zeros).
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxGetUIButtonProperty (Deprecated)
simxGetUIEventButton (Deprecated)
simxGetUIHandle (Deprecated)
simxGetUISlider (Deprecated)
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. |
C/C++ synopsis
|
simxInt simxGetVisionSensorDepthBuffer(simxInt clientID,simxInt sensorHandle,simxInt* resolution,simxFloat** buffer,simxInt operationMode) |
C/C++ parameters |
sensorHandle: handle of the vision sensor
resolution: pointer to 2 simxInt values receiving the resolution of the image
buffer: pointer to a pointer to the depth buffer data. The data remains valid until next remote API function is called (i.e. the data is automatically released). 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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxGetVisionSensorImage(simxInt clientID,simxInt sensorHandle,simxInt* resolution,simxUChar** image,simxUChar options,simxInt operationMode) |
C/C++ parameters |
sensorHandle: handle of the vision sensor
resolution: pointer to 2 simxInt values receiving the resolution of the image
image: pointer to a pointer to the image data. The data remains valid until next remote API function is called (i.e. the data is automatically released)
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxJointGetForce (Deprecated)
Description
|
Deprecated. See simxGetJointForce instead. |
C/C++ synopsis
|
simxInt simxJointGetForce(simxInt clientID,simxInt jointHandle,simxFloat* force,simxInt operationMode)
|
C/C++ parameters |
jointHandle: handle of the joint
force: the force or the torque applied to the joint along/about its z-axis
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxLoadModel
Description
|
Loads a previously saved model. See also simxLoadScene and simxTransferFile. |
C/C++ synopsis
|
simxInt simxLoadModel(simxInt clientID,const simxChar* modelPathAndName,simxUChar options,simxInt* baseHandle,simxInt operationMode) |
C/C++ parameters |
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. Can be nullptr.
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxLoadScene(simxInt clientID,const simxChar* scenePathAndName,simxUChar options,simxInt operationMode) |
C/C++ parameters |
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
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxLoadUI (Deprecated)
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. |
C/C++ synopsis
|
simxInt simxPauseCommunication(simxInt clientID,simxUChar pause) |
C/C++ parameters |
pause: whether the communication thread should pause or run normally.
Usage example:
simxPauseCommunication(clientID,1);
simxSetJointPosition(clientID,joint1Handle,joint1Value,simx_opmode_oneshot);
simxSetJointPosition(clientID,joint2Handle,joint2Value,simx_opmode_oneshot);
simxSetJointPosition(clientID,joint3Handle,joint3Value,simx_opmode_oneshot);
simxPauseCommunication(clientID,0);
// Above's 3 joints will be received and set on the CoppeliaSim side at the same time
|
C/C++ return value
|
0 in case of operation success.
|
Other languages
|
Python, Java, Matlab, Octave |
simxPauseSimulation
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.
Usage example where a child script handles a request:
// Following is the remote API client side:
simxUChar* replyData;
simxInt replySize;
if (simxQuery(clientID,"request","send me a 42",12,"reply",&replyData,&replySize,5000)==0)
printf("The reply is: %s\n",replyData
-- 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
|
C/C++ synopsis
|
simxInt simxQuery(simxInt clientID,const simxChar* signalName,const simxUChar* signalValue,simxInt signalLength,const simxChar* retSignalName,simxUChar** retSignalValue,simxInt* retSignalLength,simxInt timeOutInMs) |
C/C++ parameters |
signalName: name of the signal that contains the request string
signalValue: pointer to the request string.
signalLength: the size of the request string, since it may contain any data (also embedded zeros).
retSignalName: name of the signal that contains the reply string
retSignalValue: pointer to a pointer receiving the value of the reply string. The string pointer will remain valid until next remote API call
retSignalLength: pointer to a location receiving the value of the reply string length, since it may contain any data (also embedded zeros).
timeOutInMs: the maximum time in milliseconds that the function will wait for a reply.
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxReadCollision
Description
|
Deprecated. see simxCheckCollision instead. |
C/C++ synopsis
|
simxInt simxReadCollision(simxInt clientID,simxInt collisionObjectHandle,simxUChar* collisionState,simxInt operationMode) |
C/C++ parameters |
collisionObjectHandle: handle of the collision object
collisionState: a pointer to a value receiving the collision state (0: not colliding)
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxReadDistance
Description
|
Deprecated. see simxCheckDistance instead. |
C/C++ synopsis
|
simxInt simxReadDistance(simxInt clientID,simxInt distanceObjectHandle,simxFloat* minimumDistance,simxInt operationMode) |
C/C++ parameters |
distanceObjectHandle: handle of the distance object
minimumDistance: a pointer to a value receiving the minimum distance. 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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxReadForceSensor(simxInt clientID,simxInt forceSensorHandle,simxUChar* state,simxFloat* forceVector,simxFloat* torqueVector,simxInt operationMode) |
C/C++ parameters |
forceSensorHandle: handle of the force sensor
state: pointer to a byte value receiving the state of the force sensor. Can be nullptr
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: pointer to 3 float values receiving the force vector. Can be nullptr
torqueVector: pointer to 3 float values receiving the torque vector. Can be nullptr
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxReadProximitySensor(simxInt clientID,simxInt sensorHandle,simxUChar* detectionState,simxFloat* detectedPoint,simxInt* detectedObjectHandle,simxFloat* detectedSurfaceNormalVector,simxInt operationMode) |
C/C++ parameters |
sensorHandle: handle of the proximity sensor
detectionState: pointer to a value receiving the detection state (0=no detection). Can be nullptr.
detectedPoint: pointer to 3 values receiving the detected point coordinates (relative to the sensor reference frame). Can be nullptr.
detectedObjectHandle: pointer to a value receiving the handle of the detected object. Can be nullptr.
detectedSurfaceNormalVector: pointer to 3 values receiving the normal vector (normalized) of the detected surface. Relative to the sensor reference frame. Can be nullptr
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxReadStringStream
Description
|
Gets the value of a string signal, then clears it. Useful to retrieve continuous data from the server. See also simxWriteStringStream. |
C/C++ synopsis
|
simxInt simxReadStringStream(simxInt clientID,const simxChar* signalName,simxUChar** signalValue,simxInt* signalLength,simxInt operationMode) |
C/C++ parameters |
signalName: name of the signal
signalValue: pointer to a pointer receiving the value of the signal. The signal value will remain valid until next remote API call
signalLength: pointer to a location receiving the value of the signal length, since it may contain any data (also embedded zeros).
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:
simxUChar* signal;
simxInt sLength;
simxReadStringStream(cid,"toClient",&signal,&sLength,simx_opmode_streaming);
// while we are connected:
while (simxGetConnectionId(cid)!=-1)
{
if (simxReadStringStream(cid,"toClient",&signal,&sLength,simx_opmode_buffer)==
simx_return_ok)
{
// Data produced by the child script was retrieved! Send it back to the child script:
simxWriteStringStream(cid,"fromClient",signal,sLength,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
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxReadVisionSensor(simxInt clientID,simxInt sensorHandle,simxUChar* detectionState,simxFloat** auxValues,simxInt** auxValuesCount,simxInt operationMode) |
C/C++ parameters |
sensorHandle: handle of the vision sensor
detectionState: pointer to a byte that receives the detection state (i.e. the trigger state). Can be nullptr
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. AuxValues can be nullptr if auxValuesCount is also nullptr. The user is in charge of releasing the auxValues buffer with simxReleaseBuffer(*auxValues).
auxValuesCount: contains information about the number of auxiliary value packets and packet sizes returned in auxValues. The first value is the number of packets, the second is the size of packet1, the third is the size of packet2, etc. Can be nullptr if auxValues is also nullptr. The user is in charge of releasing the auxValuesCount buffer with simxReleaseBuffer(*auxValuesCount).
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxReleaseBuffer
Description
|
Releases a buffer previously created with simxCreateBuffer or a buffer returned by a remote API function. This is a remote API helper function. |
C/C++ synopsis
|
simxVoid simxReleaseBuffer(simxUChar* buffer) |
C/C++ parameters |
buffer: buffer to be released
|
C/C++ return value
|
|
Other languages
|
Python, Matlab |
simxRemoveModel
Description
|
Removes a model from the scene. See also simxRemoveObject. |
C/C++ synopsis
|
simxInt simxRemoveModel(simxInt clientID,simxInt objectHandle,simxInt operationMode) |
C/C++ parameters |
objectHandle: handle of the model to remove (object should be flagged as model base).
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxRemoveObject
Description
|
Removes a scene object. See also simxRemoveModel. |
C/C++ synopsis
|
simxInt simxRemoveObject(simxInt clientID,simxInt objectHandle,simxInt operationMode) |
C/C++ parameters |
objectHandle: handle of the object to remove
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxRemoveUI (Deprecated)
simxSetArrayParam
simxSetBoolParam
simxSetFloatParam
simxSetFloatSignal
simxSetInt32Param
simxSetInt32Signal
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 simxGetJointForce. |
C/C++ synopsis
|
simxInt simxSetJointMaxForce(simxInt clientID,simxInt jointHandle,simxFloat force,simxInt operationMode)
|
C/C++ parameters |
jointHandle: handle of the joint
force: the maximum force or torque that the joint can exert
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxSetJointPosition(simxInt clientID,simxInt jointHandle,simxFloat position,simxInt operationMode)
|
C/C++ parameters |
jointHandle: handle of the joint
position: position of the joint (angular or linear value depending on the joint type)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxSetJointTargetPosition(simxInt clientID,simxInt jointHandle,simxFloat targetPosition,simxInt operationMode) |
C/C++ parameters |
jointHandle: handle of the joint
targetPosition: target position of the joint (angular or linear value depending on the joint type)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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) |
C/C++ synopsis
|
simxInt simxSetJointTargetVelocity(simxInt clientID,simxInt jointHandle,simxFloat targetVelocity,simxInt operationMode) |
C/C++ parameters |
jointHandle: handle of the joint
targetVelocity: target velocity of the joint (linear or angular velocity depending on the joint-type)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxSetModelProperty
Description
|
Sets the properties of a model. See also simxGetModelProperty. |
C/C++ synopsis
|
simxInt simxSetModelProperty(simxInt clientID,simxInt objectHandle,simxInt prop,simxInt operationMode) |
C/C++ parameters |
objectHandle: handle of the object
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxSetObjectFloatParameter
Description
|
Sets a floating-point parameter of a object. See also simxGetObjectFloatParameter and simxSetObjectIntParameter. |
C/C++ synopsis
|
simxInt simxSetObjectFloatParameter(simxInt clientID,simxInt objectHandle,simxInt parameterID,simxFloat parameterValue,simxInt operationMode) |
C/C++ parameters |
objectHandle: handle of the object
parameterValue: the desired value of the parameter
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxSetObjectIntParameter
Description
|
Sets an integer parameter of a object. See also simxGetObjectIntParameter and simxSetObjectFloatParameter. |
C/C++ synopsis
|
simxInt simxSetObjectIntParameter(simxInt clientID,simxInt objectHandle,simxInt parameterID,simxInt parameterValue,simxInt operationMode) |
C/C++ parameters |
objectHandle: handle of the object
parameterValue: the desired value of the parameter
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxSetObjectOrientation(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,const simxFloat* eulerAngles,simxInt operationMode) |
C/C++ parameters |
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxSetObjectParent
Description
|
Sets an object's parent object. See also simxGetObjectParent. |
C/C++ synopsis
|
simxInt simxSetObjectParent(simxInt clientID,simxInt objectHandle,simxInt parentObject,simxUChar keepInPlace,simxInt operationMode) |
C/C++ parameters |
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 pose should stay same
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxSetObjectPosition(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,const simxFloat* position,simxInt operationMode) |
C/C++ parameters |
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxSetObjectQuaternion(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,const simxFloat* quat,simxInt operationMode) |
C/C++ parameters |
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)
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxSetObjectSelection
Description
|
Sets the selection state for objects. See also simxGetObjectSelection. |
C/C++ synopsis
|
simxInt simxSetObjectSelection(simxInt clientID,const simxInt* objectHandles,simxInt objectCount,simxInt operationMode) |
C/C++ parameters |
objectHandles: an array of object handles
objectCount: the number of elements in the array
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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.. |
C/C++ synopsis
|
simxInt simxSetSphericalJointMatrix(simxInt clientID,simxInt jointHandle,simxFloat* matrix,simxInt operationMode) |
C/C++ parameters |
jointHandle: handle of the joint
matrix: pointer to 12 simxFloat values. See the regular API equivalent function for details
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxSetStringSignal
Description
|
Sets the value of a string signal. If that signal is not yet present, it is added. See also simxWriteStringStream, simxGetStringSignal, simxClearStringSignal, simxSetInt32Signal and simxSetFloatSignal. |
C/C++ synopsis
|
simxInt simxSetStringSignal(simxInt clientID,const simxChar* signalName,const simxUChar* signalValue,simxInt signalLength,simxInt operationMode) |
C/C++ parameters |
signalName: name of the signal
signalValue: value of the signal (which may contain any value, including embedded zeros)
signalLength: size of the signalValue string.
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxSetUIButtonLabel (Deprecated)
simxSetUIButtonProperty (Deprecated)
simxSetUISlider (Deprecated)
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. |
C/C++ synopsis
|
simxInt simxSetVisionSensorImage(simxInt clientID,simxInt sensorHandle,simxUChar* image,simxInt bufferSize,simxUChar options,simxInt operationMode) |
C/C++ parameters |
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
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxStart(const simxChar* connectionAddress,simxInt connectionPort,simxUChar waitUntilConnected,simxUChar doNotReconnectOnceDisconnected,simxInt timeOutInMs,simxInt commThreadCycleInMs) |
C/C++ 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.
|
C/C++ 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
|
Python, Java, Matlab, Octave |
simxStartSimulation
simxStopSimulation
simxSynchronous
Description
|
Enables or disables the stepping mode for the remote API server service that the client is connected to. The function is blocking. While in stepping 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. |
C/C++ synopsis
|
simxInt simxSynchronous(simxInt clientID,simxUChar enable) |
C/C++ parameters |
enable: the enable state of the stepping mode
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxSynchronousTrigger
Description
|
Sends a synchronization trigger signal to the server. The function is blocking. The server needs to be previously enabled for stepping operation via the simxSynchronous function. The trigger signal will inform CoppeliaSim to execute the next simulation step. While in stepping 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. |
C/C++ synopsis
|
simxInt simxSynchronousTrigger(simxInt clientID) |
C/C++ parameters |
|
C/C++ return value
|
|
Other languages
|
Python, Java, 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. |
C/C++ synopsis
|
simxInt simxTransferFile(simxInt clientID,const simxChar* filePathAndName,const simxChar* fileName_serverSide,simxInt timeOut,simxInt operationMode) |
C/C++ parameters |
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
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
simxWriteStringStream
Description
|
Appends a string to a string signal. If that signal is not yet present, it is added. See also simxReadStringStream. |
C/C++ synopsis
|
simxInt simxWriteStringStream(simxInt clientID,const simxChar* signalName,const simxUChar* signalValueToAppend,simxInt signalLength,simxInt operationMode) |
C/C++ parameters |
signalName: name of the signal
signalValueToAppend: value to append to the signal. That value may contain any value, including embedded zeros.
signalLength: size of the signalValueToAppend string.
|
C/C++ return value
|
|
Other languages
|
Python, Java, Matlab, Octave |
|