v_repConst.h
Go to the documentation of this file.
1 // This file is part of V-REP, the Virtual Robot Experimentation Platform.
2 //
3 // Copyright 2006-2016 Coppelia Robotics GmbH. All rights reserved.
4 // marc@coppeliarobotics.com
5 // www.coppeliarobotics.com
6 //
7 // V-REP is dual-licensed, under the terms of EITHER (at your option):
8 // 1. V-REP commercial license (contact us for details)
9 // 2. GNU GPL (see below)
10 //
11 // GNU GPL license:
12 // -------------------------------------------------------------------
13 // V-REP is free software: you can redistribute it and/or modify
14 // it under the terms of the GNU General Public License as published by
15 // the Free Software Foundation, either version 3 of the License, or
16 // (at your option) any later version.
17 //
18 // V-REP IS DISTRIBUTED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
19 // WARRANTY. THE USER WILL USE IT AT HIS/HER OWN RISK. THE ORIGINAL
20 // AUTHORS AND COPPELIA ROBOTICS GMBH WILL NOT BE LIABLE FOR DATA LOSS,
21 // DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING OR
22 // MISUSING THIS SOFTWARE.
23 //
24 // See the GNU General Public License for more details.
25 //
26 // You should have received a copy of the GNU General Public License
27 // along with V-REP. If not, see <http://www.gnu.org/licenses/>.
28 // -------------------------------------------------------------------
29 //
30 // This file was automatically created for V-REP release V3.3.2 on August 29th 2016
31 
32 #if !defined(V_REPCONST_INCLUDED_)
33 #define V_REPCONST_INCLUDED_
34 
35 #define VREP_PROGRAM_VERSION_NB 30302
36 #define VREP_PROGRAM_VERSION "3.3.2."
37 
38 #define VREP_PROGRAM_REVISION_NB 1
39 #define VREP_PROGRAM_REVISION "(rev. 1)"
40 
41 /* Scene object types. Values are serialized */
42 enum {
61 };
62 
63 /* General object types. Values are serialized */
64 enum {
78 };
79 
80 /* Ik calculation methods. Values are serialized */
81 enum {
85 };
86 
87 /* Ik constraints. Values are serialized */
88 enum {
95 };
96 
97 /* Ik calculation results */
98 enum {
102 };
103 
104 /* Scene object sub-types. Values are serialized */
105 enum {
106  /* Light sub-types: */
110  /* Joint sub-types: */
114  /* Shape sub-types: */
117  /* Proximity sensor sub-types: */
123  /* Mill sub-types: */
128  /* No sub-type: */
130 };
131 
132 enum { /* Scene object main properties (serialized): */
135  /*reserved =0x0004, */
136  /*reserved =0x0008, */
146 };
147 
148 enum { /* Model properties (serialized): */
155  sim_modelproperty_not_respondable =0x0040, /* cannot be selected if sim_modelproperty_not_dynamic is not selected */
156  sim_modelproperty_not_reset =0x0080, /* Model is not reset at simulation end. This flag is cleared at simulation end */
157  sim_modelproperty_not_visible =0x0100, /* Whole model is invisible, independent of local visibility settings */
158  sim_modelproperty_scripts_inactive =0x0200, /* All scripts in the model will not be executed */
159  sim_modelproperty_not_showasinsidemodel =0x0400, /* Whole model is invisible to any model bounding box */
160  sim_modelproperty_not_model =0xf000 /* object is not a model */
161 };
162 
163 enum { /* Check the documentation instead of comments below!! */
164  /* Following messages are dispatched to the Lua-message container: */
165  sim_message_ui_button_state_change=0, /* a UI button, slider, etc. changed (due to a user's action). aux[0]=UI handle, aux[1]=button handle, aux[2]=button attributes, aux[3]=slider position (if slider) */
166  sim_message_reserved9, /* Do not use */
168  sim_message_reserved10, /* do not use */
170  sim_message_reserved11, /* do not use */
171  sim_message_keypress, /* a key was pressed while the focus was on a page (aux[0]=key, aux[1]=ctrl and shift key state) */
172  sim_message_bannerclicked, /* a banner was clicked (aux[0]=banner ID) */
173  sim_message_scene_loaded, /* a scene was loaded */
174 
175  sim_message_prox_sensor_select_down, /* a "geometric" click select (mouse down) was registered. Enable with sim_intparam_prox_sensor_select_down. aux[0]=objectID, aux2[0-2]=pt coord, aux2[3-5]=pt normal vector */
176  sim_message_prox_sensor_select_up, /* a "geometric" click select (mouse up) was registered. Enable with sim_intparam_prox_sensor_select_up. aux[0]=objectID, aux2[0-2]=pt coord, aux2[3-5]=pt normal vector */
177  sim_message_pick_select_down, /* a "pick" click select (mouse down) was registered. aux[0]=objectID */
178 
179 
180  /* Following messages are dispatched only to the C-API (not available from Lua): */
181  sim_message_for_c_api_only_start=0x0100, /* Do not use */
182  sim_message_reserved1, /* Do not use */
183  sim_message_reserved2, /* Do not use */
184  sim_message_reserved3, /* Do not use */
185 
186 
187  sim_message_eventcallback_scenesave, /* about to save a scene */
188  sim_message_eventcallback_modelsave, /* about to save a model (current selection will be saved) */
189  sim_message_eventcallback_moduleopen, /* called when simOpenModule in Lua is called */
190  sim_message_eventcallback_modulehandle, /* called when simHandleModule in Lua is called with argument false */
191  sim_message_eventcallback_moduleclose, /* called when simCloseModule in Lua is called */
192  sim_message_reserved4, /* Do not use */
193  sim_message_reserved5, /* Do not use */
194  sim_message_reserved6, /* Do not use */
195  sim_message_reserved7, /* Do not use */
196  sim_message_eventcallback_instancepass, /* Called once every main application loop pass. auxiliaryData[0] contains event flags of events that happened since last time: */
197  /* bit0 set: object(s) erased */
198  /* bit1 set: object(s) created */
199  /* bit2 set: model loaded */
200  /* bit3 set: scene loaded */
201  /* bit4 set: undo called */
202  /* bit5 set: redo called */
203  /* bit6 set: scene switched (similar to scene loaded, basically: scene content completely changed) */
204  /* bit7 set: edit mode active. This is not an event flag, but a state flag */
205  /* bit8 set: object(s) scaled */
206  /* bit9 set: selection state changed. (different objects are selected now) */
207  /* bit10 set: key pressed */
208  /* bit11 set: simulation started */
209  /* bit12 set: simulation ended */
210 
217 
222 
223  sim_message_eventcallback_abouttoundo, /* the undo button was hit and a previous state is about to be restored */
224  sim_message_eventcallback_undoperformed, /* the undo button was hit and a previous state restored */
225  sim_message_eventcallback_abouttoredo, /* the redo button was hit and a future state is about to be restored */
226  sim_message_eventcallback_redoperformed, /* the redo button was hit and a future state restored */
227  sim_message_eventcallback_scripticondblclick, /* scipt icon was double clicked. (aux[0]=object handle associated with script, set replyData[0] to 1 if script should not be opened) */
230 
232  sim_message_eventcallback_keypress, /* a key was pressed while the focus was on a page (aux[0]=key, aux[1]=ctrl and shift key state) */
233  sim_message_eventcallback_modulehandleinsensingpart, /* called when simHandleModule in Lua is called with argument true */
234 
235  sim_message_eventcallback_renderingpass, /* called just before the scene is rendered. From the UI thread! */
236  sim_message_eventcallback_bannerclicked, /* called when a banner was clicked (aux[0]=banner ID) */
237  sim_message_eventcallback_menuitemselected, /* auxiliaryData[0] indicates the handle of the item, auxiliaryData[1] indicates the state of the item */
238  sim_message_eventcallback_refreshdialogs, /* aux[0]=refresh degree (0=light, 1=medium, 2=full) */
242 
243 
246 
247  sim_message_eventcallback_rmlposition, /* the command simRMLPosition was called. The appropriate plugin should handle the call */
248  sim_message_eventcallback_rmlvelocity, /* the command simRMLVelocity was called. The appropriate plugin should handle the call */
249 
252  sim_message_eventcallback_pathplanningplugin, /* to interact with the path planning plugin */
253  sim_message_eventcallback_colladaplugin, /* to interact with the collada plugin */
254 
255  sim_message_eventcallback_opengl, /* a simple callback at different rendering stages */
256  sim_message_eventcallback_openglframe, /* a callback with the full rendered opengl frame data (that can be modified then returned) */
257  sim_message_eventcallback_openglcameraview, /* a callback with the rendered opengl view data (that can be modified then returned) */
258 
259  sim_message_eventcallback_proxsensorselectdown, /* a "geometric" click select (mouse down) was registered. Enable with sim_intparam_prox_sensor_select_down. aux[0]=objectID, customData[0-2]=pt coord (floats), customData[3-5]=pt normal vector (floats)*/
260  sim_message_eventcallback_proxsensorselectup, /* a "geometric" click select (mouse up) was registered. Enable with sim_intparam_prox_sensor_select_down. aux[0]=objectID, customData[0-2]=pt coord (floats), customData[3-5]=pt normal vector (floats)*/
261  sim_message_eventcallback_pickselectdown, /* a "pick" click select (mouse down) was registered. aux[0]=objectID */
262 
263  sim_message_eventcallback_rmlpos, /* the command simRMLPos was called. The appropriate plugin should handle the call */
264  sim_message_eventcallback_rmlvel, /* the command simRMLVel was called. The appropriate plugin should handle the call */
265  sim_message_eventcallback_rmlstep, /* the command simRMLStep was called. The appropriate plugin should handle the call */
266  sim_message_eventcallback_rmlremove, /* the command simRMLRemove was called. The appropriate plugin should handle the call */
267  sim_message_eventcallback_rmlinfo, /* used internally */
268 
269  sim_message_eventcallback_beforerendering, /* called just before the scene is rendered. From the main SIM thread! */
270 
275 
288 
292 
296 
297 };
298 
299 // Rendering attributes:
300 enum {
329 };
330 
331 enum { /* Scene object properties. Combine with the | operator */
336  sim_objectproperty_reserved5 =0x0004, /* formely sim_objectproperty_visible */
337  sim_objectproperty_reserved6 =0x0008, /* formely sim_objectproperty_wireframe */
343  /* reserved =0x0200, */
347 };
348 
349 enum { /* DEPRECATED, check below */
359  /* SIM_LUA_ARG_NIL_ALLOWED=65536 is defined and used in CLuaFunctionData.h. This flag is reserved here. */
360 };
361 
362 enum { /* type of arguments (input and output) for custom script commands */
372  /* SIM_SCRIPT_ARG_NULL_ALLOWED=65536 is defined and used in CScriptFunctionData.h. This flag is reserved here. */
373 };
374 
375 enum { /* OpenGl-based custom UI menu attributes: */
380 };
381 
382 enum { /* OpenGl-based custom UI properties. Values are serialized. */
396 };
397 
398 enum { /* button properties. Values are serialized. */
415 };
416 
417 enum { /* Simulation status */
418  sim_simulation_stopped =0x00, /* Simulation is stopped */
419  sim_simulation_paused =0x08, /* Simulation is paused */
420  sim_simulation_advancing =0x10, /* Simulation is advancing */
422  sim_simulation_advancing_running =sim_simulation_advancing|0x01, /* Normal simulation pass (>=1x) */
423  /* reserved =sim_simulation_advancing|0x02, */
424  sim_simulation_advancing_lastbeforepause =sim_simulation_advancing|0x03, /* Last simulation pass before pause (1x) */
425  sim_simulation_advancing_firstafterpause =sim_simulation_advancing|0x04, /* First simulation pass after pause (1x) */
426  sim_simulation_advancing_abouttostop =sim_simulation_advancing|0x05, /* "Trying to stop" simulation pass (>=1x) */
428 };
429 
430 enum { /* Script execution result (first return value) */
437 };
438 
439 enum { /* Script types (serialized!) */
448  sim_scripttype_threaded=0x00f0 /* Combine with sim_scripttype_childscript if you want */
449 };
450 
451 enum { /* Main script call types */
452  sim_mainscriptcall_initialization=0, /* first time called. Do some initializations */
453  sim_mainscriptcall_cleanup, /* last time called. Do some clean-up */
455 };
456 
457 enum { /* Child script call types */
458  sim_childscriptcall_initialization=0, /* first time called. Do some initializations */
459  sim_childscriptcall_cleanup, /* last time called. Do some clean-up */
460  sim_childscriptcall_actuation, /* called in the "actuation" phase. */
461  sim_childscriptcall_sensing, /* called in the "sensing" phase. */
462  sim_childscriptcall_threaded /* called only by threaded scripts. */
463 };
464 
465 enum { /* Customization script call types */
466  sim_customizationscriptcall_initialization=0, /* first time called. Do some initializations */
467  sim_customizationscriptcall_cleanup, /* last time called. Do some clean-up */
468  sim_customizationscriptcall_nonsimulation, /* called while simulation not running */
469  sim_customizationscriptcall_lastbeforesimulation, /* called just before simulation starts */
470  sim_customizationscriptcall_firstaftersimulation, /* called just after simulation ended */
471  sim_customizationscriptcall_simulationactuation, /* called in the "actuation" phase of the main script. Called only if the script is flagged as sim_customizationscriptattribute_activeduringsimulation */
472  sim_customizationscriptcall_simulationsensing, /* called in the "sensing" phase of the main script. Called only if the script is flagged as sim_customizationscriptattribute_activeduringsimulation */
473  sim_customizationscriptcall_simulationpause, /* called while simulation is paused */
474  sim_customizationscriptcall_simulationpausefirst, /* called just after a simulation was paused */
475  sim_customizationscriptcall_simulationpauselast /* called just before a simulation is unpaused */
476 };
477 
478 enum { /* Script attributes */
480  sim_scriptattribute_executionorder, /* integer attribute, see sim_scriptexecorder_normal, etc. */
481  sim_scriptattribute_executioncount, /* integer attribute */
483  sim_childscriptattribute_enabled, /* boolean attribute */
485 };
486 
487 enum { /* Script execution order, is serialized */
491 };
492 
493 enum { /* Threaded script resume location */
501 };
502 
503 enum { /* General callback IDs */
507 };
508 
509 
510 enum { /* API call error messages */
514 
515  /* for backward compatibility */
516  sim_api_errormessage_ignore =0, /* does not memorize nor output errors */
517  sim_api_errormessage_report =1, /* memorizes errors (default for C-API calls) */
518  sim_api_errormessage_output =2 /* memorizes and outputs errors (default for Lua-API calls) */
519 };
520 
521 enum { /* special argument of some functions: */
533 };
534 
535 enum { /* special handle flags: */
541  sim_handleflag_model =0x00800000,
543 };
544 
545 enum { /* distance calculation methods: (serialized) */
553 };
554 
555 enum { /* Generic dialog styles: */
561  sim_dlgstyle_dont_center =32 /* can be combined with one of above values. Only with this flag can the position of the related UI be set just after dialog creation */
562 };
563 
564 enum { /* Generic dialog return values: */
570 };
571 
572 enum { /* Path properties: */
585 };
586 
587 enum { /* drawing objects: */
588  /* following are mutually exclusive: */
589  sim_drawing_points=0, /* 3 values per point (point size in pixels) */
590  sim_drawing_lines, /* 6 values per line (line size in pixels) */
591  sim_drawing_triangles, /* 9 values per triangle */
592  sim_drawing_trianglepoints, /* 6 values per point (3 for triangle position, 3 for triangle normal vector) (triangle size in meters) */
593  sim_drawing_quadpoints, /* 6 values per point (3 for quad position, 3 for quad normal vector) (quad size in meters) */
594  sim_drawing_discpoints, /* 6 values per point (3 for disc position, 3 for disc normal vector) (disc size in meters) */
595  sim_drawing_cubepoints, /* 6 values per point (3 for cube position, 3 for cube normal vector) (cube size in meters) */
596  sim_drawing_spherepoints, /* 3 values per point (sphere size in meters) */
597 
598  /* following can be or-combined: */
599  sim_drawing_itemcolors =0x000020, /* +3 values per item (each item has its own ambient color (r,g,b values)). Mutually exclusive with sim_drawing_vertexcolors */
600  sim_drawing_vertexcolors =0x000040, /* +3 values per vertex (each vertex has its own ambient color (r,g,b values). Only for sim_drawing_lines (+6) and for sim_drawing_triangles(+9)). Mutually exclusive with sim_drawing_itemcolors */
601  sim_drawing_itemsizes =0x000080, /* +1 value per item (each item has its own size). Not for sim_drawing_triangles */
602  sim_drawing_backfaceculling =0x000100, /* back faces are not displayed for all items */
603  sim_drawing_wireframe =0x000200, /* all items displayed in wireframe */
604  sim_drawing_painttag =0x000400, /* all items are tagged as paint (for additinal processing at a later stage) */
605  sim_drawing_followparentvisibility =0x000800, /* if the object is associated with a scene object, then it follows that visibility, otherwise it is always visible */
606  sim_drawing_cyclic =0x001000, /* if the max item count was reached, then the first items are overwritten. */
607  sim_drawing_50percenttransparency =0x002000, /* the drawing object will be 50% transparent */
608  sim_drawing_25percenttransparency =0x004000, /* the drawing object will be 25% transparent */
609  sim_drawing_12percenttransparency =0x008000, /* the drawing object will be 12.5% transparent */
610  sim_drawing_emissioncolor =0x010000, /* When used in combination with sim_drawing_itemcolors or sim_drawing_vertexcolors, then the specified colors will be for the emissive component */
611  sim_drawing_facingcamera =0x020000, /* Only for trianglepoints, quadpoints, discpoints and cubepoints. If specified, the normal verctor is calculated to face the camera (each item data requires 3 values less) */
612  sim_drawing_overlay =0x040000, /* When specified, objects are always drawn on top of "regular objects" */
613  sim_drawing_itemtransparency =0x080000, /* +1 value per item (each item has its own transparency value (0-1)). Not compatible with sim_drawing_vertexcolors */
614  sim_drawing_persistent =0x100000, /* object is not automatically removed when created via a simulation script */
615  sim_drawing_auxchannelcolor1 =0x200000, /* when specifying the emission color component in the simAddDrawingObject function, 6 values should be specified instead of 3: 3 for the emission component, and 3 for the aux channel component */
616  sim_drawing_auxchannelcolor2 =0x400000, /* When used in combination with sim_drawing_itemcolors or sim_drawing_vertexcolors, then the specified colors will be for the aux channel component */
617 };
618 
619 enum { /* banner values: */
620  /* following can be or-combined: */
621  sim_banner_left =0x00001, /* Banners display on the left of the specified point */
622  sim_banner_right =0x00002, /* Banners display on the right of the specified point */
623  sim_banner_nobackground =0x00004, /* Banners have no background rectangle */
624  sim_banner_overlay =0x00008, /* When specified, banners are always drawn on top of "regular objects" */
625  sim_banner_followparentvisibility =0x00010, /* if the object is associated with a scene object, then it follows that visibility, otherwise it is always visible */
626  sim_banner_clickselectsparent =0x00020, /* if the object is associated with a scene object, then clicking the banner will select the scene object */
627  sim_banner_clicktriggersevent =0x00040, /* if the banner is clicked, an event is triggered (sim_message_eventcallback_bannerclicked and sim_message_bannerclicked are generated) */
628  sim_banner_facingcamera =0x00080, /* If specified, the banner will always face the camera by rotating around the banner's vertical axis (y-axis) */
629  sim_banner_fullyfacingcamera =0x00100, /* If specified, the banner will always fully face the camera (the banner's orientation is same as the camera looking at it) */
630  sim_banner_backfaceculling =0x00200, /* If specified, the banner will only be visible from one side */
631  sim_banner_keepsamesize =0x00400, /* If specified, the banner will always appear in the same size. In that case size represents the character height in pixels */
632  sim_banner_bitmapfont =0x00800 /* 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 */
633 };
634 
635 enum { /* particle objects: */
636  /* following are mutually exclusive: */
637  sim_particle_points1=0, /* 6 values per point (pt1 and pt2. Pt1 is start position, pt2-pt1 is the initial velocity vector). Point is 1 pixel big. Only appearance is a point, internally handled as a perfect sphere */
638  sim_particle_points2, /* 6 values per point. Point is 2 pixel big. Only appearance is a point, internally handled as a perfect sphere */
639  sim_particle_points4, /* 6 values per point. Point is 4 pixel big. Only appearance is a point, internally handled as a perfect sphere */
640  sim_particle_roughspheres, /* 6 values per sphere. Only appearance is rough. Internally a perfect sphere */
641  sim_particle_spheres, /* 6 values per sphere. Internally a perfect sphere */
642 
643  /* following can be or-combined: */
644  sim_particle_respondable1to4 =0x0020, /* the particles are respondable against shapes (against all objects that have at least one bit 1-4 activated in the global respondable mask) */
645  sim_particle_respondable5to8 =0x0040, /* the particles are respondable against shapes (against all objects that have at least one bit 5-8 activated in the global respondable mask) */
646  sim_particle_particlerespondable =0x0080, /* the particles are respondable against each other */
647  sim_particle_ignoresgravity =0x0100, /* the particles ignore the effect of gravity. Not compatible with sim_particle_water */
648  sim_particle_invisible =0x0200, /* the particles are invisible */
649  sim_particle_itemsizes =0x0400, /* +1 value per particle (each particle can have a different size) */
650  sim_particle_itemdensities =0x0800, /* +1 value per particle (each particle can have a different density) */
651  sim_particle_itemcolors =0x1000, /* +3 values per particle (each particle can have a different color) */
652  sim_particle_cyclic =0x2000, /* if the max item count was reached, then the first items are overwritten. */
653  sim_particle_emissioncolor =0x4000, /* When used in combination with sim_particle_itemcolors, then the specified colors will be for the emissive component */
654  sim_particle_water =0x8000, /* the particles are water particles (no weight in the water (i.e. when z<0)). Not compatible with sim_particle_ignoresgravity */
655  sim_particle_painttag =0x10000 /* The particles can be seen by vision sensors (sim_particle_invisible must not be set) */
656 };
657 
658 enum { /* Boolean parameters: */
708 };
709 
710 enum { /* Integer parameters: */
711  sim_intparam_error_report_mode=0, /* Check sim_api_errormessage_... constants above for valid values */
712  sim_intparam_program_version, /* e.g Version 2.1.4 --> 20104. Can only be read. See also sim_intparam_program_revision */
713  sim_intparam_instance_count, /* do not use anymore (always returns 1 since V-REP 2.5.11) */
714  sim_intparam_custom_cmd_start_id, /* can only be read */
715  sim_intparam_compilation_version, /* 0=evaluation version, 1=full version, 2=player version. Can only be read */
717  sim_intparam_flymode_camera_handle, /* can only be read */
718  sim_intparam_dynamic_step_divider, /* can only be read */
719  sim_intparam_dynamic_engine, /* 0=Bullet, 1=ODE. 2=Vortex. 3=Newton. Can only be read */
720  sim_intparam_server_port_start, /* can only be read */
721  sim_intparam_server_port_range, /* can only be read */
725  sim_intparam_edit_mode_type, /* can only be read */
726  sim_intparam_server_port_next, /* is initialized at sim_intparam_server_port_start */
727  sim_intparam_qt_version, /* version of the used Qt framework */
728  sim_intparam_event_flags_read, /* can only be read */
729  sim_intparam_event_flags_read_clear, /* can only be read */
730  sim_intparam_platform, /* can only be read */
731  sim_intparam_scene_unique_id, /* can only be read */
733  sim_intparam_mouse_x, /* can only be read */
734  sim_intparam_mouse_y, /* can only be read */
735  sim_intparam_core_count, /* can only be read */
741  sim_intparam_program_revision, /* Can only be read. See also sim_intparam_program_version */
742  sim_intparam_mouse_buttons, /* can only be read */
745  sim_intparam_scene_index, /* can be used to switch to a different instance programmatically */
747  sim_intparam_speedmodifier, /* can only be used while simulation is not stopped */
749 };
750 
751 enum { /* uint64 parameters: */
752  sim_uint64param_simulation_time_step_ns=0, /* simulation time step in nanoseconds */
753  sim_uint64param_simulation_time_ns /* simulation time in nanoseconds */
754 };
755 
756 enum { /* Float parameters: */
757  sim_floatparam_rand=0, /* random value (0.0-1.0) */
761 };
762 
763 enum { /* String parameters: */
764  sim_stringparam_application_path=0, /* path of V-REP's executable */
765  sim_stringparam_video_filename, /* name + path without extension! */
766  sim_stringparam_app_arg1, /* specify those args with "vrep -gxxxx" */
775  sim_stringparam_additional_addonscript_firstscene, /* do not use. Can only be written. */
776  sim_stringparam_additional_addonscript, /* do not use. Can only be written. */
777  sim_stringparam_scene_path_and_name, /* can only be read */
778  sim_stringparam_scene_path, /* can only be read */
779  sim_stringparam_scene_name, /* can only be read */
781 };
782 
783 enum { /* Array parameters: */
791 };
792 
793 enum { /* UI properties: */
794  sim_gui_menubar =0x00001,
795  sim_gui_popups =0x00002,
799  sim_gui_infobar =0x00020,
803  sim_gui_dialogs =0x00200,
804  sim_gui_browser =0x00400,
805  sim_gui_all =0x0ffff,
807 };
808 
809 enum { /* Joint modes: */
816 };
817 
818 enum { /* Navigation and selection modes with the mouse. Lower byte values are mutually exclusive, upper byte bits can be combined */
833  /* Bit-combine following values and add them to one of above's values for a valid navigation mode: */
839  sim_navigation_camerarotaterightbutton =0x002000, /* deprecated */
841 };
842 
843 
844 enum { /* Reflexxes Motion Library flags */
845  /* enable one of following: */
849  simrml_no_sync =0x0003,
850 
851  /* enable one of following: */
854 
855  /* enable any: */
858 };
859 
860 enum { /* file dialog styles */
864 };
865 
866 enum { /* message box styles */
871 };
872 
873 enum { /* message box buttons */
878 };
879 
880 enum { /* message box return values */
886 };
887 
888 enum { /* physics engine */
893 };
894 
895 enum { /* pure primitives type */
904 };
905 
906 enum { /* dummy-dummy link types */
914 };
915 
916 enum { /* texture map modes (serialized) */
921 };
922 
923 enum { /* path planning types */
927 };
928 
929 enum { /* Holonomic path planning types */
939 };
940 
941 enum { /* resource lock types */
945 };
946 
947 enum { /* color components */
955 };
956 
957 enum { /* Pov pattern types */
1024 };
1025 
1026 
1027 enum { /* Object int/float/string parameters */
1028  /* scene objects */
1052 
1054 
1055  /* vision_sensors */
1074 
1075  /* joints */
1109 
1110  /* shapes */
1139 
1140  /* proximity sensors */
1142 
1143  /* proximity sensors */
1152 
1153  /* lights */
1155 
1156  /* cameras */
1165 
1166  /* dummies */
1168 
1169  /* mirrors */
1174 
1175  /* path planning */
1184 
1185  /* motion planning */
1189 };
1190 
1191 enum { /* stack table info */
1195 };
1196 
1197 enum { /* Physics engines params */
1198  /* Bullet */
1204 
1210 
1214 
1220 
1222  /* if you add something here, search for bji11032016 */
1224 
1226  /* if you add something here, search for bjb11032016 */
1228 
1238 
1242 
1249 
1250  /* ODE */
1257 
1262 
1267 
1275 
1277  /* if you add something here, search for oji11032016 */
1279 
1281  /* if you add something here, search for ojb11032016 */
1283 
1291 
1295 
1297  /* if you add something here, search for obb11032016 */
1299 
1300  /* Vortex */
1312 
1316 
1321 
1373 
1382 
1387 
1426 
1437 
1449 
1450  /* Newton */
1455 
1460 
1466 
1471 
1476 
1478  /* if you add something here, search for njb11032016 */
1480 
1488 
1492 
1496 };
1497 
1498 enum { /* Vortex friction models */
1506 };
1507 
1508 enum { /* Bullet constraint solver type */
1513 };
1514 
1515 enum {
1518 };
1519 
1520 enum {
1528 };
1529 
1530 enum {
1534 };
1535 
1536 /******************************************
1537 *******************************************
1538 Remote API constants:
1539 *******************************************
1540 *******************************************/
1541 
1542 #define SIMX_VERSION 11 /* max is 255!!! */
1543 /* version to 6 for release 3.1.2 */
1544 /* version to 7 for release 3.1.3 */
1545 /* version to 8 for release AFTER 3.1.3 */
1546 /* version to 10 for release AFTER 3.2.3. Added simxGetCollectionHandle and simxCallScriptFunction */
1547 /* version to 11 for release AFTER 3.3.0. Added uses stacks for data exchange with scripts */
1548 
1549 /*
1550 Messages sent/received look like this:
1551 -Message header (SIMX_HEADER_SIZE in size)
1552 -Command header 1 (SIMX_SUBHEADER_SIZE in size)
1553 -Command data 1
1554 -Pure data 1
1555 -Command header 2 (SIMX_SUBHEADER_SIZE in size)
1556 -Command data 2
1557 -Pure data 2
1558 - ...
1559 -Command header n (SIMX_SUBHEADER_SIZE in size)
1560 -Command data n
1561 -Pure data n
1562 */
1563 
1564 /* Remote API message header structure: */
1565 #define SIMX_HEADER_SIZE 18
1566 #define simx_headeroffset_crc 0 /* 1 simxUShort. Generated by the client or server. The CRC for the message */
1567 #define simx_headeroffset_version 2 /* 1 byte. Generated by the client or server. The version of the remote API software */
1568 #define simx_headeroffset_message_id 3 /* 1 simxInt. Generated by the client (and used in a reply by the server) */
1569 #define simx_headeroffset_client_time 7 /* 1 simxInt. Client time stamp generated by the client (and sent back by the server) */
1570 #define simx_headeroffset_server_time 11 /* 1 simxInt. Generated by the server when a reply is generated. The server timestamp */
1571 #define simx_headeroffset_scene_id 15 /* 1 simxUShort. Generated by the server. A unique ID identifying the scene currently displayed */
1572 #define simx_headeroffset_server_state 17 /* 1 byte. Generated by the server. Bit coded: 0 set --> simulation not stopped, 1 set --> simulation paused, 2 set --> real-time switch on, 3-5: edit mode type (0=no edit mode, 1=triangle, 2=vertex, 3=edge, 4=path, 5=UI) */
1573 
1574 /* Remote API command header: */
1575 #define SIMX_SUBHEADER_SIZE 26
1576 #define simx_cmdheaderoffset_mem_size 0 /* 1 simxInt. Generated by the client or server. The buffer size of the command. */
1577 #define simx_cmdheaderoffset_full_mem_size 4 /* 1 simxInt. Generated by the client or server. The full buffer size of the command (applies to split chunks). */
1578 #define simx_cmdheaderoffset_pdata_offset0 8 /* 1 simxUShort. Generated by the client or server. The amount of data that is part of the command identification. */
1579 #define simx_cmdheaderoffset_pdata_offset1 10 /* 1 simxInt. Generated by the client or server. The amount of shift of the pure data buffer (applies to split chunks). */
1580 #define simx_cmdheaderoffset_cmd 14 /* 1 simxInt. Generated by the client (and used in a reply by the server). The command, combined with the operation mode of the command. */
1581 #define simx_cmdheaderoffset_delay_or_split 18 /* 1 simxUShort. Generated by the client or server. The amount of delay in ms of a streaming command, or the max. pure data size to send at once (applies to split commands). */
1582 #define simx_cmdheaderoffset_sim_time 20 /* 1 simxInt. Generated by the server. The simulation time (in ms) when the command was executed (or 0 if simulation is not running) */
1583 #define simx_cmdheaderoffset_status 24 /* 1 byte. Generated by the server. (1: bit 0 is set --> error in function execution on server side). The client writes bit 1 if command cannot be overwritten*/
1584 #define simx_cmdheaderoffset_reserved 25 /* 1 byte. Not yet used */
1585 
1586 /* All command codes (followed by operation mode codes) */
1588  /* from here on, commands are only identified by their code */
1599 
1601 
1603  /* from here on, commands are also identified by additional 4 bytes */
1659 
1661 
1663  /* from here on, commands are also identified by additional 8 bytes */
1678 
1680 
1682  /* from here on, commands are also identified by one additional string */
1709 
1711  /* from here on, commands are also identified by 4 additional bytes and 2 additional strings */
1713 
1715 
1717 
1719 
1720  simx_cmdmask =0x00ffff,
1721 
1722  /* Regular operation modes */
1723  simx_opmode_oneshot =0x000000, /* sends command as one chunk. Reply will also come as one chunk. Doesn't wait for the reply. */
1724  simx_opmode_blocking =0x010000, /* sends command as one chunk. Reply will also come as one chunk. Waits for the reply (_REPLY_WAIT_TIMEOUT_IN_MS is the timeout). */
1725  simx_opmode_oneshot_wait =0x010000, /* same as simx_opmode_blocking */
1726  simx_opmode_streaming =0x020000, /* sends command as one chunk. Command will be stored on the server and always executed (every x ms (as far as possible), where x can be 0-65535. just add x to simx_opmode_streaming). A reply will be sent continuously, each time as one chunk. Doesn't wait for the reply. */
1727  simx_opmode_continuous =0x020000, /* same as simx_opmode_streaming */
1728 
1729  /* Operation modes for heavy data */
1730  simx_opmode_oneshot_split =0x030000, /* sends command as several chunks (max chunk size is x bytes, where x can be _MIN_SPLIT_AMOUNT_IN_BYTES-65535. Just add x to simx_opmode_oneshot_split). Reply will also come as several chunks. Doesn't wait for the reply. */
1731  simx_opmode_streaming_split =0x040000, /* sends command as several chunks (max chunk size is x bytes, where x can be _MIN_SPLIT_AMOUNT_IN_BYTES-65535. Just add x to simx_opmode_streaming_split). Command will be stored on the server and always executed. A reply will be sent continuously, each time as several chunks. Doesn't wait for the reply. */
1732  simx_opmode_continuous_split =0x040000, /* same as simx_opmode_streaming_split */
1733 
1734  /* Special operation modes */
1735  simx_opmode_discontinue =0x050000, /* removes and cancels all commands of the given type stored on the client or server side (also streaming commands) */
1736  simx_opmode_buffer =0x060000, /* doesn't send anything, but checks if a reply for the given command is available in the input buffer (i.e. previously received from the server) */
1737  simx_opmode_remove =0x070000 /* doesn't send anything and doesn't return any specific value. It just erases a similar command reply in the inbox (to free some memory) */
1738 };
1739 
1740 /* Command return codes (bit-coded) */
1741 enum { simx_return_ok =0x000000,
1742  simx_return_novalue_flag =0x000001, /* input buffer doesn't contain the specified command. Maybe you forgot to enable data streaming, or streaming hasn't started yet */
1743  simx_return_timeout_flag =0x000002, /* command reply not received in time for simx_opmode_blocking operation mode */
1744  simx_return_illegal_opmode_flag =0x000004, /* command doesn't support the specified operation mode */
1745  simx_return_remote_error_flag =0x000008, /* command caused an error on the server side */
1746  simx_return_split_progress_flag =0x000010, /* previous similar command not yet fully processed (applies to simx_opmode_oneshot_split operation modes) */
1747  simx_return_local_error_flag =0x000020, /* command caused an error on the client side */
1748  simx_return_initialize_error_flag =0x000040 /* simxStart was not yet called */
1749 };
1750 
1751 /* Following only for backward compatibility, but equivalent to above return values */
1752 enum { simx_error_noerror =0x000000,
1760 };
1761 
1762 
1763 /******************************************
1764 *******************************************
1765 ROS API constants:
1766 *******************************************
1767 *******************************************/
1768 
1769 
1770 /* All stream command codes (followed by operation mode codes) */
1772 
1773  /* from here on, commands are only identified by their code */
1775  simros_strmcmd_get_info, // do not use. Is streamed anyway with topic name "info"
1776 
1781 
1782 
1784  /* from here on, commands are also identified by 1 additional int */
1807 
1821 
1822 
1824  /* from here on, commands are also identified by 2 additional ints */
1832 
1842 
1843 
1845  /* from here on, commands are also identified by one additional string */
1851 
1862 
1864  /* from here on, commands are also identified by one additional int and one additional string */
1867 
1870 
1871 
1873 };
1874 
1875 #endif /* !defined(V_REPCONST_INCLUDED_) */