API Constants

General object types

sim_appobj_object_type
sim_appobj_collision_type
sim_appobj_distance_type
sim_appobj_simulation_type
sim_appobj_ik_type
sim_appobj_constraintsolver_type
sim_appobj_collection_type
sim_appobj_ui_type
sim_appobj_script_type
sim_appobj_pathplanning_type
sim_appobj_motionplanning_type
sim_appobj_geometry_type
sim_appobj_texture_type

See also the simIsHandleValid function.

Scene object types

sim_object_shape_type
sim_object_joint_type
sim_object_graph_type
sim_object_camera_type
sim_object_light_type
sim_object_dummy_type
sim_object_proximitysensor_type
sim_object_path_type
sim_object_visionsensor_type
sim_object_mill_type
sim_object_forcesensor_type
sim_object_mirror_type

See also the simGetObjectType and simGetObjects functions.

Scene object sub-types

sim_light_omnidirectional_subtype
sim_light_spot_subtype
sim_light_directional_subtype
sim_joint_revolute_subtype
sim_joint_prismatic_subtype
sim_joint_spherical_subtype
sim_shape_simpleshape_subtype
sim_shape_multishape_subtype
sim_proximitysensor_ray_subtype
sim_proximitysensor_pyramid_subtype
sim_proximitysensor_cylinder_subtype
sim_proximitysensor_disc_subtype
sim_proximitysensor_cone_subtype
sim_mill_pyramid_subtype
sim_mill_cylinder_subtype
sim_mill_disc_subtype
sim_mill_cone_subtype

Scene object properties

sim_objectproperty_collapsed
sim_objectproperty_selectable
sim_objectproperty_selectmodelbaseinstead
sim_objectproperty_dontshowasinsidemodel
sim_objectproperty_canupdatedna

See also the simGetObjectProperty and simSetObjectProperty functions.

Scene object special properties (can be combined with the OR operator)

sim_objectspecialproperty_collidable
sim_objectspecialproperty_measurable
sim_objectspecialproperty_respondable
sim_objectspecialproperty_detectable_ultrasonic
sim_objectspecialproperty_detectable_infrared
sim_objectspecialproperty_detectable_laser
sim_objectspecialproperty_detectable_inductive
sim_objectspecialproperty_detectable_capacitive
sim_objectspecialproperty_detectable_all
sim_objectspecialproperty_renderable
sim_objectspecialproperty_cuttable
sim_objectspecialproperty_pathplanning_ignored

See also the simGetObjectSpecialProperty and simSetObjectSpecialProperty functions.

Model properties

sim_modelproperty_not_collidable
sim_modelproperty_not_measurable
sim_modelproperty_not_renderable
sim_modelproperty_not_detectable
sim_modelproperty_not_cuttable
sim_modelproperty_not_dynamic
sim_modelproperty_not_respondable
cannot be selected if sim_modelproperty_not_dynamic is not selected
sim_modelproperty_not_reset
model is not reset at simulation end. This flag is cleared at simulation end
sim_modelproperty_not_visible
model is not visible, independently from local visibility settings
sim_modelproperty_not_model
specified object is not a model. Use with care when setting this value

See also the simGetModelProperty and simSetModelProperty functions.

IK calculation methods

sim_ik_pseudo_inverse_method
sim_ik_damped_least_squares_method
sim_ik_jacobian_transpose_method

See also the simSetIkGroupProperties function.

IK constraints (can be combined with the OR operator)

sim_ik_x_constraint
sim_ik_y_constraint
sim_ik_z_constraint
sim_ik_alpha_beta_constraint
sim_ik_gamma_constraint
sim_ik_avoidance_constraint

See also the simSetIkElementProperties function.

IK calculation results

sim_ikresult_not_performed
sim_ikresult_success
sim_ikresult_fail

See also the simHandleIkGroup function.

Simulator messages

Following messages can be queried from Lua, by calling the simGetSimulatorMessage function:

sim_message_ui_button_state_change
auxiliaryData[0]=UI handle, auxiliaryData[1]=button handle, auxiliaryData[2]=button property, auxiliaryData[3]=slider position (if slider)
See also the simGetUIEventButton
sim_message_model_loaded
sim_message_scene_loaded
sim_message_keypress
auxiliaryData[0]=key, auxiliaryData[1]=ctrl and shift key state
sim_message_bannerclicked
auxiliaryData[0]=banner ID
sim_message_prox_sensor_select_down
a "geometric" click select (mouse down) was registered. Not generated if the ctrl or shift key is down. A geometric click is generated in a non-delayed manner. See also sim_message_pick_select_down hereafter. Enable with sim_intparam_prox_sensor_select_down.
auxiliaryData[0]=objectID
auxiliaryData2[0]-auxiliaryData2[2]=coordinates of clicked point
auxiliaryData2[3]-auxiliaryData2[5]=normal vector of clicked surface
sim_message_prox_sensor_select_up
a "geometric" click select (mouse up) was registered. Not generated if the ctrl or shift key is down. A geometric click is generated in a non-delayed manner. Enable with sim_intparam_prox_sensor_select_up.
auxiliaryData[0]=objectID
auxiliaryData2[0]-auxiliaryData2[2]=coordinates of clicked point
auxiliaryData2[3]-auxiliaryData2[5]=normal vector of clicked surface
sim_message_pick_select_down
a "pick" click select (mouse down) was registered. Not generated if the ctrl or shift key is down. A pick click is generated in a delayed manner. See also sim_message_prox_sensor_select_down here above.
auxiliaryData[0]=objectID or base object ID (if part of a model and select model base instead is checked)


Following messages can be queried from the V-REP client application (and only from the client application!), by calling the simGetSimulatorMessage function:

sim_message_simulation_start_resume_request
The user wishes to start/resume a simulation. See also the simStartSimulation function
sim_message_simulation_pause_request
The user wishes to pause a simulation. See also the simPauseSimulation function
sim_message_simulation_stop_request
The user wishes to stop a simulation. See also the simStopSimulation function


Following messages are dispatched to the plugins (refer to the plugin v_repMessage entry point):

sim_message_eventcallback_instancepass
Called once every main client application loop pass. auxiliaryData[0] contains event flags of events that happened since last time. If you react to some of below event flags, make sure you do not react to their equivalent event callback message (e.g. sim_message_eventcallback_sceneloaded is similar to below's bit3 set)
bit0 set: object(s) erased
bit1 set: object(s) created
bit2 set: model loaded
bit3 set: scene loaded
bit4 set: undo called
bit5 set: redo called
bit6 set: scene switched (react to this message in a similar way as you would react to a full scene content change)
bit7 set: edit mode active. This is not an event flag, but a state flag
bit8 set: object(s) scaled
bit9 set: selection state changed. (different objects are selected now)
bit10 set: key pressed
bit11 set: simulation started
bit12 set: simulation ended
sim_message_eventcallback_instanceswitch
scene was switched (react to this message in a similar way as you would react to a full scene content change)
auxiliaryData[0]=scene index
sim_message_eventcallback_menuitemselected
auxiliaryData[0]=handle of the item
auxiliaryData[1]=state of the item
sim_message_eventcallback_broadcast
auxiliaryData[0]=header (see simAddSceneCustomData for an explanation)
auxiliaryData[1]=message ID
sim_message_eventcallback_scenesave
about to save a scene
sim_message_eventcallback_modelsave
about to save a model (current selection will be saved)
sim_message_eventcallback_moduleopen
called when simOpenModule in Lua is called
customData=name of the plugin to execute the command, or NULL if all should execute the command
sim_message_eventcallback_modulehandle
called when simHandleModule in Lua is called with second argument false
customData=name of the plugin to execute the command, or NULL if all should execute the command
sim_message_eventcallback_modulehandleinsensingpart
called when simHandleModule in Lua is called with second arg. true
customData=name of the plugin to execute the command, or NULL if all should execute the command
sim_message_eventcallback_moduleclose
called when simCloseModule in Lua is called
customData=name of the plugin to execute the command, or NULL if all should execute the command
sim_message_eventcallback_renderingpass
called just before the scene is rendered
sim_message_eventcallback_broadcast
called when simBroadcastMessage is called
sim_message_eventcallback_imagefilter_enumreset
"reset enumeration" message for filter plugins
sim_message_eventcallback_imagefilter_enumerate
"enumerate" message for filter plugins
replyData[0]=header ID
replyData[1]=filterID. A positive ID (including 0) represents a filter whose parameters can be edited. A filter with a negative ID cannot be edited.
Return the filter's name as the callback return value (allocate the buffer with the simCreateBuffer function)
sim_message_eventcallback_imagefilter_adjustparams
"edit filter parameters" message for filter plugins
auxiliaryData[0]=header ID
auxiliaryData[1]=filter ID
auxiliaryData[2]=size in bytes of the filter parameter buffer to be edited
customData=filter parameter buffer. Can be NULL (is NULL when filter parameters were never edited)
replyData[0]=size in bytes of the edited filter parameter buffer returned as the callback return buffer. That buffer has to be allocated with the simCreateBuffer command and is automatically released by V-REP upon callback return.
sim_message_eventcallback_imagefilter_process
"do image processing" message for filter plugins
auxiliaryData[0]=header ID
auxiliaryData[1]=filter ID
auxiliaryData[2]=resolution X
auxiliaryData[3]=resolution Y
customData[0]=input image (size: x*y*3 floats)
customData[1]=input depth image (size: x*y floats)
customData[2]=work image (size: x*y*3 floats)
customData[3]=buffer image 1 (size: x*y*3 floats)
customData[4]=buffer image 2 (size: x*y*3 floats)
customData[5]=output image (size: x*y*3 floats)
customData[6]=filter parameter buffer (size: custom), can be NULL (is NULL when filter parameters were never edited)
replyData[0]=1 if the sensor should trigger a detection, 0 otherwise
replyData[1]=number of float values returned, representing auxiliary information (that can be retrieved with simHandleVisionSensor). The auxiliary information can represent a vector, a direction, any result from an image processing algorithm. Allocate the return float buffer with simCreateBuffer
sim_message_eventcallback_abouttoundo
the undo button was hit and a previous state is about to be restored
sim_message_eventcallback_undoperformed
the undo button was hit and a previous state was restored
sim_message_eventcallback_abouttoredo
the redo button was hit and a future state is about to be restored
sim_message_eventcallback_redoperformed
the redo button was hit and a future state was restored
sim_message_eventcallback_scripticondblclick
a script icon in the hierarchy view was double-clicked
auxiliaryData[0]=object handle of the object associated with the child script
replyData[0]: set to 1 if you do not want the double-click action to open the script editor
sim_message_eventcallback_simulationabouttostart
simulation will start
sim_message_eventcallback_simulationended
simulation will end
sim_message_eventcallback_keypress
auxiliaryData[0]=key, auxiliaryData[1]=ctrl and shift key state
sim_message_eventcallback_bannerclicked
called when a banner was clicked (auxiliaryData[0]=banner ID)
sim_message_eventcallback_renderingpass
called just before the scene is rendered
sim_message_eventcallback_refreshdialogs
called just before disloags are refreshed in V-REP.
auxiliaryData[0]=refresh degree (0=light, 1=medium, 2=full)
sim_message_eventcallback_sceneloaded
called after a scene was loaded
sim_message_eventcallback_modelloaded
called after a model was loaded
sim_message_eventcallback_guipass
Called on a regular basis from the GUI thread.
sim_message_eventcallback_mainscriptabouttobecalled
Called just before the main script is called. If a plugin intercepts this message and writes a value different from -1 into replyData[0], the main script will not be called.
sim_message_eventcallback_rmlposition
the command simRMLPosition was called. The appropriate plugin should handle the call
sim_message_eventcallback_rmlvelocity
the command simRMLVelocity was called. The appropriate plugin should handle the call
sim_message_eventcallback_meshcalculationplugin
a mesh calculation function was called. The appropriate plugin (i.e. 'MeshCalc') should handle the call
sim_message_eventcallback_dynamicsplugin
a dynamics function was called. The appropriate plugin (i.e. 'Dynamics') should handle the call
sim_message_eventcallback_pathplanningplugin
a path planning function was called. The appropriate plugin (i.e. 'PathPlanning') should handle the call
sim_message_eventcallback_colladaplugin
a collada plugin function was called. The appropriate plugin (i.e. 'Collada') should handle the call
sim_message_eventcallback_opengl
the user can perform openGl calls from the plugin, in order to draw custom graphics into the V-REP scene. This has a different functionality from the simAddDrawingObject API function. Following data is sent to the plugins:
auxiliaryData[0]=index of the program location where the call occured (e.g. 0=before first V-REP rendering, 5=after last V-REP rendering). Refer to the source code for details.
auxiliaryData[2]=handle of the camera
auxiliaryData[3]=index of the view, or -1 if view is unassociated
sim_message_eventcallback_openglframe
a callback with the full rendered opengl frame data (that can be modified, then returned). Make sure you first enable this callback with simSetBooleanParameter(sim_boolparam_opengl_frame_callback_enabled,1):
customData (unsigned char*): RGB data of the image.
auxiliaryData[0]=picture size X
auxiliaryData[1]=picture size Y
auxiliaryData[2]=0
auxiliaryData[3]=0. If you want V-REP to take into account any modification on the buffer, write 1 in here.
sim_message_eventcallback_openglcameraview
a callback with the rendered opengl camera view (that can be modified, then returned). Make sure you first enable this callback with simSetBooleanParameter(sim_boolparam_opengl_camera_view_callback_enabled,1):
customData (unsigned char*): RGB data of the image.
auxiliaryData[0]=picture size X
auxiliaryData[1]=picture size Y
auxiliaryData[2]=view index
auxiliaryData[3]=0. If you want V-REP to take into account any modification on the buffer, write 1 in here.
sim_message_eventcallback_proxsensorselectdown
a "geometric" click select (mouse down) was registered. Not generated if the ctrl or shift key is down. A geometric click is generated in a non-delayed manner. See also sim_message_eventcallback_pickselectdown hereafter. Enable with sim_intparam_prox_sensor_select_down.
auxiliaryData[0]=objectID
customData[0]-customData[2]=coordinates of clicked point
customData[3]-customData[5]=normal vector of clicked surface
sim_message_eventcallback_proxsensorselectup
a "geometric" click select (mouse up) was registered. Not generated if the ctrl or shift key is down. A geometric click is generated in a non-delayed manner. Enable with sim_intparam_prox_sensor_select_up.
auxiliaryData[0]=objectID
customData[0]-customData[2]=coordinates of clicked point
customData[3]-customData[5]=normal vector of clicked surface
sim_message_eventcallback_pickselectdown
a "pick" click select (mouse down) was registered. Not generated if the ctrl or shift key is down. A pick click is generated in a delayed manner. See also sim_message_eventcallback_proxsensorselectdown here above.
auxiliaryData[0]=objectID or base object ID (if part of a model and select model base instead is checked)

Types of argument (input and output) for custom lua commands

sim_lua_arg_nil
can be combined with sim_lua_arg_table
sim_lua_arg_bool
can be combined with sim_lua_arg_table
sim_lua_arg_int
can be combined with sim_lua_arg_table
sim_lua_arg_float
can be combined with sim_lua_arg_table
sim_lua_arg_string
can be combined with sim_lua_arg_table
sim_lua_arg_invalid
sim_lua_arg_table

See also the simRegisterCustomLuaFunction function.

Custom user interface menu attributes (can be combined with the OR operator)

sim_ui_menu_title
sim_ui_menu_minimize
sim_ui_menu_close
sim_ui_menu_systemblock
System blocks will not be removed when the scene content is removed. This item cannot be used when the call originates from a script.

See also the simCreateUI function.

Custom user interface properties (can be combined with the OR operator)

sim_ui_property_visible
sim_ui_property_visibleduringsimulationonly
sim_ui_property_moveable
sim_ui_property_relativetoleftborder
sim_ui_property_relativetotopborder
sim_ui_property_fixedwidthfont
sim_ui_property_systemblock
System blocks will not be removed when the scene content is removed. This item cannot be written. See also sim_ui_menu_systemblock.
sim_ui_property_settocenter
sim_ui_property_rolledup
sim_ui_property_selectassociatedobject
sim_ui_property_visiblewhenobjectselected
sim_ui_property_systemblockcanmovetofront
sim_ui_property_pauseactive

See also the simGetUIProperty and simSetUIProperty functions.

Custom user interface button properties (can be combined with the OR operator, except for the 4 first values wich are mutually exclusive)

sim_buttonproperty_button
sim_buttonproperty_label
sim_buttonproperty_slider
sim_buttonproperty_editbox
sim_buttonproperty_staydown
sim_buttonproperty_enabled
sim_buttonproperty_borderless
sim_buttonproperty_verticallycentered
sim_buttonproperty_horizontallycentered
sim_buttonproperty_ignoremouse
sim_buttonproperty_isdown
sim_buttonproperty_transparent
sim_buttonproperty_nobackgroundcolor
sim_buttonproperty_rollupaction
sim_buttonproperty_closeaction
sim_buttonproperty_downupevent

See also the simGetUIButtonProperty, simSetUIButtonProperty and simCreateUIButton functions.

Rendering attributes

sim_displayattribute_renderpass
sim_displayattribute_depthpass
sim_displayattribute_pickpass
sim_displayattribute_selected
sim_displayattribute_groupselection
sim_displayattribute_mainselection
sim_displayattribute_forcewireframe
sim_displayattribute_forbidwireframe
sim_displayattribute_forbidedges
sim_displayattribute_originalcolors
sim_displayattribute_ignorelayer
sim_displayattribute_forvisionsensor
sim_displayattribute_trianglewireframe
sim_displayattribute_simplifyasboundingbox
sim_displayattribute_thickEdges
sim_displayattribute_dynamiccontentonly
sim_displayattribute_mirror

See also the sim_message_eventcallback_opengl constant.

Simulation status

sim_simulation_stopped
sim_simulation_paused
sim_simulation_advancing_firstafterstop
sim_simulation_advancing_running
sim_simulation_advancing_lastbeforepause
sim_simulation_advancing_firstafterpause
sim_simulation_advancing_abouttostop
sim_simulation_advancing_lastbeforestop

See also the simGetSimulationState function.

Main script execution result (might change in the future)

sim_script_no_error
sim_script_main_script_nonexistent
sim_script_main_script_not_called
sim_script_reentrance_error
sim_script_lua_error
sim_script_call_error

See also the simHandleMainScript function.

Script types

sim_scripttype_mainscript
sim_scripttype_childscript
can be combined with sim_scripttype_threaded
sim_scripttype_addonscript
sim_scripttype_addonfunction
sim_scripttype_callback
sim_scripttype_threaded
can only be used if combined with sim_scripttype_childscript

See also the simGetScriptProperty function.

API error message report modes

sim_api_errormessage_ignore
does not memorize nor output errors
sim_api_errormessage_report
memorizes errors (default for C-API calls)
sim_api_errormessage_output
memorizes and outputs errors (default for Lua-API calls)

See also the sim_intparam_error_report_mode constant, the simGetIntegerParameter, simSetIntegerParameter and simGetLastError functions.

Special argument values

sim_handle_all
sim_handle_all_except_explicit
sim_handle_self
sim_handle_main_script
sim_handle_tree
sim_handle_chain
sim_handle_single
sim_handle_default
sim_handle_all_except_self
sim_handle_parent

Generic dialog styles

sim_dlgstyle_message
sim_dlgstyle_input
sim_dlgstyle_ok
sim_dlgstyle_ok_cancel
sim_dlgstyle_yes_no
sim_dlgstyle_dont_center (can be OR-combined with one of above values)

See also the simDisplayDialog function.

Generic dialog return values

sim_dlgret_still_open
sim_dlgret_ok
sim_dlgret_cancel
sim_dlgret_yes
sim_dlgret_no

See also the simGetDialogResult function.

Path object properties (can be combined with the OR operator)

sim_pathproperty_show_line
sim_pathproperty_show_orientation
sim_pathproperty_closed_path
sim_pathproperty_automatic_orientation
sim_pathproperty_invert_velocity
sim_pathproperty_infinite_acceleration
sim_pathproperty_flat_path
sim_pathproperty_show_position
sim_pathproperty_auto_velocity_profile_translation
sim_pathproperty_auto_velocity_profile_rotation
sim_pathproperty_endpoints_at_zero
sim_pathproperty_keep_x_up

Custom drawing objects

Drawing object type (combine with drawing object attributes):

sim_drawing_points
items are pixel-sized points (3 values per item (x;y;z) + auxiliary values)
sim_drawing_lines
items are pixel-sized lines (6 values per item (x0;y0;z0;x1;y1;z1) + auxiliary values)
sim_drawing_triangles
items are triangles (9 values per item (x0;y0;z0;x1;y1;z1;x2;y2;z2) + auxiliary values)
sim_drawing_trianglepoints
items are "triangle points" (6 values per item (x;y;z;Nx;Ny;Nz) (N=normal vector)) + auxiliary values)
sim_drawing_quadpoints
items are "rectangle points" (6 values per item (x;y;z;Nx;Ny;Nz) (N=normal vector)) + auxiliary values)
sim_drawing_discpoints
items are "disc points" (6 values per item (x;y;z;Nx;Ny;Nz) (N=normal vector)) + auxiliary values)
sim_drawing_cubepoints
items are "cube points" (6 values per item (x;y;z;Nx;Ny;Nz) (N=normal vector)) + auxiliary values)
sim_drawing_spherepoints
items are "sphere points" (3 values per item (x;y;z) + auxiliary values)

Drawing object attributes:

sim_drawing_itemcolors
each item has individual ambient colors (+3 auxiliary values (red, green and blue)). Mutually exclusive with sim_drawing_vertexcolors
sim_drawing_vertexcolors
each item vertex has individual colors (+3 auxiliary values per vertex). Only for sim_drawing_lines or sim_drawing_triangles. Mutually exclusive with sim_drawing_itemcolors
sim_drawing_itemsizes
each item has individual sizes (+1 auxiliary value). Not for sim_drawing_triangles
sim_drawing_backfaceculling
items are back-face culled
sim_drawing_wireframe
items are displayed in wire frame
sim_drawing_painttag
items have a "paint"-tag, which means that items are renderable. If the items are attached to scene objects, then the scene object's renderable tag needs to be set too
sim_drawing_followparentvisibility
items attached to a scene object follow its visibility property
sim_drawing_cyclic
if the drawing object is full, then the first items are overwritten
sim_drawing_50percenttransparency
the drawing object will be 50 transparent
sim_drawing_25percenttransparency
the drawing object will be 25 transparent
sim_drawing_12percenttransparency
the drawing object will be 12.5 transparent
sim_drawing_emissioncolor
when used in combination with sim_drawing_itemcolors or sim_drawing_vertexcolors, then the specified colors will be for the emissive component
sim_drawing_facingcamera
if specified, then sim_drawing_trianglepoints, sim_drawing_quadpoints, sim_drawing_discpoints and sim_drawing_cubepoints will be drawn to always face the cameras. In that case, the normal vector is not required anymore and should not be specified anymore (3 values instead of 6 values)
sim_drawing_overlay
if specified, then items are drawn on top of other objects and are (almost) always visible
sim_drawing_itemtransparency
each item has individual transparency values (+1 auxiliary value per item). Not compatible with sim_drawing_vertexcolors

See also the simAddDrawingObject function.

Banners

sim_banner_left
banners display on the left of the specified point
sim_banner_right
banners display on the right of the specified point
sim_banner_nobackground
banners have no background rectangle
sim_banner_overlay
when specified, banners are always drawn on top of "regular objects"
sim_banner_followparentvisibility
if the object is associated with a scene object, then it follows that visibility, otherwise it is alwaysvisible
sim_banner_clickselectsparent
if the object is associated with a scene object, then clicking the banner will select the scene object
sim_banner_clicktriggersevent
if the banner is clicked, an event is triggered (sim_message_eventcallback_bannerclicked and sim_message_bannerclicked are generated)
sim_banner_facingcamera
if specified, the banner will always face the camera by rotating it around its vertical axis (y-axis)
sim_banner_fullyfacingcamera
if specified, the banner will always fully face the camera (the banner's orientation is same as the camera looking at it)
sim_banner_backfaceculling
if specified, the banner will only be visible from one side
sim_banner_keepsamesize
if specified, the banner will always appear in the same size. In that case size represents the banner height in pixels
sim_banner_bitmapfont
if specified, a fixed-size bitmap font is used. The text will also always fully face the camera and be right to the specified position. Bitmap fonts are not clickable.

See also the simAddBanner function.

Particle objects

Particle object type (combine with particle object attributes). Each item (particle) requires 6 values + auxiliary values, where the 6 values are: pt1x, pt1y, pt1z, pt2x, pt2y, pt2z (Pt1 is start position, pt2-pt1 is the initial velocity vector)

sim_particle_points1
items are displayed as 1 pixel-sized points (internally handled as a perfect sphere)
sim_particle_points2
items are displayed as 2 pixel-sized points (internally handled as a perfect sphere)
sim_particle_points4
items are displayed as 4 pixel-sized points (internally handled as a perfect sphere)
sim_particle_roughspheres
items are displayed as rough spheres (internally handled as a perfect sphere)
sim_particle_spheres
items are displayed as spheres

Particle object attributes:

sim_particle_respondable1to4
the particles are respondable against shapes that have at least one bit 1-4 activated in the global respondable mask
sim_particle_respondable5to8
the particles are respondable against shapes that have at least one bit 5-8 activated in the global respondable mask
sim_particle_particlerespondable
the particles are respondable against each other
sim_particle_ignoresgravity
the particles ignore the effect of gravity
sim_particle_invisible
the particles are invisible
sim_particle_painttag
the particles are visible when seen from vision sensors. sim_particle_invisible must not be set
sim_particle_cyclic
if the max particle count was reached, then the first particles are overwritten
sim_particle_itemsizes
+1 auxiliary value per particle (each particle can have a different size)
sim_particle_itemdensities
+1 auxiliary value per particle (each particle can have a different density)
sim_particle_itemcolors
+3 auxiliary values per particle (each particle can have a different ambient color)
sim_particle_emissioncolor
when used in combination with sim_particle_itemcolors, then the specified colors will be for the emissive component
sim_particle_water
particles are water particles (no weight in the water (i.e. when z<0)). In addition to that, particles can have drag coefficients for the water and the air. Not compatible with sim_particle_ignoresgravity

See also the simAddParticleObject function.

Boolean parameters

sim_boolparam_hierarchy_visible
sim_boolparam_console_visible
sim_boolparam_collision_handling_enabled
sim_boolparam_distance_handling_enabled
sim_boolparam_ik_handling_enabled
sim_boolparam_gcs_handling_enabled
sim_boolparam_dynamics_handling_enabled
sim_boolparam_joint_motion_handling_enabled
sim_boolparam_path_motion_handling_enabled
sim_boolparam_proximity_sensor_handling_enabled
sim_boolparam_vision_sensor_handling_enabled
sim_boolparam_mill_handling_enabled
sim_boolparam_browser_visible
sim_boolparam_scene_and_model_load_messages
displays warning/error messages when loading a scene/model/UI from the API
sim_boolparam_shape_textures_are_visible
sim_boolparam_display_enabled
setting this to false allows you to enter the fast simulation mode. This value can be set back to true at any time by the system
sim_boolparam_infotext_visible
sim_boolparam_statustext_open
sim_boolparam_fog_enabled
sim_boolparam_mirrors_enabled
sim_boolparam_aux_clip_planes_enabled
sim_boolparam_full_model_copy_from_api
setting this to false allows you to copy-paste objects marked as 'model' without all related model objects when calling simCopyPasteSelectedObjects. Make sure to reset to true once finished.
sim_boolparam_use_glfinish_cmd
sim_boolparam_force_show_wireless_emission
sim_boolparam_force_show_wireless_reception
sim_boolparam_video_recording_triggered
sim_boolparam_opengl_frame_callback_enabled
sim_boolparam_opengl_camera_view_callback_enabled

See also the simGetBooleanParameter and simSetBooleanParameter functions.

Integer parameters

sim_intparam_error_report_mode
sim_intparam_program_version
e.g Version 2.1.4 --> 20104. Can only be read
sim_intparam_custom_cmd_start_id
start of custom command IDs. Can only be read
sim_intparam_compilation_version
0=evaluation version, 1=full version, 2=player version. Can only be read
sim_intparam_current_page
sim_intparam_flymode_camera_handle
Can only be read
sim_intparam_dynamic_step_divider
Represents the number of calculation passes of the dynamics module for each simulation pass. This might be not constant during a simulation. Can be 0 when simHandleDynamics wasn't yet called. Can only be read
sim_intparam_dynamic_engine
0=Bullet, 1=ODE. Can only be read
sim_intparam_server_port_start
together with sim_intparam_server_port_next and sim_intparam_server_port_range, indicates which local ports can be used. Can only be read
sim_intparam_server_port_range
together with sim_intparam_server_port_next and sim_intparam_server_port_start, indicates which local ports can be used. Can only be read
sim_intparam_server_port_next
Indicates which local ports can be used next. Once that port was used, update this value according to the values stored in sim_intparam_server_port_start and sim_intparam_server_port_range
sim_intparam_visible_layers
sim_intparam_infotext_style
allowed values are 0-2
sim_intparam_settings
Use with care, and always reset to initial values at simulation end
bit1: edge antialiasing
bit2: world reference display
bit3: bounding box display
bit4: don't use Frame Buffer Objects for vision sensors
bit5: undo/redo enabled
sim_intparam_edit_mode_type
Can only be read:
0: no edit mode
1: triangle edit mode
2: vertex edit mode
3: edge edit mode
4: path edit mode
5: button edit mode
sim_intparam_qt_version
The Qt version. Can only be read
sim_intparam_event_flags_read
Some event flags. Can only be read:
bit0 set: object(s) erased
bit1 set: object(s) created
bit2 set: model loaded
bit3 set: scene loaded
bit4 set: undo called
bit5 set: redo called
bit6 set: scene switched (react to this message in a similar way as you would react to a full scene content change)
bit7 set: edit mode active. This is not an event flag, but a state flag
bit8 set: object(s) scaled
bit9 set: selection state changed. (different objects are selected now)
bit10 set: key pressed
bit11 set: simulation started
bit12 set: simulation ended
sim_intparam_event_flags_read_clear
Some event flags. Reads the flags and clears them right after
sim_intparam_platform
0=Windows, 1=Macintosh, 2=Linux. Can only be read
sim_intparam_scene_unique_id
A unique ID for the current scene. Useful to identify scene switches. Can only be read
sim_intparam_work_thread_count
The value of variable 'workThreadCount' from file system/usrset.txt. Represents the number of threads to be used in the sensing phase of the main script (0-256, or -1 for automatic setting)
sim_intparam_mouse_x
sim_intparam_mouse_y
sim_intparam_core_count
The number of cores on this machine. Can only be read.
sim_intparam_work_thread_calc_time_ms
The time in ms that the work thread needed to achieve its tasks (for one simulation pass). Has to be set preferably by the main script.
sim_intparam_idle_fps
sim_intparam_prox_sensor_select_down
Allows to enable message or callback generation when a shape was clicked (down-click) in the scene. The click is a "geometric" click. This value is set to zero at simulation start and simulation stop. Refer also to sim_message_prox_sensor_select_down and sim_message_eventcallback_proxsensorselectdown.
0: disabled
-1: enabled for all visible shapes in the scene. Might trigger some initial calculations.
a detectable value (object special property value): enabled for all visible shapes in the scene with a similar detectable value. Might trigger some initial calculations.
sim_intparam_prox_sensor_select_up
Allows to enable message or callback generation when a shape was clicked (up-click) in the scene. The click is a "geometric" click. This value is set to zero at simulation start and simulation stop. Refer also to sim_message_prox_sensor_select_down and sim_message_eventcallback_proxsensorselectdown.
0: disabled
-1: enabled for all visible shapes in the scene. Might trigger some initial calculations.
a detectable value (object special property value): enabled for all visible shapes in the scene with a similar detectable value. Might trigger some initial calculations.

See also the simGetIntegerParameter and simSetIntegerParameter functions.

Floating point parameters

sim_floatparam_rand
Returns a random value in the range [0.0;1.0]. Useful when called from Lua since each script instance will initialize its random number generator in a same way, and thus, 'random' values generated in different scripts will be relatively 'similar'. This is not the case with this random value. Can only be read
sim_floatparam_simulation_time_step

See also the simGetFloatingParameter and simSetFloatingParameter functions.

String parameters

sim_stringparam_application_path
can only be read
sim_stringparam_video_filename
path + filename without extension

See also the simGetStringParameter function.

Array parameters

sim_arrayparam_gravity
3 floats
sim_arrayparam_fog
3 floats: fog start, fog end, fog density
sim_arrayparam_fog_color
3 floats
sim_arrayparam_background_color1
3 floats
sim_arrayparam_background_color2
3 floats
sim_arrayparam_ambient_light
3 floats

See also the simGetArrayParameter and simSetArrayParameter functions.

Mouse navigation and selection modes

sim_navigation_passive
sim_navigation_camerashift
sim_navigation_camerarotate
sim_navigation_camerazoom
sim_navigation_cameratilt
sim_navigation_cameraangle
sim_navigation_camerafly
sim_navigation_objectshift
sim_navigation_objectrotate
sim_navigation_jointpathtest
sim_navigation_ikmanip
sim_navigation_objectmultipleselection

Bit-combine following values and add them to one of above's values for a valid navigation mode:

sim_navigation_clickselection
sim_navigation_ctrlselection
sim_navigation_shiftselection
sim_navigation_camerazoomwheel
sim_navigation_camerarotaterightbutton

See also the simGetNavigationMode and simSetNavigationMode functions.

Start-up options

sim_gui_menubar
sim_gui_popups
sim_gui_toolbar1
sim_gui_toolbar2
sim_gui_hierarchy
sim_gui_infobar
sim_gui_statusbar
sim_gui_scripteditor
sim_gui_scriptsimulationparameters
sim_gui_dialogs
sim_gui_browser
sim_gui_all

See also the simRunSimulator function.

Joint modes

sim_jointmode_passive
sim_jointmode_motion
sim_jointmode_ik
sim_jointmode_ikdependent
sim_jointmode_dependent
sim_jointmode_force

See also the simSetJointMode function.

Distance calculation methods

sim_distcalcmethod_dl
distance=sum(dl)
sim_distcalcmethod_dac
distance=sum(da*c)
sim_distcalcmethod_max_dl_dac
distance=sum(max(dl,da*c))
sim_distcalcmethod_dl_and_dac
distance=sum(dl+da*c)
sim_distcalcmethod_sqrt_dl2_and_dac2
distance=sum(sqrt(dl^2+(da*c)^2))
sim_distcalcmethod_dl_if_nonzero
distance=sum(if (dl!=0) then (dl) else (da*c))
sim_distcalcmethod_dac_if_nonzero
distance=sum(if (da*c!=0) then (da*c) else (dl))

where dl is a linear variation, da an angular variation and c the angular to linear conversion coefficient

See also the simMoveToPosition function.

Reflexxes motion library (RML) constants

select exactly one of following:
simrml_phase_sync_if_possible (default for position-based calculations)
simrml_only_time_sync
simrml_only_phase_sync
simrml_no_sync

combine with exactly one of following:
simrml_keep_target_vel (default for position-based calculations)
simrml_recompute_trajectory

for the position-based function, following flags can also optionally combined:
simrml_disable_extremum_motion_states_calc
simrml_keep_current_vel_if_fallback_strategy

Default for position-based calculations is: simrml_phase_sync_if_possible | simrml_keep_target_vel
Default for velocity-based calculations is: simrml_no_sync

Pure primitive types

sim_pure_primitive_none
sim_pure_primitive_plane
sim_pure_primitive_disc
sim_pure_primitive_cuboid
sim_pure_primitive_spheroid
sim_pure_primitive_cylinder
sim_pure_primitive_cone
sim_pure_primitive_heightfield

Dummy link types

sim_dummy_linktype_dynamics_loop_closure
sim_dummy_linktype_dynamics_force_constraint
sim_dummy_linktype_gcs_loop_closure
sim_dummy_linktype_gcs_tip
sim_dummy_linktype_gcs_target
sim_dummy_linktype_ik_tip_target

Physics engine types

sim_physics_bullet
sim_physics_ode

Path planning types

sim_pathplanning_holonomic
sim_pathplanning_nonholonomic

Holonomic path planning types

sim_holonomicpathplanning_xy
sim_holonomicpathplanning_xg
sim_holonomicpathplanning_xyz
sim_holonomicpathplanning_xyg
sim_holonomicpathplanning_abg
sim_holonomicpathplanning_xyzg
sim_holonomicpathplanning_xabg
sim_holonomicpathplanning_xyabg
sim_holonomicpathplanning_xyzabg

File dialog types

sim_filedlg_type_load
sim_filedlg_type_save

See also the simFileDialog function.

Message box types

sim_msgbox_type_info
sim_msgbox_type_question
sim_msgbox_type_warning
sim_msgbox_type_critical

See also the simMsgBox function.

Message box buttons

sim_msgbox_buttons_ok
sim_msgbox_buttons_yesno
sim_msgbox_buttons_yesnocancel
sim_msgbox_buttons_okcancel

See also the simMsgBox function.

Message box return values

sim_msgbox_return_cancel
sim_msgbox_return_no
sim_msgbox_return_yes
sim_msgbox_return_ok

See also the simMsgBox function.