EASY-ROB™ Application Programming Interface  v8.008
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ER_CAPI.H
Go to the documentation of this file.
1 /*
2  EASY-ROB Development V8.301
3 
4  EASY-ROB Software GmbH
5 
6  Copyright (c) 1996 - 2020
7 
8  modul: er_capi.h
9 
10  Last modification: SEP 2020
11 
12  Important changes:
13 */
14 #ifndef ER_CAPI_INCLUDE
15 #define ER_CAPI_INCLUDE
16 
17 #ifndef EXPORT_C
18 #define EXPORT_C extern "C" __declspec( dllexport )
19 #endif
20 
21 // Forward Declarations
22 class ER_CAPI;
23 
24 class ER_CAPI_USER_IO;
30 
31 class ER_CAPI_DEVICES;
32 class ER_CAPI_ROB;
33 class ER_CAPI_ROB_KIN;
35 class ER_CAPI_ROB_DYN;
36 class ER_CAPI_MOP;
37 class ER_CAPI_MOP_DATA;
38 class ER_CAPI_MOP_PATH;
39 class ER_CAPI_MOP_PREP;
40 class ER_CAPI_MOP_EXEC;
42 
43 class ER_CAPI_SIM;
46 class ER_CAPI_SIM_CAMERA;
47 class ER_CAPI_SIM_ERPL;
48 class ER_CAPI_SIM_TRACK;
49 
50 class ER_CAPI_TARGETS;
53 
54 class ER_CAPI_CAD;
55 class ER_CAPI_CAD_IO;
56 class ER_CAPI_CAD_CREATE;
57 class ER_CAPI_CAD_IMPORT;
59 
60 class ER_CAPI_SYS;
63 class ER_CAPI_SYS_VIEW;
65 class ER_CAPI_SYS_STATUS;
66 class ER_CAPI_SYS_UNITS;
68 class ER_CAPI_SYS_APIDLL;
69 
70 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI
72 // class ER_CAPI
74 
77 class ER_CAPI
78 {
79 public:
80 
84 
88 
92 
96 
100 
104 };
105 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_USER_IO
107 // class ER_CAPI_USER_IO
109 
112 class ER_CAPI_USER_IO : public ER_CAPI
113 {
114 public:
115 
119 
123 
127 
131 
135 
136 };
138 // class ER_CAPI_USER_IO_FILE
140 
144 {
145 public:
146 
152  static ER_DllExport int LoadCell(); // open dialog to load .cel file
153 
159  static ER_DllExport int LoadRobot(void); // open dialog to load a .rob file
160 
166  static ER_DllExport int LoadRobotAsm(void); // open dialog to load a .ras file
167 
173  static ER_DllExport int LoadTool(void); // open dialog to load a .tol file
174 
180  static ER_DllExport int LoadProgram(void); // open dialog to load a .prg file
181 
188  static ER_DllExport int LoadProgramFile(char *prg_fln); // prg_fln: program file name, if NULL cFile will be unloaded
189 
195  static ER_DllExport int LoadMimic(void); // open dialog to load a .mmc file
196 
203  static ER_DllExport int LoadMimicFile(char *mimic_file); // mimic_file: mimic file name, if NULL cFile will be unloaded
204 
210  static ER_DllExport int LoadCamera(void); // open dialog to load a .cam file
211 
217  static ER_DllExport int LoadAuto(char *fln); // load file depending on file extension, ret 0-OK
218 
224  static ER_DllExport int SaveCell(void); // open dialog to save .cel file
225 
239  static ER_DllExport int SaveCell_ext(char *new_cel_fln=NULL,int confirm_overwrite=1,int reset_pos=0,int save_pos=1); // save cell file by fln
240 
246  static ER_DllExport int SaveRobot(void); // open dialog to save .rob file
247 
257  static ER_DllExport int SaveRobot_ext(char *new_rob_fln=NULL,int confirm_overwrite=1); // save robot file by fln
258 
264  static ER_DllExport int SaveRobotAsm(void); // open dialog to save .ras file
265 
275  static ER_DllExport int SaveRobotAsm_ext(char *new_ras_fln=NULL,int confirm_overwrite=1); // save robot assembly file by fln
276 
282  static ER_DllExport int SaveTool(void); // open dialog to save .tol file
283 
293  static ER_DllExport int SaveTool_ext(char *new_tol_fln=NULL,int confirm_overwrite=1); // save tool file by fln
294 
300  static ER_DllExport int SavePath(void); // open dialog to save .tag file
301 
311  static ER_DllExport int SavePath_ext(char *new_pth_fln=NULL,int confirm_overwrite=1); // save Tag file by fln
312 
318  static ER_DllExport int SavePathes(void); // open dialog to save .tag file containing all pathes
319 
329  static ER_DllExport int SavePathes_ext(char *new_pth_fln=NULL,int confirm_overwrite=1); // save Tag file by fln containing all pathes
330 
369  static ER_DllExport int CreateRobotTemplate(char *rob_path_fln, char *rob_name, int cad_type, char *cad_fln, char *cad_name, frame *refpos, frame *pos, float *xyz_scale, bool overwrite=true);
370 
389  static ER_DllExport int CreateRobotTemplate_ext(char *rob_path_fln, char *rob_name, int cad_type, int n_cad_names, char **cad_fln_names, char **cad_names, frame *refpos, frame *pos, float *xyz_scale, bool overwrite=true);
390 };
392 // class ER_CAPI_USER_IO_DIALOG
394 
398 {
399 public:
400  // return code for below dialog_* functions: 1 OK, -1 Cancel
401 
408  static ER_DllExport int dialog_save_file(char *fln,char *dialog_title); // open dialog, to enter or select a file to save
409 
416  static ER_DllExport int dialog_get_file (char *fln, char *dialog_title); // open dialog, to select an existing file
417 
438  static ER_DllExport int dialog_get_file_ext(char *path,char *file,char *dialog_title); // open dialog, to select an existing file
439 
448  static ER_DllExport int dialog_edit_file (char *fln);
449 
457  static ER_DllExport int dialog_start_device_manager(char *fln=NULL); // Start Device Manager to load a file
458 
497  static ER_DllExport int dialog_select (char *title,int n,int n_strt,char **ww,int dlg_mode=INPUT_LINE_SELECT_DEFAULT); // open selection dialog
498 
525  static ER_DllExport int dialog_checkbox (char *title,int n,char **ww,int* iv,char** ww_on=NULL, char** ww_off=NULL); // open checkbox dialog
526 
559  static ER_DllExport int dialog_values (char *title,int n,char **ww,float *v,float *vmin,float *vmax); // open enter value dialog
560 
571  static ER_DllExport int dialog_string (char *title,int n,char **ww,char **v,int len); // open enter string dialog
572 
584  static ER_DllExport int dialog_string_single (char *title,char *header,char *footer,char *v,int len,int pw=0);
585 
594  static ER_DllExport int dialog_frame (char *title,frame *T); // open frame dialog
595 
645  static ER_DllExport int dialog_frame_ex (char *title,frame *T,int grfupdate,void (*callback_fct)(void *vptr),void *vptr); // open frame dialog
646 
652  static ER_DllExport int dialog_yes_no (char *title); // open Yes/No dialog, 1-Yes, 0-No
653 
667  static ER_DllExport int dialog_color (char *title,int *color_idx); // open Yes/No dialog, 1-Yes, 0-No
668 
700  static ER_DllExport int dialog_open(int dialog_idx,int dlg_mode); // Open EASY-ROB non Modal Dialogs; Return 0-close, 1-open, -1-fail
701 
736  static ER_DllExport int dialog_open_ext(int dialog_idx,int dlg_mode,int param=0,int chk_ext=-1); // Open EASY-ROB non Modal Dialogs; Return 0-close, 1-open, -1-fail
737 
742  static ER_DllExport int moni_msg( char *fmt, ... );
743 
748  static ER_DllExport void moni_T (char *s,frame *T);
749 
756  static ER_DllExport void moni_v (char *s,float *v,int n,float scal);
757 
764  static ER_DllExport void moni_lv (char *s,double *v,int n,float scal);
765 
771  static ER_DllExport void moni_i (char *s,int *v,int n);
772 
778  static ER_DllExport void moni_s (char *s,short *v,int n);
779 
783  static ER_DllExport void ErrorExitBox(char *s);
784 
788  static ER_DllExport void MsgBox(char *s);
789 
806  static ER_DllExport int AfxMessageBox(char *s,unsigned int nType=MB_ICONSTOP);
807 
816  static ER_DllExport void _info_line (int mode,char *s);
817 
824  static ER_DllExport int _info_line_msg(int moni, char *fmt, ... ); // Output into Message Window, same as printf(...)
825 
835  static ER_DllExport int _info_line_msg_i(int moni, char *s, int *vi,int n,int scal); // Vector output into Message Window
836 
846  static ER_DllExport int _info_line_msg_v(int moni, char *s, float *v,int n,float scal); // Vector output into Message Window
847 
857  static ER_DllExport int _info_line_msg_lv(int moni, char *s, double *v,int n,double scal); // Vector output into Message Window
858 
869  static ER_DllExport int _info_line_msg_M(int moni, char *s, float *M,int n,int m,float scal=1); // float Matrix (nxm) output into Message Window
870 
881  static ER_DllExport int _info_line_msg_lM(int moni, char *s, double *M,int n,int m,double scal=1); // double Matrix (nxm) output into Message Window
882 
890  static ER_DllExport int _info_line_msg_T(int moni, char *s, frame *T); // Frame output into Message Window
891 
899  static ER_DllExport int _info_line_msg_T_vec(int moni, char *s, frame *T); // Frame output into Message Window as Vector Pxyz, Rxyz
900 
912  static ER_DllExport int _info_line_msg_q(int moni, char *s, float *q, int no_auto_scal=0); // Vector output into Message Window, for each joint of current robot, scaled by DEG or 1000
913 };
915 // class ER_CAPI_USER_IO_PICK
917 
921 {
922 public:
923  // Settings for Navigator Window
924 
928  static ER_DllExport int PickCruise(void); // 0-MP_INVALID
929 
936  static ER_DllExport int PickBody(void); // 1-MP_SEL_BODY
937 
944  static ER_DllExport int PickTag(void); // 1-MP_SEL_BODY
945 
952  static ER_DllExport int PickRobot(void); // 1-MP_SEL_BODY
953 
960  static ER_DllExport int PickPolyCenter(void); // 2-MP_POINT
961 
972  static ER_DllExport int PickSnapDeviceTo(int SnapToMode=0); // 2-MP_POINT, SnapToMode: 0-polygon, 1-vertices
973 
984  static ER_DllExport int PickSnapToolTo(int SnapToMode=0); // 2-MP_POINT, SnapToMode: 0-polygon, 1-vertices
985 
996  static ER_DllExport int PickSnapTagTo(int SnapToMode=0); // 2-MP_POINT, SnapToMode: 0-polygon, 1-vertices
997 
1008  static ER_DllExport int PickSnapBodyTo(int SnapToMode=0); // 2-MP_POINT, SnapToMode: 0-polygon, 1-vertices
1009 
1016  static ER_DllExport int PickPoint(void); // 2-MP_POINT
1017 
1028  static ER_DllExport int PickDistancePolyCenter(int hold_first_point=0); // 3-MP_DISTANCE
1029 
1040  static ER_DllExport int PickDistancePoint(int hold_first_point=0); // 3-MP_DISTANCE
1041 
1052  static ER_DllExport int PickDistanceDeviceMeasure(int hold_first_point=0); // 4-MP_DISTANCE_DEVICE
1053 
1064  static ER_DllExport int PickDistanceTagMeasure(int hold_first_point=0); // 4-MP_DISTANCE_DEVICE
1065 
1080  static ER_DllExport int Pick3PointCircleMeasure(int vertices=1,int second_circle_measure=0); // 5-MP_CIRCLE_CENTER
1081 
1082  // Get settings in Navigator Window
1083 
1096  static ER_DllExport int Get_cPickMode(void); // Return 0-MP_INVALID , 1-MP_SEL_BODY , 2-MP_POINT , 3-MP_DISTANCE, 4-MP_DISTANCE_DEVICE , 5-MP_CIRCLE_CENTER
1097 
1104  static ER_DllExport int Get_cPickMode_Chk_1(void); // Return current Chk_1 box status
1105 
1112  static ER_DllExport int Get_cPickMode_Chk_2(void); // Return current Chk_2 box status
1113 
1114  // Get picking results
1115 
1235  static ER_DllExport int Get_cPickedItem(void); // Return picked item MP_HIT_INVALID ... MP_HIT_CADPREVIEW, MP_HIT_MEASURE
1236 
1256  static ER_DllExport float *Get_cPickResults(int result_idx); // Return xyz position or vector component of picked item, choose result_idx = PICK_RESULT_DEFAULT ...PICK_RESULT_DISTANCE
1257 };
1259 // class ER_CAPI_USER_IO_CRUISE
1261 
1265 {
1266 public:
1267 
1271  static ER_DllExport int CruiseWorld(void); // Cruise World about World Coorsys
1272 
1276  static ER_DllExport int CruiseRobotBase(void); // Cruise World about Robot Base
1277 
1282  static ER_DllExport int CruiseRobotTcp(int robot_tcp_idx); // Cruise World about Robot Tcp
1283 
1287  static ER_DllExport int CruisecBody(void); // Cruise World about cBody
1288 
1292  static ER_DllExport int CruisePickedPoint(void); // Cruise World about Picked Point
1293 
1297  static ER_DllExport int CruiseAuto(void); // Cruise World about middle of screen
1298 
1308  static ER_DllExport int CruiseRotView(int pitch,int yaw,int roll=0); // Cruise 3D Scene about COI by Pitch=lateral axis, Yaw=vertical axis, Roll=longitudinal axis value
1309 
1317  static ER_DllExport int CruisePanView(int dlr,int dud); // Pan 3D Scene by dlr-delta left rigth, dud-delta up down
1318 
1324  static ER_DllExport int CruiseZoomView(int dzoom); // Zoom 3D Scene dzoom-zoom in or out
1325 
1346  static ER_DllExport int Set_MouseMode(int mouse_mode); // set new mouse mode, return old mouse mode
1347 
1367  static ER_DllExport int Get_MouseMode(void); // return current mouse mode
1368 
1372  static ER_DllExport float *inq_cruise_coi_pos(void); // COI Center Of Interest w.r.t. WORLD Origin
1373 
1381  static ER_DllExport float *inq_CruiseStep(int rot=0,int reset=0); // rot: 0-translation cruise step, 1-rotation cruise step; init: 1-reset data
1382 
1390  static ER_DllExport float *inq_TeachStep(int rot=0,int reset=0); // rot: 0-translation teach step, 1-rotation teach step; init: 1-reset data
1391 
1400  static ER_DllExport int zoom_cTag(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom cTag
1401 
1410  static ER_DllExport int zoom_cBody(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom cBody
1411 
1420  static ER_DllExport int zoom_cBase(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom cRobot Base
1421 
1430  static ER_DllExport int zoom_cTcp(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom cRobot Tcp
1431 
1440  static ER_DllExport int zoom_cRobot(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom cRobot
1441 
1450  static ER_DllExport int zoom_World(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom World
1451 
1460  static ER_DllExport int zoom_CadPreview(int zoom_flag=ZOOM_FLAG_DEFAULT);// zoom CAD Preview
1461 
1470  static ER_DllExport int zoom_COI(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom Center Of Interest
1471 
1480  static ER_DllExport int initialize_view(int zoom_flag=ZOOM_FLAG_DEFAULT); // initialize View
1481 
1490  static ER_DllExport int reset_view(int zoom_flag=ZOOM_FLAG_DEFAULT); // reset view to loading state
1491 
1495  static ER_DllExport int *inq_cSimView(void); // Return current simulation "View" number [0..NUM_SIM_VIEWS-1]
1496 
1504  static ER_DllExport frame *GetRotView(int rot_view_type); // Return the rotation "View" transformation based on "rot_view_type"
1505 };
1507 // class ER_CAPI_USER_IO_3DPDF
1509 
1513 {
1514 public:
1518  static ER_DllExport char *U3DPdf_ExportVer(void);
1519 
1814  static ER_DllExport int U3DPdf_ExportAPI(int pdf_flag, char *s=NULL);
1815 
1842  static ER_DllExport int U3DPdf_ExportAPI_SetCallbackMsg(int callback_fct_id, void (*ptr_MsgFct)(char *));
1843 
1887  static ER_DllExport int U3DPdf_ExportAPI_SetCallbackSaveStatus(void (*ptr_SaveStatusFct)(int));
1888 
1914  static ER_DllExport int U3DPdf_ExportAPI_SetCallbackProgress(void (*ptr_ProgressFct)(double));
1915 
1942  static ER_DllExport int U3DPdf_ExportAPI_SetCallbackProgressExportU3DScene(void (*ptr_ProgressFctExportU3DScene)(double));
1943 
1970  static ER_DllExport int U3DPdf_ExportAPI_SetCallbackProgressGenerate3DPdf(void (*ptr_ProgressFctGenerate3DPdf)(double));
1971 
1972 };
1973 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_DEVICES
1975 // class ER_CAPI_DEVICES
1976 //
1980 class ER_CAPI_DEVICES : public ER_CAPI
1981 {
1982 public:
1983 
1987 
1991 public:
1992 
1997  static ER_DllExport int data_update_all_devices(void); // forces mathematical update for all devices, use before calling chk_limits(AUX_UPDATE_IDX_COLLISION)
1998 
2002  static ER_DllExport int inq_Get_n_devices(void); // get number of current loaded robots in a workcell
2003 
2007  static ER_DllExport int inq_Get_c_device_idx(void); // get current device idx [1..n_devices]
2008 
2012  static ER_DllExport ER_UID inq_Get_c_device_uid(void); // get current device unique id
2013 
2019  static ER_DllExport int inq_Set_device_idx(int device_idx); // set current device idx [1..n_devices], Return: 0-OK, 1-Error
2020 
2026  static ER_DllExport int inq_Set_device_uid(ER_UID device_uid); // set current device unique id, Return: 0-OK, 1-Error
2027 
2035  static ER_DllExport int inq_Set_device_name(char *device_name); // set current device by name of the robot, Return: 0-OK, 1-Error
2036 
2043  static ER_DllExport int inq_Get_device_idx_by_uid(ER_UID uid); // get device idx by device unique id, if uid is not valid, -1 is returned
2044 
2051  static ER_DllExport ER_UID inq_Get_device_uid_by_idx(int idx); // get device unique uid by device idx, if idx is not valid, -1 is returned
2052 
2059  static ER_DllExport char *inq_Get_device_name_by_uid(ER_UID uid); // get device name by device unique id, if uid is not valid, NULL is returned
2060 
2067  static ER_DllExport char *inq_Get_device_name_by_idx(int idx); // get device name by device idx [1..n_devices], if idx is not valid, NULL is returned
2068 
2075  static ER_DllExport int inq_Get_device_idx_by_name(char *device_name); // get device idx by device name, if 'device name' is not valid, -1 is returned
2076 
2083  static ER_DllExport ER_UID inq_Get_device_uid_by_name(char *device_name); // get device unique uid by device name, if 'device name' is not valid, -1 is returned
2084 
2085  // Attached to
2086 
2092  static ER_DllExport int *inq_device_ref_sys_type(void); // reference type: REF_BASE=2, REF_TOOL=3, REF_WORLD=4, REF_CAD=7, REF_TIP=8, REF_JNT=9, REF_GRAB=10
2093 
2100  static ER_DllExport char *inq_device_ref_sys_type_name(void); // the name of reference type
2101 
2109  static ER_DllExport int *inq_device_ref_sys_grp(void); // UNDEF_GRP=-1,ROBOT_GRP=0, TOOL_GRP=1, BODY_GRP=2
2110 
2116  static ER_DllExport ER_UID *inq_device_ref_sys_grp_uid(void); // unique ID of reference device/robot
2117 
2126  static ER_DllExport char *inq_device_ref_sys_name(void); // if reference type==REF_CAD, the name of the reference body is returned, else type_name()
2127 
2135  static ER_DllExport int *inq_device_ref_sys_jnt_idx(void); // if reference type==REF_JNT, the number of reference joint (for passive joints <0) is returned, else 0.
2136 
2137  // Reattaches current device by idx, name, uid
2138  // new_reference_type new referecne type
2139  // REF_BASE=2, REF_TOOL=3, REF_WORLD=4, REF_CAD=7, REF_TIP=8, REF_JNT=9, REF_GRAB=10
2140  // new_reference_device_name get reference device by name
2141  // new_reference_device_idx get reference device by idx [1..n_devices]
2142  // new_reference_device_uid get reference device by uid
2143  // new_reference_jnt_idx reference joint idx if new_reference_type is REF_JNT
2144  // keep_world_position True will keep the world position of device perk
2145  //
2146  // Return: 0-OK, 1-Error
2147 
2153  static ER_DllExport int Device_Create(char *robot_name); // create a new device with one rotational axis in z direction
2154 
2179  static ER_DllExport int Device_ReAttach_by_name(int new_reference_type,char *new_reference_device_name,int new_reference_jnt_idx,bool keep_world_position);
2180 
2222  static ER_DllExport int Device_ReAttach_by_idx (int new_reference_type,int new_reference_device_idx, int new_reference_jnt_idx,bool keep_world_position);
2223 
2248  static ER_DllExport int Device_ReAttach_by_uid (int new_reference_type,ER_UID new_reference_device_uid, int new_reference_jnt_idx,bool keep_world_position);
2249 
2260  static ER_DllExport int Tool_Device_by_name (char *tool_device_name); // set tool data to the device specified by name, if 'tool_device name' is not valid, 1 is returned
2261 
2272  static ER_DllExport int Tool_Device_by_idx (int tool_device_idx); // set tool data to the device specified by idx, if 'tool_device_idx' is not valid, 1 is returned
2273 
2284  static ER_DllExport int Tool_Device_by_uid (ER_UID tool_device_uid); // set tool data to the device specified by uid, if 'tool_device_uid' is not valid, 1 is returned
2285 
2286  // Device Link
2287 
2295  static ER_DllExport int *inq_device_link_ref_sys_type(void); // REF_NO_REF=0 or REF_JNT=9
2296 
2300  static ER_DllExport int *inq_device_sync_ref_sys_type(void); // obsolete, use inq_device_link_ref_sys_type()
2301 
2309  static ER_DllExport char *inq_device_link_ref_sys_type_name(void); // name of the reference is returned
2310 
2314  static ER_DllExport char *inq_device_sync_ref_sys_type_name(void); // obsolete, use inq_device_link_ref_sys_type_name()
2315 
2321  static ER_DllExport ER_UID *inq_device_link_ref_sys_grp_uid(void); // unique ID of reference device/robot
2322 
2327  static ER_DllExport ER_UID *inq_device_sync_ref_sys_grp_uid(void); // obsolete, use inq_device_link_ref_sys_grp_uid()
2328 
2338  static ER_DllExport int *inq_device_link_ref_sys_jnt_link_idx(void); // jnt_link_idx for each active Jnt, when REF_JNT and valid unique ID
2339 
2343  static ER_DllExport int *inq_device_sync_ref_sys_jnt_sync_idx(void); // obsolete, use inq_device_link_ref_sys_jnt_link_idx()
2344 
2356  static ER_DllExport int Device_Link_by_name(int new_reference_type,char *new_reference_device_name=NULL,int *new_reference_jnt_link_idx=NULL);
2364  static ER_DllExport int Device_Sync_by_name(int new_reference_type,char *new_reference_device_name=NULL,int *new_reference_jnt_link_idx=NULL);
2365 
2377  static ER_DllExport int Device_Link_by_idx (int new_reference_type,int new_reference_device_idx=0, int *new_reference_jnt_link_idx=NULL);
2385  static ER_DllExport int Device_Sync_by_idx (int new_reference_type,int new_reference_device_idx=0, int *new_reference_jnt_link_idx=NULL);
2386 
2398  static ER_DllExport int Device_Link_by_uid (int new_reference_type,ER_UID new_reference_device_uid=0, int *new_reference_jnt_link_idx=NULL);
2406  static ER_DllExport int Device_Sync_by_uid (int new_reference_type,ER_UID new_reference_device_uid=0, int *new_reference_jnt_link_idx=NULL);
2407 };
2408 
2410 // class ER_CAPI_ROB
2411 //
2416 {
2417 public:
2418 
2422 
2426 
2430 };
2432 // class ER_CAPI_ROB_KIN
2433 //
2439 {
2440 public:
2448  static ER_DllExport int rob_kin_joint_trans(int joint_dof); // 1 - joint is translational, 0 - joint rotational
2449 
2457  static ER_DllExport int rob_kin_joint_rot(int joint_dof); // 1 - joint is rotational, 0 - joint translational
2458 
2463  static ER_DllExport float rob_kin_to_DEG(int joint_dof); // return DEG if joint is rotational, else 1
2464 
2469  static ER_DllExport float rob_kin_to_RAD(int joint_dof); // return RAD if joint is rotational, else 1
2470 
2474  static ER_DllExport frame * inq_bTt(void); // Robot Base to Tip (flange)
2475 
2479  static ER_DllExport frame * inq_bT0(void); // Robot Base to first joint of kin. chain
2480 
2484  static ER_DllExport int * inq_num_tool(void); // number of tools [1..KIN_TOOLS]
2485 
2489  static ER_DllExport int * inq_ctool_idx(void); // get current tool idx [0..KIN_TOOLS-1]
2490 
2494  static ER_DllExport frame *inq_tTw(void); // Tool frame: Robot Tip to TCP
2495 
2499  static ER_DllExport frame *inq_tTw_strt(void); // start condition, Tool frame: Robot Tip to TCP
2500 
2505  static ER_DllExport frame *inq_tTw_data_idx(int ctool_idx); // tool data for ctool_idx
2506 
2511  static ER_DllExport frame *inq_tTw_data_strt_idx(int ctool_no); // start condition, tool data for ctool_idx
2512 
2516  static ER_DllExport char * inq_tool_name(void); // get current tool name
2517 
2522  static ER_DllExport char * inq_tool_name_idx(int ctool_idx); // get tool name by tool idx
2523 
2527  static ER_DllExport float *inq_q_solut(void); // Desired active joint axis values
2528 
2532  static ER_DllExport float *inq_q_strtpos(void); // Start joint axis location
2533 
2537  static ER_DllExport float *inq_v_solut(void); // desired joint speed values
2538 
2542  static ER_DllExport float *inq_a_solut(void); // desired joint accel values
2543 
2547  static ER_DllExport frame *inq_bTw(void); // Robot Base to TCP
2548 
2553  static ER_DllExport frame *inq_iTi_ref(void); // world to attach position of robot
2554 
2559  static ER_DllExport frame *inq_iTb(void); // Attach position (reference position) to robot base
2560 
2564  static ER_DllExport frame *inq_iTb_strt(void); // Start frame: world to robot base
2565 
2566  // external TCP
2567 
2573  static ER_DllExport int *inq_ext_Tcp_idx(void); // enable/disable external Tcp for cRobot
2574 
2578  static ER_DllExport frame *inq_ext_Tcp(void); // Transformation of external Tcp w.r.t. world coorsys
2579 
2583  static ER_DllExport frame *inq_ext_Tcp_base(void); // Transformation of external Tcp w.r.t. robot base
2584 
2585  // program shift
2586 
2593  static ER_DllExport frame *inq_bBase(void); // program shift w.r.t. robot base
2594 
2601  static ER_DllExport frame *inq_iBase(void); // program shift w.r.t. world coorsys
2602 
2603  // moveable base
2604 
2610  static ER_DllExport int *inq_move_base(void); // moveable base mode, 0-Robot base fix (default), 1-Robot base is moveable
2611 
2616  static ER_DllExport int *inq_move_base_jnt(void); // 0-fix base, passive joint idx representing the moveable base
2617 
2621  static ER_DllExport char *inq_move_base_name(void); // name for moveable base
2622 
2626  static ER_DllExport frame *inq_pjntTmb(void); // passive joint to moveable base
2627 
2631  static ER_DllExport frame **inq_pjntTmb_ref(void); //
2632 
2636  static ER_DllExport frame *inq_bTmb(void); // robot base to moveable base
2637 
2641  static ER_DllExport frame **inq_bTpjnt_ref(void); // robot base to pjnt coorsys aus 'B' und ax_idx ermittelt
2642 
2646  static ER_DllExport frame *inq_mbTt(void); // moveable base to Tip
2647 
2651  static ER_DllExport frame *inq_mbTw(void); // moveable base to TCP
2652 
2658  static ER_DllExport void rob_kin_set_warnings(int warn); //
2659 
2663  static ER_DllExport void rob_kin_user_msg(char *s); //
2664 
2683  static ER_DllExport int rob_kin_vortrans(frame *bTt); //
2684 
2715  static ER_DllExport int rob_kin_vortrans_q(float *qn,frame *bTt,frame *mbTt,int n_dofs); //
2716 
2754  static ER_DllExport int rob_kin_jacobian_q(float *qn, frame *tTw, float *jac, int n_dofs, float delta_scale=1);
2755 
2759  static ER_DllExport int *inq_fwd_kin_reason(void); // reason for calculation the forward kinematics, return FWD_REASON_UNKNOWN ... FWD_REASON_CAD_EXPORT
2760 
2765  static ER_DllExport int rob_kin_q_in_travel_range (float *q); // Transform revolute joints into valid travel range
2766 
2772  static ER_DllExport int rob_kin_chk_travel_range (float *q); // 0-OK 1-SWE_EXCEEDED
2773 
2777  static ER_DllExport int *inq_invkin (void); // inverse kinematics ID for cRobot
2778 
2782  static ER_DllExport int *inq_invkin_sub (void); // inverse kinematics Sub-ID for cRobot
2783 
2794  static ER_DllExport int rob_kin_inv (frame *bTt); // calculate inverse kinematics solution bTt - Robot Base to Tip (Flange), Results in inq_q_solut()
2795 
2939  static ER_DllExport int rob_kin_inv_ext (frame *bTw, float *q_solut, int shortest_angle); // calculate inverse kinematics solution bTw - Robot Base to Wrist (TCP), Results in *q_solut
2940 
2944  static ER_DllExport char *inq_kin_user_data_file (void); // kinematics data file for user kinematics
2945 
2952  static ER_DllExport double *inq_achs_length(void); // z
2953 
2960  static ER_DllExport double *inq_achs_offsets1(void); // x
2961 
2968  static ER_DllExport double *inq_achs_offsets2(void); // y
2969 
2976  static ER_DllExport double *inq_achs_rotx(void); // Rx
2977 
2984  static ER_DllExport double *inq_achs_roty(void); // Ry
2985 
2990  static ER_DllExport double *inq_achs_rotz(void); // Rz
2991 
3005  static ER_DllExport frame *inq_achs_T_activ(void); // = vec_to_frame (inq_achs_...(),T) to next
3006 
3020  static ER_DllExport frame *inq_achs_T0_activ(void); // active joint from last
3021 
3037  static ER_DllExport frame *inq_kin_T_active(int active_jnt_no); // Robot base to active Joint coorsys #i=(0..)
3038 
3043  static ER_DllExport int *inq_num_kin_user_data(void); // Number of Sets of Kin User Data
3044 
3050  static ER_DllExport char **inq_kin_user_data_name(int idx=0); // Special User Data Names
3051 
3057  static ER_DllExport float *inq_kin_user_data(int idx=0); // Special kinematics User Data
3058 
3062  static ER_DllExport double * inq_sing_tol(void);
3063 
3067  static ER_DllExport double * inq_sing_tolx(void);
3068 
3072  static ER_DllExport double * inq_sing_tolq(void);
3073 
3077  static ER_DllExport double * inq_joint_offset(void);
3078 
3114  static ER_DllExport float * inq_q(int soln);
3115 
3121  static ER_DllExport int * inq_warnings(void);
3122 
3128  static ER_DllExport int *inq_active_jnt_sign(void); // sign for active joints
3129 
3134  static ER_DllExport int inq_num_active_jnts(void); // number of active joints
3135 
3140  static ER_DllExport int inq_num_passive_jnts(void); // number of passive joints
3141 
3145  static ER_DllExport float *inq_q_solut_passive(void); // desired passive joint axis values
3146 
3150  static ER_DllExport float *inq_swe_min_passive(void); // min travel ranges for passive joints
3151 
3155  static ER_DllExport float *inq_swe_max_passive(void); // max travel ranges for passive joints
3156 
3161  static ER_DllExport int inq_num_configs(void); // number of robot configurations
3162 
3167  static ER_DllExport int inq_config(void); // return current robot configuration
3168 
3173  static ER_DllExport int * inq_config_ext(void); // return address of current robot configuration
3174 
3196  static ER_DllExport int * inq_cnfg_soln(void); // return robot configuration solutions
3197 
3202  static ER_DllExport int * inq_turn_enable(void); // default=false, set automatically true if PTP && PTP_TARGET_CALC_MODE_TURNS
3203 
3208  static ER_DllExport int * inq_turn_value(void); // Index for Turn Range, default=0
3209 
3217  static ER_DllExport int calc_TurnValue(float *q=NULL, int *turn_value=NULL); // Calculates turn value depending on robot joints
3218 
3234  static ER_DllExport ROB_DH * inq_rob_dh_activ(void); //
3235 
3254  static ER_DllExport ROB_DH * inq_rob_dh0_passiv(void); //
3255 
3260  static ER_DllExport ROB_DH * inq_rob_dh_passiv(void); //
3261 
3265  static ER_DllExport char * inq_robot_name(void); // name of cRobot
3266 
3271  static ER_DllExport char * inq_robot_fln_name(void); // file name of cRobot
3272 
3286  static ER_DllExport int * inq_robot_type(void); // type of robot
3287 
3293  static ER_DllExport char * inq_robot_type_s(int type_idx=0); // string of cROBOT_TYPE
3294 
3299  static ER_DllExport int * inq_robot_enabled(void); // 1-robot is activ, 0-robot not active
3300 
3305  static ER_DllExport int * inq_robot_render(void); // 0-SMOOTH_RENDER, 4-INVISIBLE
3306 
3311  static ER_DllExport int * inq_tool_render(void); // 0-SMOOTH_RENDER, 4-INVISIBLE
3312 
3316  static ER_DllExport int * inq_robot_collision(void); // 1-def, robot is in collision queue, if robot_collision disabled, no collision check
3317 
3321  static ER_DllExport int * inq_tool_collision(void); // 1-def, tool is in collision queue, if tool_collision disabled, no collision check
3322 
3326  static ER_DllExport int * inq_robot_ref_collision(void); // 0-def, collision chk vs. reference device
3327 
3331  static ER_DllExport int * inq_robot_itself_collision(void); // 0-def, collision chk vs. itself device
3332 
3339  static ER_DllExport char * inq_kin_direction_activ(void); // 'X'-,'Y'- or 'Z'- direction for active joints
3340 
3347  static ER_DllExport char * inq_kin_type_activ(void); // 'T'- translational-, 'R'- revolute for active joints
3348 
3355  static ER_DllExport char * inq_kin_chain_type_activ(void); // 'C' in kin chain (default); '_' NOT in kin. chain; '-' separated & NOT in kin.chain
3356 
3360  static ER_DllExport int * inq_kin_id(void); // kin. ID
3361 
3366  static ER_DllExport float * inq_bdxw(void); //
3367 
3372  static ER_DllExport float * inq_dq(void); //
3373 
3380  static ER_DllExport char * inq_kin_direction_passiv(void); // 'X'-,'Y'- or 'Z'- direction for passive joints
3381 
3388  static ER_DllExport char * inq_kin_type_passiv(void); // 'T'- translational-, 'R'- revolute for passive joints
3389 
3396  static ER_DllExport char * inq_kin_chain_type_passiv(void); // 'C' in kin chain (default); '_' NOT in kin. chain; '-' separated & NOT in kin.chain
3397 
3402  static ER_DllExport char * inq_kin_calc_passiv(int passiv_jnt_no); // math. dependency string passive joint #i=(0..)
3403 
3408  static ER_DllExport int * inq_kin_attach_dof_passiv(void); // number of aJnt, where pJnt is attachd to
3409 
3426  static ER_DllExport frame * inq_kin_achs_T0_passiv(int passiv_jnt_no); // length passive joint #i=(0..) from last
3427 
3433  static ER_DllExport frame * inq_kin_achs_T_passiv(int passiv_jnt_no); // length passive joint #i=(0..) to next
3434 
3440  static ER_DllExport frame * inq_kin_T_passiv(int passiv_jnt_no); // Base to passive joint #i
3441 
3449  static ER_DllExport double *inq_univ_trans_tol_rad(void); //
3450 
3458  static ER_DllExport double *inq_univ_trans_tol_m(void); //
3459 
3466  static ER_DllExport int *inq_univ_trans_ilimit(void); //
3467 
3474  static ER_DllExport double *inq_univ_trans_mask(void); //
3475 
3481  static ER_DllExport double *inq_univ_trans_weight(void); //
3482 
3487  static ER_DllExport frame **inq_univ_trans_T(void); //
3488 
3528  static ER_DllExport void **inq_kin_usr_ptr(void); // access user pointer for user kinematics
3529 };
3531 // class ER_CAPI_ROB_ATRIBUTES
3532 //
3537 {
3538 public:
3539 
3543  static ER_DllExport int * inq_num_home(void); // number of hompositions [1..KIN_HOMEPOSITIONS]
3544 
3548  static ER_DllExport int * inq_chome_idx(void); // idx of current homeposition [0..KIN_HOMEPOSITIONS-1]
3549 
3553  static ER_DllExport float * inq_homepos(void); // joint values of current homeposition
3554 
3560  static ER_DllExport float * inq_homepos_idx(int chome_idx); // joint values of homeposition with chome_idx = [0..KIN_HOMEPOSITIONS-1]
3561 
3565  static ER_DllExport char * inq_homepos_name(void); // name of current homeposition
3566 
3572  static ER_DllExport char * inq_homepos_name_idx(int chome_idx); // name of homeposition with chome_idx = [0..KIN_HOMEPOSITIONS-1]
3573 
3578  static ER_DllExport char * inq_joint_name_idx(int cjoint_idx); // name of joint with cjoint_idx = [0..KIN_DOFS-1]
3579 
3584  static ER_DllExport char * inq_joint_passive_name_idx(int cjoint_idx); // name of passive joint with cjoint_idx = [0..KIN_PASSIV_JNTS-1]
3585 
3590  static ER_DllExport char * inq_config_name_idx(int cconfig_idx); // name of configuration with cconfig_idx = [0..KIN_CONFIGS-1]
3591 
3596  static ER_DllExport float * inq_cart_limits_max(void); // max. fix cartesian xyz limits w.r.t. RBase [m]
3597 
3602  static ER_DllExport float * inq_cart_limits_min(void); // min. fix cartesian xyz limits w.r.t. RBase [m]
3603 
3608  static ER_DllExport int * inq_cart_limits_joint_idx_active(void); // Bitfield to determine the active joints building the bounding box to check the cartesian limits
3609 
3614  static ER_DllExport int * inq_cart_limits_joint_idx_passive(void); // Bitfield to determine the passive joints building the bounding box to check the cartesian limits
3615 
3619  static ER_DllExport float * inq_swe_max(void); // max. positive travel ranges [rad,m]
3620 
3624  static ER_DllExport float * inq_swe_min(void); // max. negative travel ranges [rad,m]
3625 
3631  static ER_DllExport int * inq_swe_calc(void); // Enables math. dependency for travel ranges
3632 
3639  static ER_DllExport char * inq_swe_max_calc_md(int joint_idx); // equation to calculate math dependency for positive travel ranges
3640 
3647  static ER_DllExport char * inq_swe_min_calc_md(int joint_idx); // equation to calculate math dependency for negative travel ranges
3648 
3652  static ER_DllExport float * inq_v_max(void); // max. joint or axis speeds [rad/s,m/s]
3653 
3657  static ER_DllExport float * inq_a_max(void); // max. joint or axis acceleration [rad/s^2,m/s^2]
3658 
3662  static ER_DllExport float * inq_t_max(void); // max. joint or axis torque [Nm,N]
3663 
3667  static ER_DllExport float * inq_vx_max(void); // max. cart. speed [m/s]
3668 
3672  static ER_DllExport float * inq_ax_max(void); // max. cart. acceleration [m/s^2]
3673 
3677  static ER_DllExport float * inq_vx_ori_max(void); // max. cart. orientation speed [rad/s]
3678 
3682  static ER_DllExport float * inq_ax_ori_max(void); // max. cart. orientation acceleration [rad/s^2]
3683 
3687  static ER_DllExport float * inq_turn_interval(void); // Range with constant turn_value, default=0 for each axis // Range shift, default=0 for each axis
3688 
3692  static ER_DllExport float * inq_turn_offset(void); // Range shift, default=0 for each axis // Index for Turn Range, default=0
3693 };
3695 // class ER_CAPI_ROB_DYN
3696 //
3701 {
3702 public:
3703 
3707  static ER_DllExport frame *inq_mbTt_dyn(void); // Ist move base to Tip
3708 
3712  static ER_DllExport frame *inq_mbTw_dyn(void); // Ist move base to TCP
3713 
3717  static ER_DllExport float * inq_cntrl_step(void); // sample rate position controller for cRobot [s]
3718 
3722  static ER_DllExport float * inq_system_step(void); // sample rate system model for cRobot [s]
3723 
3727  static ER_DllExport float * inq_cntrl_kpp(void);
3728 
3732  static ER_DllExport float * inq_cntrl_kpv(void);
3733 
3737  static ER_DllExport float * inq_cntrl_kiv(void);
3738 
3742  static ER_DllExport float * inq_cntrl_uc_kiv1(void);
3743 
3747  static ER_DllExport float * inq_cntrl_aux1(void);
3748 
3752  static ER_DllExport float * inq_cntrl_aux2(void);
3753 
3757  static ER_DllExport float * inq_cntrl_aux3(void);
3758 
3762  static ER_DllExport float * inq_cntrl_e1(void);
3763 
3767  static ER_DllExport float * inq_cntrl_e2(void);
3768 
3772  static ER_DllExport float * inq_model_N(void);
3773 
3778  static ER_DllExport float * inq_model_T_base(void);
3779 
3783  static ER_DllExport float * inq_model_theta_base(void);
3784 
3788  static ER_DllExport float * inq_model_d_base(void);
3789 
3794  static ER_DllExport float * inq_model_vz1_v(void);
3795 
3800  static ER_DllExport float * inq_model_vz1_a(void);
3801 
3806  static ER_DllExport float * inq_model_z1(void);
3807 
3812  static ER_DllExport float * inq_model_z2(void);
3813 
3818  static ER_DllExport float * inq_uc(void);
3819 
3824  static ER_DllExport float * inq_uc1(void);
3825 
3830  static ER_DllExport float * inq_q_dyn(void); // Actual active joint axis values
3831 
3837  static ER_DllExport float * inq_v_dyn(void);
3838 
3843  static ER_DllExport float * inq_a_dyn(void);
3844 
3848  static ER_DllExport frame * inq_bTw_dyn(void);
3849 
3856  static ER_DllExport void **inq_dyn_cntrl_usr_ptr(void); // access user pointer for dynamics controller
3857 
3864  static ER_DllExport void **inq_dyn_model_usr_ptr(void); // access user pointer for dynamics model
3865 
3871  static ER_DllExport int *inq_status_output_type(void); // is [SIM_STEP, TARGET_POSE, IPO_STEP]
3872 
3878  static ER_DllExport int *inq_status_output_tag_idx(void); // TagIdx: >0 move to a Tag, 0- no Tag
3879 
3886  static ER_DllExport void **inq_status_output_usr_ptr(void); // access user pointer for status output
3887 };
3888 
3890 // class ER_CAPI_MOP
3891 //
3896 {
3897 public:
3898 
3902 
3906 
3910 
3914 
3918 
3919 public:
3920 
3927  static ER_DllExport void **inq_ipo_jnt_usr_ptr(void); // access user pointer for ipo joint
3928 
3935  static ER_DllExport void **inq_ipo_cp_usr_ptr(void); // access user pointer for ipo cp
3936 
3943  static ER_DllExport void **inq_ipo_circ_usr_ptr(void); // access user pointer for ipo circ
3944 };
3946 // class ER_CAPI_MOP_DATA
3947 //
3952 {
3953 public:
3954 
3964  static ER_DllExport IPO_MODE *inq_ipo_data_ipo_mode(void); // current interpolation mode
3965 
3969  static ER_DllExport float *inq_ipo_data_gtime(void); // simulation time [s] for cRobot
3970 
3975  static ER_DllExport float *inq_ipo_data_ctime(void); // current motion time [s] for cRobot
3976 
3980  static ER_DllExport float *inq_ipo_data_dt_ipo(void); // interpolation step size [s] for cRobot
3981 
3985  static ER_DllExport float *inq_ipo_data_lead_time(void); // time before the motion starts [s] for cRobot
3986 
3990  static ER_DllExport float *inq_ipo_data_lag_time(void); // time after the current move [s] for cRobot
3991 
3996  static ER_DllExport int *inq_ipo_data_ipo_in_position(void); // 1-robot is in target location
3997 
4001  static ER_DllExport float *inq_ipo_data_old_q(void); // joint data at last step
4002 
4006  static ER_DllExport float *inq_ipo_data_new_q(void); // joint data at current step
4007 
4011  static ER_DllExport frame *inq_ipo_data_old_T(void); // TCP location at last step
4012 
4016  static ER_DllExport frame *inq_ipo_data_new_T(void); // TCP location at current step
4017 
4023  static ER_DllExport int *inq_ipo_data_ipo_step_loop(void);
4024 
4032  static ER_DllExport int *inq_ipo_data_skip_call_inv_kin(void);
4033 };
4035 // class ER_CAPI_MOP_PATH
4036 //
4042 {
4043 public:
4044 
4048  static ER_DllExport float *inq_ipo_path_vq(void); // programmed Joint speed in [deg/s], obsolete use inq_ipo_path_vq_axis()
4049 
4053  static ER_DllExport float *inq_ipo_path_vq_ov(void); // programmed Joint speed override [%]
4054 
4058  static ER_DllExport float *inq_ipo_path_vq_axis(void); // programmed Joint speed for each axis [m/s],[deg/s]
4059 
4063  static ER_DllExport float *inq_ipo_path_vqs(void); // Joint start speed in [deg/s]
4064 
4068  static ER_DllExport float *inq_ipo_path_vqe(void); // programmed Joint end speed in [deg/s
4069 
4074  static ER_DllExport float *inq_ipo_path_vq_ov_set(float ov); // calc. vq_axis as percentage value of inq_v_max(), return inq_ipo_path_vq_axis()
4075 
4079  static ER_DllExport float *inq_ipo_path_aq_ov(void); // programmed Joint acceleration override [%]
4080 
4084  static ER_DllExport float *inq_ipo_path_aq(void); // programmed Joint acceleration in [deg/s^2], obsolete use inq_ipo_path_aq_axis()
4085 
4091  static ER_DllExport float *inq_ipo_path_aq_axis(void); // programmed Joint acceleration for each axis [m/s^2],[deg/s^2]
4092 
4096  static ER_DllExport float *inq_ipo_path_aqe(void); // programmed Joint end acceleration in [deg/s^2], obsolete use inq_ipo_path_aq_decel_axis()
4097 
4101  static ER_DllExport float *inq_ipo_path_aq_decel_axis(void); // programmed Joint deceleration for each axis [m/s^2],[deg/s^2]
4102 
4107  static ER_DllExport float *inq_ipo_path_aq_ov_set(float ov); // calc. aq_axis as percentage value of inq_a_max(), return inq_ipo_path_aq_axis()
4108 
4112  static ER_DllExport float *inq_ipo_path_vx(void); // programmed cart. speed in [m/s]
4113 
4117  static ER_DllExport float *inq_ipo_path_vxs(void); // cart. start speed in [m/s]
4118 
4122  static ER_DllExport float *inq_ipo_path_vxe(void); // cart. end speed in [m/s]
4123 
4128  static ER_DllExport float *inq_ipo_path_vx_ov_set(float ov); // calc. vx as percentage value of inq_vx_max(), return inq_ipo_path_vx()
4129 
4133  static ER_DllExport float *inq_ipo_path_ax(void); // programmed cart acceleration in [m/s^2]
4134 
4138  static ER_DllExport float *inq_ipo_path_axe(void); // programmed cart end acceleration in [m/s^2]
4139 
4144  static ER_DllExport float *inq_ipo_path_ax_ov_set(float ov); // calc. ax as percentage value of inq_ax_max(), return inq_ipo_path_ax()
4145 
4149  static ER_DllExport float *inq_ipo_path_vx_ori(void); // programmed orientation speed in [deg/s]
4150 
4154  static ER_DllExport float *inq_ipo_path_vxs_ori(void); // orientation start speed in [deg/s]
4155 
4159  static ER_DllExport float *inq_ipo_path_vxe_ori(void); // programmed orientation end speed in [deg/s]
4160 
4165  static ER_DllExport float *inq_ipo_path_vx_ori_ov_set(float ov); // calc. vx_ori as percentage value of inq_vx_ori_max(), return inq_ipo_path_vx_ori()
4166 
4170  static ER_DllExport float *inq_ipo_path_ax_ori(void); // programmed orientation acceleration in [deg/s^2]
4171 
4175  static ER_DllExport float *inq_ipo_path_axe_ori(void); // programmed orientation end acceleration in [deg/s^2]
4176 
4181  static ER_DllExport float *inq_ipo_path_ax_ori_ov_set(float ov); // calc. ax_ori as percentage value of inq_vx_ori_max(), return inq_ipo_path_ax_ori()
4182 
4186  static ER_DllExport float *inq_ipo_path_ov_pro(void); // programmed override [%] , range: 1-1000
4187 
4192  static ER_DllExport int *inq_ipo_path_no_decel(void); // programmed deceleration at target, 1-no deceleration, 0-decelaration
4193 
4198  static ER_DllExport int *inq_ipo_path_ptp_phasen_synchron(void); // PTP 0 - profile scaled, 1 - profile phase synchron with dominant joint
4199 
4204  static ER_DllExport int *inq_ipo_path_cp_phasen_synchron(void); // CP 0 - profile scaled, 1 - profile phase synchron with dominant motion (Pos, Ori, ExtAx)
4205 
4211  static ER_DllExport int *inq_ipo_path_use_tag_attributes(void); // 1-use tag attributes, 0-don't use tag attributes
4212 
4216  static ER_DllExport float *inq_ipo_path_zone(void); // programmed zone value [mm]
4217 
4222  static ER_DllExport float *inq_ipo_path_AccSet(void); // Acc Ramp [20-100%], Verringern der Beschleunigung
4223 
4227  static ER_DllExport int *inq_ipo_path_AutoAccel(void); // ON - berechnet accel = f(vel), OFF - wie vorgegeben
4228 
4235  static ER_DllExport int *inq_ipo_path_leading_position(void); // 1-leading position is enabled, 0-leading orientation is enabled, 2-variable
4236 
4246  static ER_DllExport int *inq_ipo_path_ptp_target_calculation_mode(void); // PTP_TARGET_CALC_MODE_UNDEF = 0, PTP_TARGET_CALC_MODE_SHORTEST_ANGLE = 1, PTP_TARGET_CALC_MODE_TURNS = 2, PTP_TARGET_CALC_MODE_MATH = 3, PTP_TARGET_CALC_MODE_IN_TRAVEL_RANGE = 4, PTP_TARGET_CALC_MODE_VAR_CONFIG = 5
4247 
4255  static ER_DllExport int *inq_ipo_path_turn(void); // Turns: 0-not set or translational joint, 1=[-180,180], -1=[-540.-180], 2=[180,540], depending on joint turn intervall
4256 
4259  static ER_DllExport void reset_ipo_path_turn(void); // unset turns for each joint
4260 
4267  static ER_DllExport CIRC_ORI_MODE *inq_ipo_path_circ_ori_mode(void); // Current Orientation mode for circular interpolation
4268 
4276  static ER_DllExport CIRC_ORI_IPO_MODE *inq_ipo_path_circ_ori_ipo_mode(void); // Orientation interpolation mode, when CIRC_ORI_MODE = CIRC_QUATERNION
4277 
4283  static ER_DllExport LIN_ORI_MODE *inq_ipo_path_lin_ori_mode(void); // Current Orientation mode for linear interpolation
4284 
4289  static ER_DllExport int *inq_ipo_path_path_motion_idx(void); // 0-no tag motion, >0 Index of cPath containing the TargetTag
4290 
4295  static ER_DllExport int *inq_ipo_path_tag_motion_idx(void); // 0-no tag motion, >0 Index of TargetTag
4296 
4301  static ER_DllExport int *inq_ipo_path_path_via_motion_idx(void); // 0-no tag via motion, >0 Index of cPath containing the TargetTagVia
4302 
4307  static ER_DllExport int *inq_ipo_path_tag_via_motion_idx(void); // 0-no tag via motion, >0 Index of TargetTagVia
4308 };
4310 // class ER_CAPI_MOP_PREP
4311 //
4316 {
4317 public:
4318 
4322  static ER_DllExport int *inq_ipo_prep_n_dof(void); // dof of robot
4323 
4327  static ER_DllExport float *inq_ipo_prep_t_bahn(void); // required motion time for current move, calculated in ipo_preparation
4328 
4332  static ER_DllExport float *inq_ipo_prep_strt_q(void); // Robot joint data at start location
4333 
4337  static ER_DllExport float *inq_ipo_prep_end_q(void); // Robot joint data at target location
4338 
4343  static ER_DllExport float *inq_ipo_prep_dq(void); // Robot joint difference array (=strt_q - end_q)
4344 
4348  static ER_DllExport frame *inq_ipo_prep_strt_T(void); // Start TCP location
4349 
4353  static ER_DllExport frame *inq_ipo_prep_end_T(void); // Target TCP location
4354 
4358  static ER_DllExport frame *inq_ipo_prep_inter_T(void); // Intermediate Location (ViaPoint) for circular motion
4359 
4363  static ER_DllExport frame *inq_ipo_prep_center_T(void); // Center if circular motion, calculated from start-, via-, end point
4364 
4369  static ER_DllExport float *inq_ipo_prep_dx(void); // 6 dim difference Vector (=strt_T-end_T)
4370 
4375  static ER_DllExport int *inq_ipo_prep_sync(void);
4376 
4380  static ER_DllExport frame *inq_ipo_prep_bTsync0(void); // EasyEdit, Band Null-Position
4381 
4385  static ER_DllExport frame *inq_ipo_prep_dTsync(void); // EasyEdit, Band Delta-Position
4386 
4390  static ER_DllExport frame *inq_ipo_prep_ie_Ts_sync(void);// aktuelle TCP-Position bzgl. Bandpos
4391 
4396  static ER_DllExport int *inq_ipo_prep_extax_mode(void);
4397 
4401  static ER_DllExport float *inq_ipo_prep_v_extax(void);
4402 
4408  static ER_DllExport int *inq_ipo_prep_extax_jnt(void);
4409 };
4411 // class ER_CAPI_MOP_EXEC
4412 //
4417 {
4418 public:
4419 
4423  static ER_DllExport float *inq_ipo_exec_qs(void); // desired joint data [rad] or [m]
4424 
4428  static ER_DllExport float *inq_ipo_exec_vs(void); // desired joint speed [rad/s] or [m/s]
4429 
4433  static ER_DllExport float *inq_ipo_exec_as(void); // desired joint acceleration [rad/s^2] or [m/s^2]
4434 
4438  static ER_DllExport frame *inq_ipo_exec_Ts(void); // desired cart. location frame [m]
4439 
4454  static ER_DllExport int move_to_ax_api(void *vrpd,int line_no,int step_no,char *prg_line,float *qs,
4455  int extax_mode=EXTAX_MODE_OFF,// EXTAX_MODE_OFF-no tag_motion | extax,
4456  // EXTAX_MODE_TAG-extax value comes with a Tag,
4457  // EXTAX_MODE_STD-extax value in q_linext,
4458  // EXTAX_MODE_USR-extax specification in q_linext, v_linext, q_linext_idx
4459  float *v_linext=NULL, // used for external speed axis, when extax_mode==EXTAX_MODE_USR
4460  int *q_linext_idx=NULL // 0-not set, 1-pos axis, 2-speed axis
4461  );
4462 
4480  static ER_DllExport int move_to_api(void *vrpd,int line_no,int step_no,char *prg_line,frame *via_T,frame *Ts,
4481  int extax_mode=EXTAX_MODE_OFF,// EXTAX_MODE_OFF-no extax_mode | extax,
4482  // EXTAX_MODE_TAG-extax value comes with a Tag,
4483  // EXTAX_MODE_STD-extax value in q_linext,
4484  // EXTAX_MODE_USR-extax specification in q_linext, v_linext, q_linext_idx
4485  float *q_linext=NULL, // extax target value in [m,rad]
4486  float *v_linext=NULL, // used for external speed axis, when extax_mode==EXTAX_MODE_USR
4487  int *q_linext_idx=NULL // 0-not set, 1-pos axis, 2-speed axis
4488  );
4489 };
4491 // class ER_CAPI_MOP_AUTOPATH
4492 //
4497 {
4498 public:
4502  static ER_DllExport char *AutoPathVer(void);
4503 
4508  static ER_DllExport void *inq_AutoPathDlg_Hwnd(void); // AUTOPATH DlL, return (void *)CWnd
4509 
4587  static ER_DllExport int AutoPath_SetCallback_CheckConstraints(BOOL (*ptr_CheckConstraints)(int));
4588 
4610  static ER_DllExport int SetDlgParameter(int ap_dlg_option, int ap_dlg_value);
4611 
4621  static ER_DllExport int GetDlgParameter(int ap_dlg_option);
4622 
4628  static ER_DllExport int AutoPathEnd(void);
4629 
4638  static ER_DllExport int SetPoseStart(int nConfig, float *pose_start);
4639 
4648  static ER_DllExport int SetPoseEnd(int nConfig, float *pose_end);
4649 
4656  static ER_DllExport float *SetStartPose(void);
4657 
4664  static ER_DllExport float *SetEndPose(void);
4665 
4673  static ER_DllExport int FindPath(void);
4674 
4681  static ER_DllExport float *GetConfigurationPose(void);
4682 
4697  static ER_DllExport float *GetStartPose(void);
4698 
4713  static ER_DllExport float *GetEndPose(void);
4714 
4729  static ER_DllExport float *GetAxisConstraintsMin(void);
4730 
4745  static ER_DllExport float *GetAxisConstraintsMax(void);
4746 
4751  static ER_DllExport int AbortPlanning(void);
4752 
4760  static ER_DllExport int GetPlanningStatus(void);
4761 
4767  static ER_DllExport int GetNumberOfWayPoints(void);
4768 
4776  static ER_DllExport int GetWayPointDof(void);
4777 
4784  static ER_DllExport int GetWayPointConfiguration(int idx);
4785 
4792  static ER_DllExport float *GetWayPoint(int idx);
4793 
4799  static ER_DllExport int ClearAllWayPoints(void);
4800 
4820  static ER_DllExport UINT *Accuracy(void);
4821 
4858  static ER_DllExport int SetAxisConstraints(int axisBit=0x3FF, int setting=0, float qConstraintMin=0, float qConstraintMax=0);
4859 
4876  static ER_DllExport int SetAxisPriority(int axisBit, int priority);
4877 
4894  static ER_DllExport int SetAxisEnable(int axisBit, int enable);
4895 
4911  static ER_DllExport int SetParameter(int ap_option, int ap_value);
4912 
4927  static ER_DllExport int GetParameter(int ap_option);
4928 
4942  static ER_DllExport int GetResults(int ap_result);
4943 
4944 };
4945 
4946 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_SIM
4948 // class ER_CAPI_SIM
4949 //
4953 class ER_CAPI_SIM: public ER_CAPI
4954 {
4955 public:
4956 
4960 
4964 
4968 
4972 
4976 public:
4977 
4981  static ER_DllExport float *inq_sim_time(void); // global simulation time [s]
4982 
4986  static ER_DllExport float *inq_sim_step(void); // sample rate simulation step size [s]
4987 
4993  static ER_DllExport int LoadToolFileRun(char *fln); // ret: 0-OK, 1-Error Load Tool file '.tol'. fln is an absolute path!
4994 
5003  static ER_DllExport int AuxUpdate(int idx, int sub_idx=0);
5004 
5011  static ER_DllExport int StartCondition_ResetSave(int start_condition=START_CONDITION_RESET_ALL_ROBOTS);
5012 };
5014 // class ER_CAPI_SIM_MONITORING
5015 //
5020 {
5021 public:
5022 
5026  static ER_DllExport int chk_run(void); // return: RUN_MODUS, STOP_MODUS, ABORT_MODUS
5027 
5040  static ER_DllExport int chk_limits(int idx); // 1-returned if occured. idx = [AUX_UPDATE_IDX_SWE_EXCEEDED, AUX_UPDATE_IDX_SPEED_EXCEEDED, AUX_UPDATE_IDX_ACCEL_EXCEEDED, AUX_UPDATE_IDX_COLLISION, AUX_UPDATE_IDX_CART_SPACE_EXCEEDED, AUX_UPDATE_IDX_SWE_PASSIVE_EXCEEDED]
5041 
5049  static ER_DllExport int chk_collision_workcell(); // 1-collision detected, 0-no collision
5050 
5062  static ER_DllExport int chk_collision_devices_idx(int dev_idx_1,int dev_idx_2); // 1-returned if collision occured between two devices
5063 
5074  static ER_DllExport int chk_collision_devices_uid(ER_UID dev_uid_1,ER_UID dev_uid_2); // 1-returned if collision occured between two devices
5075 
5086  static ER_DllExport int chk_collision_devices_name(char *dev_name_1,char *dev_name_2); // 1-returned if collision occured between two devices
5087 
5101  static ER_DllExport int get_warning_msg(int aux_update_idx,char *msg);
5102 
5109  static ER_DllExport int get_collision_workcell_msg(char *msg);
5110 
5116  static ER_DllExport int ChkAnimExec(int confirm=0); // ret 0- animation on hold, 1- animation running
5117 
5123  static ER_DllExport int ChkPrgRunning(int confirm=0); // ret 0-Program on hold, 1-Program running
5124 
5128  static ER_DllExport int *inq_stop_swe(void); // 1 - causes the robot to stop if travel ranges exceeded
5129 
5133  static ER_DllExport int *inq_stop_cart_space(void); // 1 - causes the robot to stop if the cartesian space is exceeded
5134 
5138  static ER_DllExport int *inq_stop_speed(void); // 1 - causes the robot to stop if joint speeds are exceeded
5139 
5143  static ER_DllExport int *inq_stop_accel(void); // 1 - causes the robot to stop if joint accels are exceeded
5144 
5148  static ER_DllExport int *inq_stop_collision(void); // 1 - causes the robot to stop if collision detected
5149 
5153  static ER_DllExport int *inq_stop_unreach(void); // 1 - causes the robot to stop if target position is not reachable
5154 
5162  static ER_DllExport int *inq_swe_chk_always(); // 1 - checks always if travel ranges exceeded -> AUX_UPDATE_IDX_SWE_EXCEEDED, AUX_UPDATE_IDX_SWE_PASSIVE_EXCEEDED
5163 
5171  static ER_DllExport int *inq_cart_space_chk_always(); // 1 - checks always if cartesian space is exceeded -> AUX_UPDATE_IDX_CART_SPACE_EXCEEDED
5172 
5180  static ER_DllExport int *inq_speed_chk_always(); // 1 - checks always if joint speeds are exceeded -> AUX_UPDATE_IDX_SPEED_EXCEEDED
5181 
5189  static ER_DllExport int *inq_accel_chk_always(); // 1 - checks always if joint accels are exceeded -> AUX_UPDATE_IDX_ACCEL_EXCEEDED
5190 
5198  static ER_DllExport int *inq_collision_chk_always(); // 1 - checks always collisions -> AUX_UPDATE_IDX_COLLISION
5199 
5207  static ER_DllExport int *inq_unreach_chk_always(); // 1 - checks always if unreachable location -> AUX_UPDATE_IDX_UNREACH
5208 
5214  static ER_DllExport int *inq_prgwindow_show_auto(void); // 0 - will not show program window automatically
5215 
5221  static ER_DllExport int *inq_msgwindow_show_auto(void); // 0 - will not show message window automatically
5222 
5228  static ER_DllExport int *inq_dialogs_error_enable(void); // 0 - will not display an the error dialog
5229 
5235  static ER_DllExport int *inq_dialogs_warning_enable(void); // 0 - will not display an the warning dialog
5236 };
5238 // class ER_CAPI_SIM_COLLISION
5239 //
5244 {
5245 public:
5246 
5250  static ER_DllExport float inq_coll_min_distance_c(void); // collision distance when collision (dist < collision tolerance)
5251 
5255  static ER_DllExport float inq_coll_min_distance(void); // shortest distance when no collision
5256 
5260  static ER_DllExport float *inq_coll_min_distance_p1(void); // collision point 'p1' w.r.t. world
5261 
5265  static ER_DllExport float *inq_coll_min_distance_p2(void); // collision point 'p2' w.r.t. world
5266 
5270  static ER_DllExport float *inq_coll_min_distance_pc(void); // collision point 'pc' w.r.t. world
5271 
5275  static ER_DllExport float *inq_coll_min_distance_xyz(void); // xyz component for shortest w.r.t. world coorsys
5276 
5280  static ER_DllExport int *inq_collision(void); // enable, disable collision
5281 
5285  static ER_DllExport int *inq_red_blue_collision(void); // enable, disable red/blue collision
5286 
5290  static ER_DllExport int *inq_stop_collision(void); // enable, disable stop on collision
5291 
5295  static ER_DllExport int *inq_show_collision_line(void); // enable, disable show collision line with min. distance value
5296 
5300  static ER_DllExport void chk_collision_export(void); // enable and initialize collision check if disabled
5301 
5314  static ER_DllExport int chk_nom_values_export (int chk_bit_field=0); // chk_bit_field = chk for [0x1 CHK_NOM_VALUES_SWE, 0x2 -SPEED, 0x4 -ACCEL, 0x8 -COLLISION, 0x10 - CART_SPACE, 0xffff -ALL)
5315 
5321  static ER_DllExport int get_number_of_collision_pairs(void); // number of collision pairs
5322 
5329  static ER_DllExport COLL_PAIR *get_collision_pair(int coll_pair_idx); // pointer to one collision pair
5330 
5340  static ER_DllExport int chk_collision_devices_tupel_list(int n_dev_tupel_list, COLL_DEVICE_TUPEL *dev_tupel_list, int setting=0);
5341 };
5343 // class ER_CAPI_SIM_CAMERA
5344 //
5349 {
5350 public:
5351 
5356  static ER_DllExport int inq_camera_enable(void); // return 1-ON 0-OFF
5357 
5363  static ER_DllExport int camera_enable(int enable); // 0-Camera View OFF 1-ON
5364 
5368  static ER_DllExport char *inq_camera_name(void); // return current camera name
5369 
5375  static ER_DllExport int camera_name(char *name); // select camera by geometry name, 0-OK, 1-Error
5376 
5380  static ER_DllExport float inq_camera_focus(void); // return focus
5381 
5387  static ER_DllExport int camera_focus(float focus); // set focus
5388 
5392  static ER_DllExport float inq_camera_z_offset(void); // return z_offset
5393 
5399  static ER_DllExport int camera_z_offset(float z_offset); // set z_offset
5400 
5404  static ER_DllExport frame *inq_camera_position(void); // return camera position
5405 
5411  static ER_DllExport int camera_position(float *pos=NULL); // set position
5412 };
5414 // class ER_CAPI_SIM_ERPL
5415 //
5420 {
5421 public:
5437  static ER_DllExport int RunProgram(char *prgline=NULL, int confirm=1); // Run complete program or single ERPL command, ret 0- OK, 1-Failed
5438 
5442  static ER_DllExport int StopContRunProgram(void); // Stop/Pause or Continue running simulation
5443 
5447  static ER_DllExport int AbortRunProgram(void); // Abort running simulation
5448 
5453  static ER_DllExport int GetPrgId(void); // ID for program interpreter
5454 
5460  static ER_DllExport int SetPrgId(int PrgId); // Set program interpreter ID
5461 
5465  static ER_DllExport char *GetPrgfile(void); // returns program file for cRobot
5466 
5471  static ER_DllExport char *GetPrgMimicfile(void); // returns mimic file for cRobot
5472 
5478  static ER_DllExport int ChkErcCmd(char *cmd); // check if 'cmd' starts with word 'ERC', ret: 1 - is ERC command, 0 - is not
5479 
5486  static ER_DllExport void **inq_pp_usr_ptr(); // access user pointer for post_processor in er_post.dll
5487 
5497  static ER_DllExport int erc_onoff(int erc_on_off_idx,int enable); // erc_on_off_idx = list above, enable = 0-OFF, 1-ON, 2-Return is current IdxStatus (0-OFF or 1-ON), return: 0-OFF, 1-ON -1-Error
5498 
5499  // Single Command Execution
5500 
5509  static ER_DllExport void prg_data_single_cmd_reset(void);
5510 
5516  static ER_DllExport frame *inq_single_cmd_base(void);
5517 
5523  static ER_DllExport frame *inq_single_cmd_base_prg(void);
5524 
5530  static ER_DllExport frame *inq_single_cmd_via_T(void);
5531 
5537  static ER_DllExport int *inq_single_cmd_via_point_idx(void);
5538 
5544  static ER_DllExport int *inq_single_cmd_interpolation(void);
5545 
5557  static ER_DllExport float *inq_single_cmd_unit_scal_trans(void);
5558 
5570  static ER_DllExport float *inq_single_cmd_unit_scal_rot(void);
5571 
5576  static ER_DllExport int *inq_single_cmd_ext_Tcp_idx(void);
5577 
5582  static ER_DllExport int *inq_single_cmd_c_device_idx(void);
5583 };
5585 // class ER_CAPI_SIM_TRACK
5586 //
5591 {
5592 public:
5593 
5599  static ER_DllExport int *inq_track_ref_sys_type(void); // ER_REF_SYS
5600 
5607  static ER_DllExport char *inq_track_ref_sys_type_name(void);
5608 
5616  static ER_DllExport int *inq_track_ref_sys_grp(void);
5617 
5623  static ER_DllExport ER_UID *inq_track_ref_sys_grp_uid(void);
5624 
5632  static ER_DllExport int *inq_track_ref_sys_jnt_idx(void);
5633 
5640  static ER_DllExport char *inq_track_ref_sys_name(void);
5641 
5647  static ER_DllExport int *inq_track_color(void); // -2 ER_INVISIBLE, -1 ER_ALTERNATE, 0-ER_BLACK...ER_WHITE
5648 
5654  static ER_DllExport int *inq_track_dyn_color(void); // -2 ER_INVISIBLE, -1 ER_ALTERNATE, 0-ER_BLACK...ER_WHITE
5655 
5656 
5660  static ER_DllExport int *inq_rob_track_bits(void); // Set the Tcp trace attribute Bits
5661 
5665  static ER_DllExport int *inq_rob_track_dyn_bits(void); // Set the Dynamics Tcp trace attribute Bits
5666 
5671  static ER_DllExport int *inq_rob_track_vis(void); // 1 - Visible, 0 - Invisible
5672 
5677  static ER_DllExport int *inq_rob_track_dyn_vis(void); // 1 - Visible, 0 - Invisible
5678 
5683  static ER_DllExport int *inq_rob_track_vis_attrib(void); // 1 - Visible, 0 - Invisible
5684 
5689  static ER_DllExport int *inq_rob_track_dyn_vis_attrib(void); // 1 - Visible, 0 - Invisible
5690 
5694  static ER_DllExport void track_reset(int dyn=0); // Deletes the Tcp trace for the current device
5695 };
5696 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_TARGETS
5698 // class ER_CAPI_TARGETS
5699 //
5704 {
5705 public:
5706 
5710 
5714 };
5716 // class ER_CAPI_TARGETS_TAG
5717 //
5722 {
5723 public:
5724 
5730  static ER_DllExport int chk_rob_tag_idx(int idx); // 0 - OK, 1 - tag_idx does not exist
5731 
5732  // tag_crobot data are temporarily and calculated when the cRobot moves to a Tag
5733 
5740  static ER_DllExport frame *inq_rob_tag_T_cRBase_idx(int idx); // tag_crobot, tmp Tcp location w.r.t to cRobot Base
5741 
5748  static ER_DllExport float *inq_rob_tag_q_cR_idx(int idx); // tag_crobot, tmp joint location for cRobot
5749 
5756  static ER_DllExport ER_UID *inq_rob_tag_uid_cR_idx(int idx); // tag_crobot, tmp uid for cRobot
5757 
5758  // access tag attributes
5759 
5766  static ER_DllExport char *inq_rob_tag_prefix_idx(int idx); // tag_attributes, tag prefix
5767 
5774  static ER_DllExport char *inq_rob_tag_name_idx(int idx); // tag_attributes, tag name
5775 
5782  static ER_DllExport char *inq_rob_tag_prefix_name_idx(int idx); // tag_attributes, complete tag name
5783 
5793  static ER_DllExport int *inq_rob_tag_motype_idx(int idx); // tag_attributes, motion type 0-TAG_MOTYPE_DEF, 1-TAG_MOTYPE_PTP, 2-TAG_MOTYPE_LIN, 3-TAG_MOTYPE_CIRC, 4-TAG_MOTYPE_VIA, 5-TAG_MOTYPE_SLEW
5794 
5801  static ER_DllExport float *inq_rob_tag_speed_ptp_idx(int idx); // tag_attributes, ptp speed, 0-def, [rad/s]
5802 
5836  static ER_DllExport float *inq_rob_tag_speed_cp_idx(int idx); // tag_attributes, cp speed, 0-def, [m/s]
5837 
5842  static ER_DllExport float *inq_rob_tag_speed_ori_idx(int idx); // tag_attributes, ori speed, 0-def, [rad/s]
5843 
5848  static ER_DllExport int *inq_rob_tag_confdata_idx(int idx); // tag_attributes, robot configuration, 0-def
5849 
5854  static ER_DllExport float *inq_rob_tag_zone_idx(int idx); // tag_attributes, programmed zone value [mm,%]
5855 
5862  static ER_DllExport float *inq_rob_tag_accel_ptp_idx(int idx); // tag_attributes, ptp accel, 0-def, [rad/s^2]
5863 
5868  static ER_DllExport float *inq_rob_tag_accel_cp_idx(int idx); // tag_attributes, cp accel, 0-def, [m/s^2]
5869 
5874  static ER_DllExport float *inq_rob_tag_accel_ori_idx(int idx); // tag_attributes, ori accel, 0-def, [rad/s^2]
5875 
5880  static ER_DllExport float *inq_rob_tag_ov_pro_idx(int idx); // tag_attributes, programmed override, 0-def [0-200%]
5881 
5886  static ER_DllExport float *inq_rob_tag_speed_ptp_ov_idx(int idx); // tag_attributes, ptp override speed, 0-def [0-200%]
5887 
5892  static ER_DllExport float *inq_rob_tag_speed_cp_ov_idx(int idx); // tag_attributes, cp override speed, 0-def [0-200%]
5893 
5898  static ER_DllExport float *inq_rob_tag_speed_ori_ov_idx(int idx); // tag_attributes, ori override speed, 0-def [0-200%]
5899 
5904  static ER_DllExport float *inq_rob_tag_accel_ptp_ov_idx(int idx); // tag_attributes, ptp override accel, 0-def [0-200%]
5905 
5910  static ER_DllExport float *inq_rob_tag_accel_cp_ov_idx(int idx); // tag_attributes, cp override accel, 0-def [0-200%]
5911 
5916  static ER_DllExport float *inq_rob_tag_accel_ori_ov_idx(int idx); // tag_attributes, ori override accel, 0-def [0-200%]
5917 
5923  static ER_DllExport int *inq_rob_tag_auto_accel_idx(int idx); // tag_attributes, auto acceleration, 0-def, 1-ON
5924 
5932  static ER_DllExport float *inq_rob_tag_acc_set_acc_idx(int idx); // tag_attributes, AccSet Acc, 100-def [20-100%]
5933 
5941  static ER_DllExport float *inq_rob_tag_acc_set_ramp_idx(int idx); // tag_attributes, AccSet Ramp, 100-def [20-100%]
5942 
5949  static ER_DllExport int *inq_rob_tag_no_decel_idx(int idx); // tag_attributes, No decelaration at target, 0-def, 1-enabled
5950 
5958  static ER_DllExport int *inq_rob_tag_leading_pos_idx(int idx); // tag_attributes, 2-def, 1-Pos, 2-VAR, 0-Ori
5959 
5964  static ER_DllExport float *inq_rob_tag_lead_time_idx(int idx); // tag_attributes, wait time before move begins, 0-def [s]
5965 
5970  static ER_DllExport float *inq_rob_tag_lag_time_idx(int idx); // tag_attributes, wait time when targte reached, 0-def [s]
5971 
5981  static ER_DllExport int *inq_rob_tag_lin_ori_mode_idx(int idx); // tag_attributes, 4-def, 0-LIN_VARIABLE, 1-LIN_FIX, 2-LIN_TANGENTIAL, 3-LIN_AUX, 4-LIN_QUATERNION
5982 
5993  static ER_DllExport int *inq_rob_tag_circ_ori_mode_idx(int idx); // tag_attributes, 5-def, 0-CIRC_VARIABLE, 1-CIRC_FIX, 2-CIRC_TANGENTIAL, 3-CIRC_AUX, 4-CIRC_VARIABLE2, 5-CIRC_QUATERNION
5994 
5999  static ER_DllExport float *inq_rob_tag_speed_ptp_ax_ov_idx(int idx); // tag_attributes, ptp_ax override speed 0-def [0-200%]
6000 
6005  static ER_DllExport float *inq_rob_tag_accel_ptp_ax_ov_idx(int idx); // tag_attributes, ptp_ax override accel 0-def [0-200%]
6006 
6014  static ER_DllExport int *inq_rob_tag_turn_use_idx(int idx); // tag_attributes, 0-do not use turn values (def), 1-use turns
6015 
6021  static ER_DllExport int *inq_rob_tag_turn_ax_idx(int idx); // tag_attributes, turn values depending on current robots turn interval
6022 
6028  static ER_DllExport char *inq_rob_tag_user_string_idx(int idx); // tag_attributes, user defined Tag string
6029 
6035  static ER_DllExport int *inq_rob_tag_color_idx(int idx); // tag_attributes
6036 
6051  static ER_DllExport int inq_rob_tag_color_set_idx(int idx, int color); // tag_attributes
6052 
6058  static ER_DllExport float *inq_rob_tag_length_idx(int idx); // tag_attributes
6059 
6065  static ER_DllExport int *inq_rob_tag_render_idx(int idx); // tag_attributes
6066 
6072  static ER_DllExport frame *inq_rob_tag_frame_idx(int idx); // tag_attributes
6073 
6079  static ER_DllExport frame *inq_rob_tag_frame_strt_idx(int idx); // tag_attributes
6080 
6081  // Access to external axis definition of tag
6082 
6087  static ER_DllExport int *inq_rob_tag_n_extax_idx(int idx); // tag_attributes number of external axis
6088 
6094  static ER_DllExport float *inq_rob_tag_extax_idx(int idx); // tag_attributes external axis value []
6095 
6102  static ER_DllExport int *inq_rob_tag_extaxjnt_idx(int idx); // tag_attributes controlled axis []
6103 
6110  static ER_DllExport char *inq_rob_tag_extaxtype_idx(int idx); // tag_attributes type 'R' or 'T' []
6111 
6117  static ER_DllExport int delete_cTag(); // delete cTag, see also ER_CAPI_SYS_STATUS::UnloadTag()
6118 
6122  static ER_DllExport int inq_Get_c_tag_idx(); // get current tag idx [1..n_tags] in current path
6123 
6129  static ER_DllExport int inq_Set_tag_idx(int tag_idx); // set current tag idx [1..n_tags] in current path
6130 
6134  static ER_DllExport char *inq_Get_c_tag_name(); // get current tag name
6135 
6139  static ER_DllExport frame *inq_Get_c_tag_frame(); // get current tag location w.r.t. wobj frame location
6140 
6144  static ER_DllExport frame *inq_Get_c_tag_frame_strt(); // get current start tag location w.r.t. wobj frame location
6145 
6150  static ER_DllExport int swap_TagUp(void); // swaps Tag pointer with the prev Tag
6151 
6156  static ER_DllExport int swap_TagDown(void); // swaps Tag pointer with the next Tag
6157 
6164  static ER_DllExport int copy_current_tag_data(void); // cpy cTag to tag_copy and to show tag 'c_tag'
6165 
6170  static ER_DllExport int NewTagOnTcp(void); // creates a new Tag in current path at Tcp of cRobot
6171 
6180  static ER_DllExport int cTagClone(int create_new=0); // clones current Tag in current path or creates new one at Tcp of cRobot
6181 
6187  static ER_DllExport int Shift_cTagOnTcp(void); // shifts cTag to the Tcp of cRobot
6188 
6194  static ER_DllExport int NewTagOnFrame(frame *T); // creates a new Tag in current path at location of frame 'T'
6195 
6201  static ER_DllExport int Shift_cTagOnFrame(frame *T); // shifts cTag to location of frame 'T'
6202 
6210  static ER_DllExport int NewTagOnPickPoint(int vertices=0); // creates a new Tag at current picked location, vertices=1: keep cOrientation, =0 use normal for approach direction
6211 
6219  static ER_DllExport int Shift_cTagOnPickPoint(int vertices=0); // shifts cTag to the current picked location, vertices=1: keep cOrientation, =0 use normal for approach direction
6220 
6225  static ER_DllExport void TagClone(void); // multiple clone of current Tag
6226 };
6228 // class ER_CAPI_TARGETS_PATH
6229 //
6234 {
6235 public:
6236  // access to pathes
6237 
6241  static ER_DllExport int inq_Add_path(); // add a new path in loaded workcell, returns the number of pathes
6242 
6246  static ER_DllExport int inq_Get_n_paths(); // get number of pathes in loaded workcell
6247 
6251  static ER_DllExport int inq_Get_n_tags(); // get number of tags in current path
6252 
6256  static ER_DllExport int inq_Get_c_path_idx(); // get current path idx [1..n_paths]
6257 
6263  static ER_DllExport int inq_Set_path_idx(int path_idx); // set current path idx [1..n_paths], Return: 0-OK, 1-Error
6264 
6265  // calculates path length, while motion type is considered
6266  // IN:
6267  // path_idx - index is path >=1
6268  // tag_idx_strt - first tag index >=1
6269  // tag_idx_end - last tag index > tag_idx_strt
6270  // ret_angle - =0 (default) calculates position length between tags
6271  // - =1 calculates the positive sum of shortest angle
6272  // caveat: if tag_idx_strt=tag_idx_end=0, the complete length is calculated
6273  // return:
6274  // >0: position length or sum of angles
6275  // -1: Error
6276 
6284  static ER_DllExport float inq_Calc_path_length(int path_idx, int tag_idx_strt, int tag_idx_end, int ret_angle=0); // calculates length/angle of path
6285 
6291  static ER_DllExport int delete_path(int all_pths=0); // delete cPath or all Pathes if all_pths=1, see also ER_CAPI_SYS_STATUS::UnloadPath(), ER_CAPI_SYS_STATUS::UnloadPathAll()
6292 
6296  static ER_DllExport char *inq_Get_c_path_name(); // get current path name
6297 
6301  static ER_DllExport char *inq_Get_c_wobj_name(); // get current wobj name
6302 
6306  static ER_DllExport float *inq_Get_c_path_len(); // get lengths of complete path for current selected path
6307 
6311  static ER_DllExport float *inq_Get_c_path_angle_len(); // get angle lengths of complete path for current selected path
6312 
6316  static ER_DllExport frame *inq_Get_c_wobj_frame(); // get current wobj location w.r.t. path reference system
6317 
6321  static ER_DllExport frame *inq_Get_c_wobj_frame_strt(); // get current start wobj frame w.r.t. path reference system
6322 
6326  static ER_DllExport frame *inq_Get_c_wobj_frame_ref(); // get wobj location w.r.t. to world system
6327 
6331  static ER_DllExport ER_UID *inq_Get_c_path_robot_uid(); // get unique robot ID, current path belongs to, zero if free
6332 
6337  static ER_DllExport int *inq_Get_c_path_owner_select(); // get current path owner selection flag
6338 
6342  static ER_DllExport int *inq_Get_c_path_visible(); // get current path visibility
6343 
6349  static ER_DllExport int swap_PathUp(void); // swaps Path pointer with the prev Path
6350 
6356  static ER_DllExport int swap_PathDown(void); // swaps Path pointer with the next Path
6357 
6363  static ER_DllExport void PathClone(int confirm=0); // clone complete Path or selected Tags
6364 
6365  // Reattaches path with Idx 'path_idx' by device idx, name or uid
6366  // IN:
6367  // path_idx idx of path to reattach to
6368  // new_reference_type new referecne type
6369  // REF_BASE=2, REF_TOOL=3, REF_WORLD=4, REF_CAD=7, REF_TIP=8, 9-REF_JNT
6370  // new_reference_device_idx get reference device by idx
6371  // new_reference_cad_grp_type reference grp_type (UNDEF_GRP,ROBOT_GRP,TOOL_GRP,BODY_GRP) if new_reference_type = REF_CAD
6372  // new_reference_cad_name reference cad name if new_reference_type = REF_CAD
6373  // new_reference_jnt_idx reference jnt idx if new_reference_type = REF_JNT
6374  // keep_world_position True will keep the world position of path
6375  // Return: 0-OK, 1-Error
6376 
6402  static ER_DllExport int Path_ReAttach_by_name(int path_idx, int new_reference_type,char *new_reference_device_name, int new_reference_cad_grp_type=ROBOT_GRP, char *new_reference_cad_name=NULL, int new_reference_jnt_idx=0, bool keep_world_position=false); // Reattaches path with Idx 'path_idx' by device name
6403 
6429  static ER_DllExport int Path_ReAttach_by_idx (int path_idx, int new_reference_type,int new_reference_device_idx, int new_reference_cad_grp_type=ROBOT_GRP, char *new_reference_cad_name=NULL, int new_reference_jnt_idx=0, bool keep_world_position=false); // Reattaches path with Idx 'path_idx' by device idx
6430 
6456  static ER_DllExport int Path_ReAttach_by_uid (int path_idx, int new_reference_type,ER_UID new_reference_device_uid, int new_reference_cad_grp_type=ROBOT_GRP, char *new_reference_cad_name=NULL, int new_reference_jnt_idx=0, bool keep_world_position=false); // Reattaches path with Idx 'path_idx' by device uid
6457 
6458  // cPath Reference/Attachment Information
6459 
6466  static ER_DllExport int *inq_path_ref_sys_type(void); // reference type: REF_BASE=2, REF_TOOL=3, REF_WORLD=4, REF_CAD=7, REF_TIP=8, REF_JNT=9
6467 
6474  static ER_DllExport char *inq_path_ref_sys_type_name(void); // the name of reference type
6475 
6483  static ER_DllExport int *inq_path_ref_sys_grp(void); // grp_type UNDEF_GRP=-1,ROBOT_GRP=0, TOOL_GRP=1, BODY_GRP=2
6484 
6490  static ER_DllExport ER_UID *inq_path_ref_sys_grp_uid(void); // unique ID of reference device/robot
6491 
6500  static ER_DllExport char *inq_path_ref_sys_name(void); // if reference type==REF_CAD, the name of the reference body is returned, else type_name()
6501 
6511  static ER_DllExport int *inq_path_ref_sys_jnt_idx(void); // if reference type==REF_JNT, the number of reference joint (for passive joints <0) is returned, else 0.
6512 };
6513 
6514 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_CAD
6516 // class ER_CAPI_CAD
6517 //
6521 class ER_CAPI_CAD : public ER_CAPI
6522 {
6523 public:
6524 
6528 
6532 
6536 
6540 public:
6541 
6547  static ER_DllExport int Unload_cCAD(int confirm=1); // unload current selected CAD geometry
6548 
6554  static ER_DllExport int Unload_allCAD(int confirm=1); // unload all CAD Geometries in current selected grp
6555 };
6557 // class ER_CAPI_CAD_IO
6558 //
6563 {
6564 public:
6565 
6575  static ER_DllExport void *inq_body_group_handle_current(void); // return BM *grp_handle
6576 
6588  static ER_DllExport int inq_body_group_type_current(void); // return current grp_type: ROBOT_GRP,TOOL_GRP,BODY_GRP
6589 
6596  static ER_DllExport int set_body_group_type(int grp_type); // set grp_type: ROBOT_GRP,TOOL_GRP,BODY_GRP
6597 
6609  static ER_DllExport void *inq_body_group_handle(int grp_type); // return BM *grp_handle, IN: grp_type = [ROBOT_GRP,TOOL_GRP,BODY_GRP]
6610 
6624  static ER_DllExport void *inq_body_handle_current(void *grp_handle=0); // return _BODYS *body_handle, IN: BM *grp_handle, if grp_handle==NULL, use current group
6625 
6658  static ER_DllExport void *inq_body_handle_byname(void *grp_handle,char *name); // return _BODYS *, IN: BM *grp_handle, char *name
6659 
6667  static ER_DllExport void *inq_body_handle_byidx(void *grp_handle,int body_idx); // return _BODYS *body_handle, IN: BM *grp_handle, body_idx [0..n-1]
6668 
6674  static ER_DllExport int inq_body_number(void *grp_handle); // return int number, IN: BM *grp_handle
6675 
6682  static ER_DllExport int set_body_handle_current(void *body_handle); // set body as current, IN: _BODYS *body_handle
6683 
6702  static ER_DllExport int inq_body_cad_type(void *body_handle); // return cad_type, IN: _BODYS *body_handle
6703 
6716  static ER_DllExport char *inq_body_name(void *body_handle); // return char *name, IN: _BODYS *body_handle
6717 
6734  static ER_DllExport frame *inq_body_ref_pos(void *body_handle); // return frame *ref, IN: _BODYS *body_handle
6735 
6752  static ER_DllExport frame *inq_body_off_pos(void *body_handle); // return frame *sKs, IN: _BODYS *body_handle
6753 
6776  static ER_DllExport frame *inq_body_ref_off_pos(void *body_handle); // return frame *sKs_tmp, IN: _BODYS *body_handle
6777 
6787  static ER_DllExport void body_update(void *body_handle); // Calc. sKs_tmp = ref*sKs IN: _BODYS *body_handle
6788 
6834  static ER_DllExport int body_renewing(void *body_handle, int cad_mem_model, int renew_param); // Renews a body after modifying its vertices xyz values via API
6835 
6845  static ER_DllExport int body_save_position(void *body_handle,int grp_type); // saves body position as start condition
6846 
6860  static ER_DllExport int body_reset_position(void *body_handle,int grp_type); // resets body position to start condition
6861 
6952  static ER_DllExport int body_merge(void *body_handle, char *igp_fln, int merge_attributes); // merges body and save to igp file
6953 
6968  static ER_DllExport frame *inq_body_Tref_pos(void *body_handle,int grp_type,frame *Tref); // return Tref frame *, IN: _BODYS *body_handle
6969 
6982  static ER_DllExport frame *inq_body_world_pos(void *body_handle,int grp_type,frame *Tworld);// return World Pos frame *Tworld, IN: _BODYS *body_handle
6983 
6990  static ER_DllExport int inq_body_idx(void *body_handle);
6991 
7002  static ER_DllExport int *inq_body_joint_attach_idx(void *body_handle); // return joint attach idx, IN: _BODYS *body_handle
7003 
7008  static ER_DllExport char *inq_body_file_name(void *body_handle);
7009 
7017  static ER_DllExport int inq_body_n_obj(void *body_handle);
7018 
7024  static ER_DllExport int inq_body_n_point_total(void *body_handle);
7025 
7031  static ER_DllExport int inq_body_n_line_total(void *body_handle);
7032 
7038  static ER_DllExport int inq_body_n_poly_total(void *body_handle);
7039 
7044  static ER_DllExport int inq_body_n_coorsys_total(void *body_handle);
7045 
7052  static ER_DllExport float *inq_body_scale(void *body_handle);
7053 
7060  static ER_DllExport float *inq_body_size(void *body_handle);
7061 
7068  static ER_DllExport int *inq_body_color_idx(void *body_handle); // Color
7069 
7078  static ER_DllExport int *inq_body_color_sub_idx(void *body_handle);
7079 
7095  static ER_DllExport int set_body_rgba_color(void *body_handle,float *rgba_color,int color_use=COLOR_USE_USER, int color_idx2change=0); // return 0-OK, 1-Error
7096 
7103  static ER_DllExport int *inq_body_render(void *body_handle);
7104 
7112  static ER_DllExport int inq_body_cad_mem_model(void *body_handle);
7113 
7120  static ER_DllExport int inq_body_n_obj_vbo(void *body_handle);
7121 
7128  static ER_DllExport float *inq_body_transparency(void *body_handle);
7129 
7135  static ER_DllExport float *inq_body_collision_tolerance(void *body_handle);
7136 
7142  static ER_DllExport int *inq_body_poly_invert(void *body_handle);
7143 
7157  static ER_DllExport int *inq_body_collision(void *body_handle);
7158 
7168  static ER_DllExport char *inq_body_coll_exl_list(void *body_handle);
7169 
7179  static ER_DllExport char *inq_body_coll_exl_list_mix(void *body_handle);
7180 
7186  static ER_DllExport ER_UID *inq_body_grab(void *body_handle); // return pointer to grab status, IN: _BODYS *body_handle
7187 
7193  static ER_DllExport int *inq_body_show_name(void *body_handle);
7194 
7199  static ER_DllExport int *inq_body_bface_culling(void *body_handle);
7200 
7206  static ER_DllExport int *inq_body_show_normals(void *body_handle);
7207 
7213  static ER_DllExport int *inq_body_show_edges(void *body_handle);
7214 
7220  static ER_DllExport int *inq_body_show_mesh(void *body_handle);
7221 
7226  static ER_DllExport int *inq_body_is_pickable(void *body_handle);
7227 
7234  static ER_DllExport int *inq_body_show_transparent(void *body_handle);
7235 
7236  // Object Handle, Object Attributes Handle
7237 
7244  static ER_DllExport void *inq_body_obj_handle(void *body_handle,int i_obj); // return VRML_OBJ *, IN: _BODYS *body_handle, int i_obj
7245 
7252  static ER_DllExport void *inq_body_obj_attributes_handle(void *body_handle,int i_obj); // return VRML_OBJ_ATTRIBUTES *, IN: _BODYS *body_handle, int i_obj
7253 
7258  static ER_DllExport int *inq_body_obj_n_point(void *obj_handle); // return number of points, IN: VRML_OBJ *obj_handle
7259 
7264  static ER_DllExport int *inq_body_obj_n_line(void *obj_handle); // return number of line, IN: VRML_OBJ *obj_handle
7265 
7270  static ER_DllExport int *inq_body_obj_n_poly(void *obj_handle); // return number of polygons, IN: VRML_OBJ *obj_handle
7271 
7276  static ER_DllExport int *inq_body_obj_n_coorsys(void *obj_handle); // return number of coorsys, IN: VRML_OBJ *obj_handle
7277 
7283  static ER_DllExport int *inq_body_obj_is_collided(void *obj_handle_attributes); // return pointer to collision flag, IN: VRML_OBJ_ATTRIBUTES *obj_handle_attributes
7284 
7289  static ER_DllExport int *inq_body_obj_max_point_in_poly(void *obj_handle); // return max number of points in polygon, IN: VRML_OBJ *obj_handle
7290 
7295  static ER_DllExport float *inq_body_obj_color_rgba(void *obj_handle_attributes);// return rgba color , IN: VRML_OBJ_ATTRIBUTES *obj_handle_attributes
7296 
7301  static ER_DllExport int *inq_body_obj_color_idx(void *obj_handle); // return pointer to color idx, IN: VRML_OBJ *obj_handle
7302 
7307  static ER_DllExport int *inq_body_obj_color_den_idx(void *obj_handle); // return pointer to deneb color idx, IN: VRML_OBJ *obj_handle
7308 
7314  static ER_DllExport int *inq_body_obj_ptrcolor(void *obj_handle_attributes); // return color pointer, IN: VRML_OBJ_ATTRIBUTES *obj_handle_attributes
7315 
7322  static ER_DllExport float *inq_body_obj_points(void *obj_handle,int idx); // return pointer to vertices with idx, IN: VRML_OBJ *obj_handle
7323 
7330  static ER_DllExport int *inq_body_obj_lines(void *obj_handle,int idx); // return pointer to lines indexes, IN: VRML_OBJ *obj_handle
7331 
7338  static ER_DllExport int *inq_body_obj_polys(void *obj_handle,int idx); // return pointer to polygons indexes, IN: VRML_OBJ *obj_handle
7339 
7346  static ER_DllExport float *inq_body_obj_normals(void *obj_handle,int idx); // return pointer to normal of polygon with idx, IN: VRML_OBJ *obj_handle
7347 
7354  static ER_DllExport frame *inq_body_obj_coorsys(void *obj_handle,int idx); // return pointer to coorsys frame with idx, IN: VRML_OBJ *obj_handle
7355 
7401  static ER_DllExport int get_body_para(void *body_handle,float *para,int *num_para); // return 0-OK 1-Error, IN: _BODYS *body_handle OUT: float *para vector, int num_para length of para vector
7402 
7449  static ER_DllExport int set_body_para(void *body_handle,float *para); // return 0-OK 1-Error, IN: _BODYS *body_handle, float *para vector
7450 
7459  static ER_DllExport int body_update_cad_file(void *body_handle=0, int use_vbo=0); // return 0-OK, 1-Error/Thread running, -1 - updating not supported, IN: _BODYS *body_handle, use_vbo: 1-use, 0-do not use
7460 
7467  static ER_DllExport int body_clear(void *grp_handle, void *body_handle); // return 0-OK 1-Error, IN: _BODYS *body_handle
7468 };
7469 
7471 // class ER_CAPI_CAD_CREATE
7472 //
7477 {
7478 public:
7479 
7496  static ER_DllExport int Create_CAD(int cad_type, char *body_name=0, float *parameter=0); // Create primitive CADs, such as CUBE, PYRAMID, ...
7497 };
7498 
7500 // class ER_CAPI_CAD_IMPORT
7501 //
7506 {
7507 public:
7528  static ER_DllExport int Import_CAD(int cad_type=0,char *fln_name=0,char *body_name=0,float *scale=0);
7529 };
7530 
7532 // class ER_CAPI_CAD_CONVERT
7533 //
7540 {
7541 public:
7542 
7550  static ER_DllExport int Convert_CAD(char *cad_file, char *igp_file=0, int confirm=1); // Converts a CAD file (step, iges,...) to Igp format
7551 
7559  static ER_DllExport int Convert_CAD_Setting(int Setting=CONVERT_CAD_DEFAULT);
7560 
7569  static ER_DllExport float Convert_CAD_SetTesselation(int Tesselation=CONVERT_CAD_TESSELATION_RESET);
7570 
7575  static ER_DllExport int Convert_CAD_ReStore(void); // Restore and reload converted CAD File into CAD Preview
7576 
7581  static ER_DllExport int Convert_CAD_Unload(void); // Unload CAD Import Kernel
7582 };
7583 
7584 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_SYS
7586 // class ER_CAPI_SYS
7587 //
7591 class ER_CAPI_SYS : public ER_CAPI
7592 {
7593 public:
7594 
7598 
7602 
7606 
7610 
7614 
7618 
7622 
7626 };
7628 // class ER_CAPI_SYS_UTILITIES
7629 //
7634 {
7635 public:
7636 
7641  static ER_DllExport void extract_fln_with_ext(char *fln,char *fln_with_ext); // IN: fln, OUT: fln_with_ext
7642 
7647  static ER_DllExport int color_idx2rgb_vad(int idx,float *rgba); // converts a color idx 'idx' to RGBA Color ('A'-Alfa value)
7648 
7653  static ER_DllExport int color_rgb2idx_vad(float *rgba); // converts RGBA Color ('A'-Alfa value) to a color idx 'idx'
7654 
7658  static ER_DllExport float *inq_rob_kin_v_usr0(void); // 1st User Vector for Testing
7659 
7663  static ER_DllExport float *inq_rob_kin_v_usr1(void); // 2nd User Vector for Testing
7664 };
7666 // class ER_CAPI_SYS_MATHEMATICS
7667 //
7672 {
7673 public:
7674 
7689  static ER_DllExport int vec_to_frame_idx (float *vec,frame *T,int rotation_idx);
7690 
7705  static ER_DllExport int frame_to_vec_idx (float *vec,frame *T,int rotation_idx);
7706 
7716  static ER_DllExport void vec_to_frame (float *vec,frame *T); // default rot_idx = ROT_XYZ
7717 
7727  static ER_DllExport void frame_to_vec (float *vec,frame *T); // default rot_idx = ROT_XYZ
7728 
7736  static ER_DllExport int *inq_rob_kin_controller_rot_idx(void);
7737 
7741  static ER_DllExport char *inq_rob_kin_controller_name(void);
7742 
7749  static ER_DllExport void inv_T (FRAME *To, FRAME *Ti); // To = inv(Ti), invert frame Ti
7750 
7757  static ER_DllExport void inv_R (FRAME *Ro, FRAME *Ri); // Ro = inv(Ri), invert (transpose) orientation frame Ri
7758 
7768  static ER_DllExport void incr_T (FRAME *Ti1, FRAME *Ti2, int res); //res=1: Ti1 = Ti1 * Ti2, out=2: Ti2 = Ti1 * Ti2
7769 
7779  static ER_DllExport void incr_R (FRAME *Ri1, FRAME *Ri2, int res); // res=1: Ri1 = Ri1 * Ri2, out=2: Ri2 = Ri1 * Ri2
7780 
7786  static ER_DllExport void cpy_R (FRAME *Ro, FRAME *Ri); // Ro = Ri
7787 
7798  static ER_DllExport float *delta_T(float *dx,frame *Ts,frame *Ti); // dx[0..2] = Ts->p[] - Ti->p[]; dx[3..5]= 'inv(Ri)*Rs'
7799 
7807  static ER_DllExport void mul_R_R(FRAME *Ro,FRAME *Ri1,FRAME *Ri2); // Ro = Ri1 * Ri2, multiplies orientation only
7808 
7816  static ER_DllExport void mul_T_T(FRAME *To,FRAME *Ti1,FRAME *Ti2); // To = Ti1 * Ti2
7817 
7827  static ER_DllExport void mul_T_invT (FRAME *To, FRAME *Ti1, FRAME *Ti2); // To = Ti1 * inv(Ti2)
7828 
7838  static ER_DllExport void mul_invT_T (FRAME *To, FRAME *Ti1, FRAME *Ti2); // To = inv(Ti1) * Ti2
7839 
7849  static ER_DllExport void mul_invT_invT (FRAME *To, FRAME *Ti1, FRAME *Ti2); // To = inv(Ti1) * inv(Ti2)
7850 
7859  static ER_DllExport void mul_T_pos (float *po,FRAME *T,float *pi); // po = T * pi, p is vector of size DIM
7860 
7870  static ER_DllExport void mul_invT_pos (float *po,FRAME *T,float *pi); // po = inv(T) * pi, p is vector of size DIM
7871 
7879  static ER_DllExport void mul_R_pos (float *po,FRAME *R,float *pi); // po = R * pi, p is vector of size DIM
7880 
7890  static ER_DllExport void mul_invR_pos (float *po,FRAME *R,float *pi); // po = R' * pi, p is vector of size DIM
7891 
7900  static ER_DllExport void mul_T_T_T(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = Ti1 * Ti2 * Ti3
7901 
7912  static ER_DllExport void mul_T_T_invT(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = Ti1 * Ti2 * inv(Ti3)
7913 
7924  static ER_DllExport void mul_T_invT_T(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = Ti1 * inv(Ti2) * Ti3
7925 
7936  static ER_DllExport void mul_T_invT_invT(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = Ti1 * inv(Ti2) * inv(Ti3)
7937 
7948  static ER_DllExport void mul_invT_T_T(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = inv(Ti1) * Ti2 * Ti3
7949 
7960  static ER_DllExport void mul_invT_T_invT(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = inv(Ti1) * Ti2 * inv(Ti3)
7961 
7972  static ER_DllExport void mul_invT_invT_T(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = inv(Ti1) * inv(Ti2) * Ti3
7973 
7984  static ER_DllExport void mul_invT_invT_invT(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3);// To = inv(Ti1) * inv(Ti2) * inv(Ti3)
7985 
7994  static ER_DllExport void rob_kin_T_mal_T ( frame *Ti1, frame *Ti2); // Ti1 = Ti1 * Ti2
7995 
8004  static ER_DllExport void rob_kin_R_mal_R ( frame *Ti1, frame *Ti2); // Ri1 = Ri1 * Ri2, orientation only
8005 
8011  static ER_DllExport void rob_kin_frame_ident(frame *T); // Set T to identity
8012 
8022  static ER_DllExport void rob_kin_rot (int rotation_idx,double q, frame *T); // rotation_idx = ROT_X, ROT_Y, ROT_Z, T = f(q,rot_idx)
8023 
8034  static ER_DllExport void rob_kin_rot_xyz(frame *T,float Rx, float Ry, float Rz); // R = Rx*Ry*Rz
8035 
8046  static ER_DllExport void rob_kin_trans (frame *T,double x, double y, double z); // T->p = [x,y,z]
8047 
8052  static ER_DllExport void dh_to_frame(ROB_DH *rdh,frame *T); // convert DH parameter into homogenous frame
8053 
8063  static ER_DllExport float sass(float s1,float beta, float s2); // triangle calculation, see EASY-ROB-ERPL-eng.pdf "parser functions"
8064 
8073  static ER_DllExport float sasa(float s1,float beta, float s2); // triangle calculation
8074 
8083  static ER_DllExport float asss(float beta, float s1,float s2); // triangle calculation
8084 
8093  static ER_DllExport float assa(float beta, float s1,float s2); // triangle calculation
8094 
8103  static ER_DllExport float assa2(float beta, float s1,float s2); // triangle calculation
8104 
8113  static ER_DllExport float sssa(float s1,float s2,float s3); // triangle calculation
8114 
8125  static ER_DllExport float sasssa(float s1,float beta,float s2,float s3,float s4);// triangle calculation
8126 
8127 
8138  static ER_DllExport float sasssa2(float s1,float beta,float s2,float s3,float s4);// triangle calculation
8139 
8146  static ER_DllExport int inq_errorflg(void); // parser error flag
8147 
8155  static ER_DllExport double parser_calc(char *str,int *error); // formel parser calculation
8156 
8163  static ER_DllExport double rob_kin_atan2(double y,double x); // atan2
8164 
8177  static ER_DllExport int circ_center_point(float *p1,float *p2,float *p3,frame *pTc,float *radius,float *phi,float *dphi=NULL); // circle calculation from p1 over p2 to p3. Return pTc circle center, radius, phi is from p1 to p3, dphi is from p1 to p2. Return 0 - ok, 1 - error
8178 };
8180 // class ER_CAPI_SYS_VIEW
8181 //
8186 {
8187 public:
8188 
8196  static ER_DllExport void grf_update_export(int chk=0); // chk=1 tests travel ranges, speeds, accels and collision
8197 
8203  static ER_DllExport int *inq_cell_info_show(void); // 1-Enable Cell Information, 0-Disable ...
8204 
8210  static ER_DllExport char *inq_cell_info(void); // Cell Information
8211 
8217  static ER_DllExport int RefreshTagWindow(int mode); // 1 - UpdatePath, 0 - UpdateTagList + UpdatePath
8218 
8219 
8245  static ER_DllExport float *inq_ergl_material_light(int ergl_param=ERGL_UNDEF, int ergl_mode=ERGL_MODE_INQ);
8246 };
8248 // class ER_CAPI_SYS_PREVIEW
8249 //
8254 {
8255 public:
8256 
8262  static ER_DllExport int UnloadCADPreview(int confirm=1);// ret 0-OK, 1-no Geometry unloaded
8263 };
8265 // class ER_CAPI_SYS_STATUS
8266 //
8272 {
8273 public:
8274 
8278  static ER_DllExport char *EasyRobProduct(void);
8279 
8283  static ER_DllExport char *EasyRobPlatform(void);
8284 
8288  static ER_DllExport char *EasyRobVer(void);
8289 
8296  static ER_DllExport int check_license(int opt_id);
8297 
8303  static ER_DllExport int get_hardware_id(char *hw_id);
8304 
8311  static ER_DllExport int Init_ER_DLL_Window(int InitOptions); // _ERDLL_ATI, Return: TRUE - ok, FALSE - Error (EASY-ROB DLL Version)
8312 
8334  static ER_DllExport char *get_system_folder_file(int request_idx=SYS_SYSTEM_FOLDER_DIRECTORY_UNDEF);
8335 
8340  static ER_DllExport int *inq_modified_cell(void); // 1-Ask "Save modified cell file" 0-"do not Ask"
8341 
8349  static ER_DllExport int set_commandline(char *cmdline);
8350 
8355  static ER_DllExport char *get_commandline(void);
8356 
8362  static ER_DllExport int CloseApplication(int confirm=0);
8363 
8388  static ER_DllExport int SetWindowPos(void* pWndInsertAfter,int x, int y, int cx, int cy, UINT nFlags); // see CWnd::SetWindowPos
8389 
8397  static ER_DllExport int GetWindowPos(int *x, int *y, int *cx, int *cy);
8398 
8405  static ER_DllExport int UnloadCell(int confirm=1); // ret 0-OK, 1-no Cell unloaded
8406 
8413  static ER_DllExport int UnloadRobot(int confirm=1); // ret 0-OK, 1-no Robot unloaded
8414 
8421  static ER_DllExport int UnloadTool(int confirm=1); // ret 0-OK, 1-no Tool unloaded
8422 
8429  static ER_DllExport int UnloadProgram(int confirm=1); // ret 0-OK, 1-no Program unloaded
8430 
8437  static ER_DllExport int UnloadMimic(int confirm=1); // ret 0-OK, 1-no Mimic unloaded
8438 
8445  static ER_DllExport int UnloadBody(int confirm=1); // ret 0-OK, 1-no Body unloaded
8446 
8453  static ER_DllExport int UnloadTag(int confirm=1); // ret 0-OK, 1-no Tag unloaded
8454 
8461  static ER_DllExport int UnloadPath(int confirm=1); // ret 0-OK, 1-no Path unloaded
8462 
8469  static ER_DllExport int UnloadPathAll(int confirm=1); // ret 0-OK, 1-no all Paths unloaded
8470 
8477  static ER_DllExport int ChkRobotCellLoaded(int confirm=0); // ret 0-OK, 1-no Robot or Cell loaded
8478 
8485  static ER_DllExport int ChkBodysCellLoaded(int confirm=0); // ret 0-OK, 1-no Body or Cell loaded
8486 
8493  static ER_DllExport int ChkToolRobotLoaded(int confirm=0); // ret 0-OK, 1-no Tool or Robot loaded
8494 
8501  static ER_DllExport int ChkTagsLoaded(int confirm=0); // ret 0-OK, 1-no Tags loaded
8502 
8512  static ER_DllExport int ChkPrgLoaded(int confirm=0,int set_prg_dev=0); // ret 0-OK, 1-no Programs loaded, set_prg_dev=1: if cDev has no program, the first device with a loaded program is set current
8513 
8520  static ER_DllExport int ChkPrgMimicLoaded(int confirm=0); // ret 0-OK, 1-no Mimic loaded
8521 
8525  static ER_DllExport char *GetCellfile(void); // return name of current loaded cell file
8526 
8530  static ER_DllExport char *inq_config_workdir(void); // return folder string for current working directory
8531 
8536  static ER_DllExport char *GetSystemPath(void); // EasyEdit, return system path
8537 
8542  static ER_DllExport int *inq_EasyRobDll_Active(void); // EASY-ROB DlL, 1-EASY-ROB available, 0-EASY-ROB Application not available
8543 
8548  static ER_DllExport int *inq_EasyRobDll_Activ(void); // Obsolete use inq_EasyRobDll_Active()
8549 
8553  static ER_DllExport void *inq_EasyRobDll_Hwnd(void); // EASY-ROB DlL, return (void *)CWnd
8554 
8558  static ER_DllExport ER_UID inq_EasyRobDll_Hwnd_ex(void); // EASY-ROB DlL, return HWND, GetSafeHwnd();
8559 
8567  static ER_DllExport int ShellExecuteOpen(char *prg, char *parameter=NULL, int nShowCmd=SW_SHOWNORMAL);
8568 
8575  static ER_DllExport int ShellExecuteEdit(char *fln);
8576 };
8578 // class ER_CAPI_SYS_UNITS
8579 //
8584 {
8585 public:
8586  // unit conversation
8587 
8591  static ER_DllExport float *sys_m_to_unit(); // scaling to convert unit from 'm' to the unit defined in the easy-rob.env
8592 
8596  static ER_DllExport float *sys_unit_to_m(); // scaling to convert unit defined in the easy-rob.env into 'm'
8597 
8601  static ER_DllExport char *sys_user_unit(); // unit string defined in the easy-rob.env, i.e. [mm]
8602 };
8603 
8605 // class ER_CAPI_SYS_USERDLL
8606 //
8787 {
8788 public:
8799  static ER_DllExport int inq_UserDll_number(); // get number of loaded UserDlls
8800 
8808  static ER_DllExport char *inq_UserDll_dll_name(int userdll_idx); // access dll name for UserDll
8809 
8835  static ER_DllExport char *inq_UserDll_user_name(int userdll_idx); // access user name for UserDll
8836 
8846  static ER_DllExport int inq_UserDll_dll_status(int userdll_idx); // get dll_status for UserDll
8847 
8880  static ER_DllExport void **inq_UserDll_usr_ptr(int userdll_idx); // access user pointer for UserDll
8881 
8892  static ER_DllExport int set_callback_AuxUpdate(int callback_fct_id, int (*callback_AuxUpdate)(int idx,int sub_idx)); // set callback fct pointer for AuxUpdate
8893 
8904  static ER_DllExport int set_callback_ProglineUpdate(int callback_fct_id, int (*callback_ProglineUpdate)(char *progline)); // set callback fct pointer for ProglineUpdate
8905 };
8906 
8908 // class ER_CAPI_SYS_APIDLL
8909 //
8920 {
8921 public:
8922 };
8923 
8924 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static
8925 
8927 // static
8929 /* Unload a Model. Free all allocated memory
8930 */
8935 EXPORT_C ER_CAPI *_inq_er_capi(void); // ER_CAPI *p = _inq_er_capi();
8936 
8937 /*
8938 //--------------------------------------------------------------------------------------------------
8939 //
8940 // The usage of below definitions is optional, but recommended for a better support by EASY-ROB
8941 //
8942 //--------------------------------------------------------------------------------------------------
8943 
8944 #define ER_DllExport
8945 #include "er_capi_types.h"
8946 #include "er_capi.h"
8947 #include "er_capi_definitions.h"
8948 */
8949 
8950 #endif
Method class, supplies dialogs, i.e. to enter and show values.
Definition: ER_CAPI.H:397
static ER_DllExport char * inq_tool_name_idx(int ctool_idx)
Get tool name by tool idx.
static ER_CAPI_SIM er_capi_sim
Method class for simulation settings.
Definition: ER_CAPI.H:91
static ER_DllExport frame ** inq_bTpjnt_ref(void)
Reference of robot base to passive joints as move base, get from &#39;B&#39; and ax_idx.
static ER_DllExport int camera_enable(int enable)
Enable camera.
static ER_DllExport char * inq_rob_tag_prefix_name_idx(int idx)
Tag_attributes, complete tag name The complete tag name is tagprefix + tagname See inq_rob_tag_prefix...
static ER_DllExport int * inq_body_show_name(void *body_handle)
Show the name of body givin by a handle Allows to dis- or enable visualizazion of body name...
static ER_DllExport float * inq_v_dyn(void)
Actual dynamics joint speed values see inq_q_dyn(), inq_model_z1(), inq_model_z2() and inq_a_dyn() = ...
static ER_DllExport int * inq_collision_chk_always()
Causes an AuxUpdate() call if set and if a workcell collision occured AuxUpdate idx = AUX_UPDATE_IDX_...
static ER_DllExport char * EasyRobVer(void)
EASY-ROB Product Version.
static ER_DllExport void inv_T(FRAME *To, FRAME *Ti)
Builds the inverse of a homogeneous 4x4 transformation matrix Ti. To = inv(Ti) = ( Ri&#39; ...
static ER_DllExport void mul_invT_invT(FRAME *To, FRAME *Ti1, FRAME *Ti2)
Multiplication of two homogeneous 4x4 transformation matrices. To = inv(Ti1) * inv(Ti2) Remarks inv(...
static ER_DllExport int * inq_device_link_ref_sys_type(void)
Linkage reference type of the current device The linkage reference type can be one of the following v...
static ER_DllExport int * inq_Get_c_path_owner_select()
Get current path owner selection flag.
static ER_DllExport double * inq_sing_tol(void)
Singularity tolerance for each axis [m,rad].
static ER_DllExport int * inq_fwd_kin_reason(void)
Reason for calculation the forward kinematics, return FWD_REASON_UNKNOWN ... FWD_REASON_CAD_EXPORT.
static ER_DllExport char * inq_Get_device_name_by_idx(int idx)
Get device name by device idx [1..n_devices] if idx is not valid, NULL is returned.
static ER_DllExport float * inq_ipo_path_ax_ori(void)
Programmed orientation acceleration in [deg/s^2].
static ER_DllExport int * inq_tool_render(void)
Render of cRobots Tool.
static ER_DllExport int CreateRobotTemplate_ext(char *rob_path_fln, char *rob_name, int cad_type, int n_cad_names, char **cad_fln_names, char **cad_names, frame *refpos, frame *pos, float *xyz_scale, bool overwrite=true)
Creates a robot template file with multiple geometries. The geometry can be parameterized by cad_type...
static ER_DllExport float * inq_uc1(void)
Controller signal last sampling step see inq_uc()
static ER_DllExport float * inq_ax_max(void)
Max. cart. acceleration [m/s^2].
static ER_DllExport float * inq_rob_tag_lag_time_idx(int idx)
tag_attributes, wait time when targte reached, 0-def [s]
Method class for the CAD-Preview.
Definition: ER_CAPI.H:8253
static ER_DllExport int * inq_track_color(void)
Tcp trace color.
static ER_DllExport float * inq_ipo_data_lead_time(void)
Time before the motion starts [s] for cRobot.
static ER_DllExport int ChkBodysCellLoaded(int confirm=0)
Check if Bodies are loaded If paramter confirm is set to 1, the user will be prompted to confirm upco...
static ER_DllExport int set_body_group_type(int grp_type)
Set group type for internal temporary geometry template Parameter grp_type is one of ROBOT_GRP...
static ER_DllExport frame * inq_single_cmd_base(void)
Base transformation to shift the target location Has efffect when running an ERPL motion command such...
Method class for monitoring of travel ranges, speeds, etc.
Definition: ER_CAPI.H:5019
static ER_DllExport ER_UID * inq_device_link_ref_sys_grp_uid(void)
Linkage Unique ID of the reference device current device The Unique ID depends on the linkage referen...
static ER_DllExport int SetAxisEnable(int axisBit, int enable)
Set axis enable Parameter enable is 1 for enable or 0 for disable.
static ER_DllExport char * inq_device_sync_ref_sys_type_name(void)
Obsolete, use inq_device_link_ref_sys_type_name()
static ER_DllExport int Device_Sync_by_idx(int new_reference_type, int new_reference_device_idx=0, int *new_reference_jnt_link_idx=NULL)
Obsolete, use Device_Link_by_idx()
static ER_DllExport int zoom_cTag(int zoom_flag=ZOOM_FLAG_DEFAULT)
Zoom cTag to the center of the 3D Scene zoom_flag is a bitwise inclusive OR operator (|) of ZOOM_FLAG...
static ER_DllExport int * inq_ipo_path_path_motion_idx(void)
Path motion idx when interpolating to a target tag.
static ER_DllExport frame * inq_single_cmd_via_T(void)
Via Point location for circular motion Has efffect when running an ERPL motion command such as CIRC w...
static ER_DllExport float * inq_body_size(void *body_handle)
XYZ size vector of body givin by a handle The size vector values are a result of the original geometr...
static ER_DllExport int inq_config(void)
Return current robot configuration within [0..KIN_CONFIGS-1], see also inq_num_configs() ...
static ER_DllExport int moni_msg(char *fmt,...)
Output into the message file moni_msg.txt.
static ER_DllExport char * inq_UserDll_dll_name(int userdll_idx)
Access dll name for API UserDlls The number of currently loaded UserDll can be retrieved with inq_Use...
static ER_DllExport int Device_ReAttach_by_name(int new_reference_type, char *new_reference_device_name, int new_reference_jnt_idx, bool keep_world_position)
Attaches the current device to another device Attaches the current device to another device...
static ER_DllExport int * inq_ipo_path_turn(void)
Turn values for each joint takes effect when calculating the target joint based on inverse kinematics...
static ER_DllExport int SetAxisConstraints(int axisBit=0x3FF, int setting=0, float qConstraintMin=0, float qConstraintMax=0)
Set axis constraints Parameter setting is a bitwise inclusive OR operator (|) of AUTOPATH_CONSTRAINT_...
static ER_DllExport int Device_Link_by_name(int new_reference_type, char *new_reference_device_name=NULL, int *new_reference_jnt_link_idx=NULL)
Link current device to another device by name new_reference_type one of REF_NO_REF=0 or REF_JNT=9 ne...
static ER_DllExport int SetParameter(int ap_option, int ap_value)
Set Autopath calculation parameter Parameter ap_option is one of AUTOPATH_PARAMETER_DYNADJUST, AUTOPATH_PARAMETER_ALGORITHM, AUTOPATH_PARAMETER_NTREES, AUTOPATH_PARAMETER_MIN_NUM_WAYPOINTS, AUTOPATH_PARAMETER_FORCE_DETERM_BEHAVIOR, AUTOPATH_PARAMETER_LIMIT_REVOLUTE_JNT_CSPACE, AUTOPATH_PARAMETER_THREAD_PRIORITY, AUTOPATH_PARAMETER_OUTPUT_SETTINGS.
static ER_DllExport char * inq_rob_tag_prefix_idx(int idx)
Tag_attributes, get tag prefix The complete tag name is tagprefix + tagname See inq_rob_tag_name_idx(...
static ER_DllExport void ** inq_dyn_cntrl_usr_ptr(void)
Access user pointer for dynamics controller in er_dyn.dll This allows the user to allocate individual...
static ER_DllExport int * inq_speed_chk_always()
Causes an AuxUpdate() call if set and if joint speeds are exceeded AuxUpdate idx = AUX_UPDATE_IDX_SPE...
static ER_DllExport float sssa(float s1, float s2, float s3)
Triangle calculation, calculates angle opposite of s1 Remarks See EASY-ROB-ERPL-eng.pdf &quot;parser functions&quot;.
static ER_DllExport int body_clear(void *grp_handle, void *body_handle)
Unload a body.
static ER_DllExport int * inq_rob_track_vis_attrib(void)
Tcp trace attributes visibility for cRobot.
static ER_DllExport float * inq_ipo_path_aq_ov(void)
programmed Joint acceleration override [%]
static ER_DllExport float * inq_body_obj_color_rgba(void *obj_handle_attributes)
RGBA Color of an object.
Method class for importing existing 3D geometries (IGP, STL, 3DS)
Definition: ER_CAPI.H:7505
static ER_DllExport void moni_s(char *s, short *v, int n)
Vector output into the message file moni_msg.txt.
static ER_DllExport int * inq_num_kin_user_data(void)
Number of Sets of Kin User Data See also inq_kin_user_data_name(), inq_kin_user_data() ...
static ER_DllExport frame * inq_bTmb(void)
Robot base to moveable base frame.
static ER_DllExport int set_callback_ProglineUpdate(int callback_fct_id, int(*callback_ProglineUpdate)(char *progline))
Defines callback fct pointer array for ProglineUpdate Parameter callback_fct_id is zero based in [0...
static ER_DllExport float * inq_ipo_path_vx_ori_ov_set(float ov)
Calc. vx_ori as percentage value of inq_vx_ori_max(), return inq_ipo_path_vx_ori() ...
static ER_DllExport int get_body_para(void *body_handle, float *para, int *num_para)
Body parameter The content of the parameter vector para depends of the &quot;cad_type&quot;, see inq_body_cad_type() which is one of:
static ER_DllExport int inq_body_n_obj(void *body_handle)
Number of object within body givin by a handle A body contains a number of objects Each object consis...
static ER_DllExport int GetWindowPos(int *x, int *y, int *cx, int *cy)
Get the position and size of EASY-ROB&#39;s OpenGL window.
Method class for converting external neutral and native CAD formats (STEP, IGES, JT-Open, CATIA, Pro/E, and so on) into the internal IGP Part File Format.
Definition: ER_CAPI.H:7539
static ER_DllExport char * inq_rob_kin_controller_name(void)
Returns the Controller name for the cRobot.
static ER_DllExport frame * inq_bTw_dyn(void)
Actual Transformation from Robot base to Tcp, depending on actual joint data.
static ER_CAPI_USER_IO_3DPDF er_capi_user_io_3dpdf
Method class for 3D Pdf Export.
Definition: ER_CAPI.H:134
static ER_DllExport float * inq_cntrl_step(void)
Sample rate position controller for cRobot [s].
static ER_DllExport void moni_v(char *s, float *v, int n, float scal)
Vector output into the message file moni_msg.txt.
static ER_DllExport frame * inq_body_ref_off_pos(void *body_handle)
Return resulted position T_ref_off of a body givin by a handle Parameter body_handle must be valid an...
static ER_DllExport int UnloadTag(int confirm=1)
Unload current Tag If paramter confirm is set to 1, the user will be prompted to confirm this operati...
static ER_DllExport int inq_errorflg(void)
Parser error flag Remarks call this function after calling parser_calc()
static ER_DllExport frame * inq_iTb(void)
Attach position (reference position) to robot base If the robot is not attached, the attach position ...
Method class for access to geometry parameter: Location, polygons, vertices, attributes, etc.
Definition: ER_CAPI.H:6562
static ER_DllExport int * inq_rob_tag_confdata_idx(int idx)
Tag_attributes, robot configuration, 0-def.
static ER_DllExport int CruiseAuto(void)
Set Cruise mode to Auto.
static ER_DllExport float * inq_rob_tag_speed_ptp_ax_ov_idx(int idx)
tag_attributes, ptp_ax override speed 0-def [0-200%]
static ER_DllExport int * inq_kin_id(void)
Kinematics ID.
static ER_DllExport char * inq_kin_user_data_file(void)
Kinematics data file for user kinematics.
static ER_DllExport float * inq_ipo_prep_strt_q(void)
Robot joint data at start location.
static ER_DllExport int body_renewing(void *body_handle, int cad_mem_model, int renew_param)
Renews a body after modifying its vertices xyz values via API Parameter body_handle must be valid and...
static ER_DllExport void inv_R(FRAME *Ro, FRAME *Ri)
Builds the inverse of the 3x3 orientation matrix from a homogeneous 4x4 transformation matrix T...
static ER_DllExport int LoadCamera(void)
Opens Dialog to load a .cam Camera file.
static ER_DllExport int U3DPdf_ExportAPI_SetCallbackProgressExportU3DScene(void(*ptr_ProgressFctExportU3DScene)(double))
Defines a callback function for ExportU3DScene progress messages when saving the 3D PDF file Paramete...
Denavit Hartenberg Parameter T = Rot(z,theta)*Trans(z,d)*Trans(x,a)*Rot(x,alfa)
static ER_DllExport void mul_invT_T_invT(FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * Ti2 * inv(Ti3) Rem...
static ER_DllExport int Get_cPickedItem(void)
Returns picked item MP_HIT_INVALID ... MP_HIT_CADPREVIEW The picked item can be one of the following ...
static ER_DllExport void mul_invT_invT_invT(FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * inv(Ti2) * inv(Ti3...
static ER_DllExport int rob_kin_vortrans_q(float *qn, frame *bTt, frame *mbTt, int n_dofs)
Calling forward kinematics The forward kinematics calculates, depending on joint location q ...
static ER_DllExport int ChkPrgMimicLoaded(int confirm=0)
Check if a robot Mimic file is loaded If paramter confirm is set to 1, the user will be prompted to c...
static ER_DllExport float * inq_sim_step(void)
Sample rate simulation step size [s].
static ER_DllExport void mul_T_T(FRAME *To, FRAME *Ti1, FRAME *Ti2)
Multiplication of two homogeneous 4x4 transformation matrices. To = Ti1 * Ti2 A frame FRAME is a homo...
static ER_DllExport float * inq_q_solut_passive(void)
Desired passive joint axis values.
static ER_DllExport float * inq_single_cmd_unit_scal_rot(void)
Defines units and scaling for rotational values Has efffect for all ERPL command using values ERPL co...
static ER_DllExport float * inq_single_cmd_unit_scal_trans(void)
Defines units and scaling for translational values Has efffect for all ERPL command using values ERPL...
static ER_DllExport char * inq_Get_device_name_by_uid(ER_UID uid)
Get device name by device unique id if uid is not valid, NULL is returned.
static ER_DllExport int * inq_body_obj_lines(void *obj_handle, int idx)
Line segment indexes of an object Use er_cad_io.inq_body_obj_n_line() to get the number of lines of a...
static ER_DllExport int * inq_dialogs_warning_enable(void)
Suppresses the appearance of warning dialogs, if unset (0) Remarks Per default appearance is enabled...
static ER_DllExport char * inq_path_ref_sys_name(void)
Reference name of the cPath where the path is attached to The reference name (name of attach location...
static ER_DllExport int dialog_string(char *title, int n, char **ww, char **v, int len)
Opens dialog to enter strings This Dialog allows to enter the string v for several items in the strin...
static ER_DllExport float * inq_ipo_path_vq_ov(void)
programmed Joint speed override [%]
static ER_DllExport IPO_MODE * inq_ipo_data_ipo_mode(void)
Current interpolation mode The interpolation mode is one of JOINT=0 Motion type Synchro PTP CP=1 Moti...
static ER_DllExport float * GetStartPose(void)
Get current robot joint location start pose Remarks This pose must be set before, use SetStartPose()
static ER_DllExport int Path_ReAttach_by_uid(int path_idx, int new_reference_type, ER_UID new_reference_device_uid, int new_reference_cad_grp_type=ROBOT_GRP, char *new_reference_cad_name=NULL, int new_reference_jnt_idx=0, bool keep_world_position=false)
Reattach a path to a device, givin by device unique ID Attaches the path given by path_idx to a devic...
static ER_DllExport float assa(float beta, float s1, float s2)
Triangle calculation, calculates angle between s1 and s2 Remarks See EASY-ROB-ERPL-eng.pdf &quot;parser functions&quot;.
static ER_CAPI_MOP er_capi_mop
Method class for trajectory planning and -execution.
Definition: ER_CAPI.H:1990
static ER_DllExport int Device_ReAttach_by_idx(int new_reference_type, int new_reference_device_idx, int new_reference_jnt_idx, bool keep_world_position)
Attaches the current device to another device Attaches the current device to another device...
static ER_DllExport float * inq_model_z1(void)
Actual joint speed one sampling step before see inq_v_dyn(), inq_model_z2()
static ER_DllExport float * inq_rob_tag_speed_ori_ov_idx(int idx)
Tag_attributes, ori override speed, 0-def [0-200%].
static ER_DllExport float * inq_cntrl_aux3(void)
3rd Auxiliary controller parameter
static ER_CAPI_SYS_VIEW er_capi_sys_view
Method class for graphical update of the 3D scene, refreshing dialogs, etc.
Definition: ER_CAPI.H:7605
static ER_DllExport int inq_Set_device_name(char *device_name)
Sets current device by name of the robot Remarks A device name must be unique.
static ER_DllExport float inq_Calc_path_length(int path_idx, int tag_idx_strt, int tag_idx_end, int ret_angle=0)
Calculates the length of a path.
static ER_DllExport frame * inq_mbTt(void)
Moveable base to Tip.
static ER_DllExport float * inq_rob_tag_accel_cp_idx(int idx)
Tag_attributes, cp acceleration, 0-def, [m/s^2].
static ER_DllExport void mul_T_pos(float *po, FRAME *T, float *pi)
Multiplication of a 3x1 position with a homogeneous 4x4 transformation matrices. po = T * pi...
static ER_DllExport int * inq_path_ref_sys_jnt_idx(void)
Reference joint idx of the cPath, if the reference type is REF_JNT The number of reference joint is r...
static ER_CAPI_USER_IO_FILE er_capi_user_io_file
Method class to load and save work cells-, robots-, tool-files, etc.
Definition: ER_CAPI.H:118
static ER_DllExport float * inq_coll_min_distance_pc(void)
Collision point &#39;pc&#39; w.r.t. world.
static ER_DllExport int * inq_red_blue_collision(void)
Enables, disables red/blue collision.
static ER_DllExport float * inq_ipo_path_vxs_ori(void)
Orientation start speed in [deg/s].
static ER_DllExport void chk_collision_export(void)
Enables and initializes collision check if disabled.
static ER_DllExport float * inq_dq(void)
Joint error see also inq_bdxw()
static ER_DllExport int * inq_robot_render(void)
Render of cRobot.
static ER_DllExport int copy_current_tag_data(void)
Copies cTag to tag_copy and to show tag &#39;c_tag&#39; This method copies all cTag data to the &quot;copyTag&quot; The...
static ER_DllExport int swap_TagUp(void)
Swaps Tag pointer with the prev Tag.
static ER_CAPI_MOP_PREP er_capi_mop_prep
Method class for trajectory planning (preparation)
Definition: ER_CAPI.H:3909
static ER_DllExport int * inq_body_color_idx(void *body_handle)
Color idx of body givin by a handle The color idx is a positive value see set_body_rgba_color() ...
static ER_DllExport int inq_body_n_poly_total(void *body_handle)
Number of total polygons within body givin by a handle A body contains a number of objects...
static ER_DllExport char * inq_robot_name(void)
Name of cRobot.
static ER_DllExport void mul_invT_T(FRAME *To, FRAME *Ti1, FRAME *Ti2)
Multiplication of two homogeneous 4x4 transformation matrices. To = inv(Ti1) * Ti2 Remarks inv(T) is...
#define EXPORT_C
Definition: ER_CAPI.H:18
static ER_DllExport int LoadMimic(void)
Opens Dialog to load a .mmc Mimic file.
static ER_DllExport void ** inq_kin_usr_ptr(void)
Access user pointer for user kinematics in er_kin.dll This allows the user to allocate individual mem...
Method class for manipulation of tags and access tag attributes.
Definition: ER_CAPI.H:5721
static ER_DllExport int data_update_all_devices(void)
Forces mathematical update for all devices, use before calling chk_limits(::AUX_UPDATE_IDX_COLLISION)...
static ER_DllExport int * inq_body_obj_ptrcolor(void *obj_handle_attributes)
Color pointer Idx of an object see inq_body_obj_attributes_handle() to retrieve the object attribute ...
static ER_DllExport float * inq_a_max(void)
Max. joint or axis acceleration [rad/s^2,m/s^2].
static ER_DllExport frame * inq_ipo_prep_ie_Ts_sync(void)
EasyEdit cTcp location w.r.t. Conveyor position.
static ER_DllExport float * inq_ipo_path_aqe(void)
Programmed Joint end acceleration in [deg/s^2], obsolete use inq_ipo_path_aq_decel_axis() ...
static ER_DllExport int rob_kin_jacobian_q(float *qn, frame *tTw, float *jac, int n_dofs, float delta_scale=1)
Calculation of Jacobian matrix This method calculates, depending on robots joint location q ...
static ER_DllExport char * inq_kin_direction_activ(void)
&#39;X&#39;-,&#39;Y&#39;- or &#39;Z&#39;- direction for active joints Remarks For a six axis robot the direction string coul...
static ER_DllExport int inq_rob_tag_color_set_idx(int idx, int color)
tag_attributes, set color of tag
Definition: ER_CAPI_TYPES.H:117
static ER_DllExport frame * inq_ipo_prep_strt_T(void)
Start TCP location.
Definition: ER_CAPI_TYPES.H:534
static ER_DllExport float * inq_model_theta_base(void)
symplified inertia
static ER_DllExport char * U3DPdf_ExportVer(void)
3D PDF Export Version
static ER_DllExport int * inq_collision(void)
Enables, disables collision.
static ER_DllExport int PickDistancePoint(int hold_first_point=0)
Enables the user to measure the Distance between Points/Vertices. Parameter hold_first_point can be o...
static ER_DllExport int UnloadMimic(int confirm=1)
Unload current robot Mimic file If paramter confirm is set to 1, the user will be prompted to confirm...
static ER_DllExport frame * GetRotView(int rot_view_type)
Return the rotation &quot;View&quot; transformation based on rot_view_type Parameter rot_view_type is one of ...
static ER_DllExport int * inq_track_ref_sys_type(void)
Reference type of the tcp trace The reference type (attach location) can be one of the following valu...
static ER_DllExport int zoom_cTcp(int zoom_flag=ZOOM_FLAG_DEFAULT)
Zoom cTcp (current robot tcp) to the center of the 3D Scene zoom_flag is a bitwise inclusive OR opera...
static ER_DllExport ER_UID * inq_path_ref_sys_grp_uid(void)
Unique ID of reference device/robot where the path is attached to The Unique ID depends on the attach...
static ER_DllExport float * Get_cPickResults(int result_idx)
Returns the picking result The result_idx can be one of the following values. PICK_RESULT_DEFAULT sam...
static ER_DllExport int move_to_ax_api(void *vrpd, int line_no, int step_no, char *prg_line, float *qs, int extax_mode=EXTAX_MODE_OFF, float *v_linext=NULL, int *q_linext_idx=NULL)
Moves to joint target data qs.
static ER_DllExport char * inq_body_coll_exl_list_mix(void *body_handle)
Collision exclude list of mixed group used for robot itself collision The string contains indices of ...
static ER_DllExport float * inq_turn_offset(void)
Range shift, default=0 for each axis // Index for Turn Range, default=0.
static ER_DllExport float * inq_sim_time(void)
Global simulation time [s].
static ER_DllExport char * AutoPathVer(void)
AutoPath Version.
static ER_DllExport char * inq_kin_chain_type_activ(void)
&#39;C&#39; in kin chain (default); &#39;_&#39; NOT in kin. chain; &#39;-&#39; separated &amp; NOT in kin.chain Remarks For a si...
Method class for executing ERPL- and ERCL commands.
Definition: ER_CAPI.H:5419
static ER_DllExport int * inq_dialogs_error_enable(void)
Suppresses the appearance of error dialogs, if unset (0) Remarks Per default appearance is enabled...
static ER_DllExport int * inq_move_base(void)
Moveable base mode Used for special kinematics such as a CMM with a moving table as joint 1...
static ER_DllExport char * inq_body_name(void *body_handle)
Return name of a body givin by a handle Parameter body_handle must be valid and not 0 ...
static ER_DllExport int * inq_rob_tag_circ_ori_mode_idx(int idx)
tag_attributes, orientation interpolation mode for CIRC motion type default is 5 - CIRC_QUATERNION ...
static ER_DllExport char * sys_user_unit()
Unit string defined in the environment file easy-rob.env, i.e. [mm].
static ER_DllExport float * inq_body_collision_tolerance(void *body_handle)
Collision tolerance value of body givin by a handle The collision tolerance in [mm] defines a &#39;skin&#39; ...
static ER_DllExport void body_update(void *body_handle)
Update a body givin by a handle Parameter body_handle must be valid and not 0 Remarks This method mu...
static ER_DllExport int LoadAuto(char *fln)
Loads a file depending on file extension.
static ER_DllExport frame * inq_bTw(void)
Robot Base to TCP.
static ER_DllExport int Create_CAD(int cad_type, char *body_name=0, float *parameter=0)
Creates primitive CADs, such as CUBE, PYRAMID, ... Parameter cad_type for a primitive CAD geometry i...
static ER_DllExport int * inq_single_cmd_via_point_idx(void)
Indicates that a Via Point location is available when running a CIRC command Has efffect when running...
static ER_DllExport float * inq_rob_tag_speed_ori_idx(int idx)
Tag_attributes, ori speed, 0-def, [rad/s].
static ER_DllExport int SavePathes(void)
Opens a dialog to save a .tag File containing all pathes.
static ER_DllExport int camera_focus(float focus)
Set camera focus.
static ER_DllExport float * inq_ergl_material_light(int ergl_param=ERGL_UNDEF, int ergl_mode=ERGL_MODE_INQ)
Request OpenGL material or light attributes Remarks Parameter ergl_param defines the requested value...
static ER_DllExport int * inq_rob_track_vis(void)
Tcp trace visibility for cRobot.
static ER_DllExport int * inq_body_show_edges(void *body_handle)
Show body edges Allows to dis- or enable visualizazion of body edges.
static ER_DllExport int PickSnapToolTo(int SnapToMode=0)
Enables the user to snap a Tool to a polygon or a vertex. Parameter SnapToMode can be one of the foll...
static ER_DllExport float * inq_body_scale(void *body_handle)
XYZ scaling vector of body givin by a handle The scaling vector has positive values &gt;0 and scales the...
static ER_DllExport char * inq_path_ref_sys_type_name(void)
The name of reference type where the path is attached to The reference type name (name of attach loca...
static ER_DllExport float * inq_rob_tag_speed_cp_ov_idx(int idx)
Tag_attributes, cp override speed, 0-def [0-200%].
static ER_DllExport int * inq_body_obj_n_point(void *obj_handle)
Number of points within an object.
static ER_DllExport int SaveRobot(void)
Opens a dialog to save a .rob Robot file.
static ER_DllExport frame * inq_kin_achs_T0_passiv(int passiv_jnt_no)
Homogeneous-Transformation to previous joint for each passive joint &quot;Geometric Data from last&quot;...
Method class kinematics and transformations.
Definition: ER_CAPI.H:2415
static ER_DllExport frame * inq_pjntTmb(void)
Transformation from passive joint to moveable base frame.
Method class for helping functions, color conversion, etc.
Definition: ER_CAPI.H:7633
static ER_DllExport float * inq_rob_tag_accel_ptp_ax_ov_idx(int idx)
tag_attributes, ptp_ax override accel 0-def [0-200%]
static ER_DllExport void rob_kin_rot(int rotation_idx, double q, frame *T)
Set orientation of homogeneous 4x4 transformation matrix. T = f(q,rotation_idx) The rotation index ro...
const int START_CONDITION_RESET_ALL_ROBOTS
Start Condition Reset for all Robots + Environment.
Definition: ER_CAPI_TYPES.H:507
static ER_DllExport int inq_Get_n_tags()
Get number of tags in current path.
static ER_CAPI_ROB_ATRIBUTES er_capi_rob_attributes
Method class for robot/device attributes, travel ranges, home position, device name, ...
Definition: ER_CAPI.H:2425
static ER_DllExport int * inq_kin_attach_dof_passiv(void)
Index of aJnt, where pJnt is attachd to If 0, the passive joint is attached to the robot base...
static ER_DllExport int * inq_move_base_jnt(void)
Passive joint idx representing the moveable base.
static ER_CAPI_SYS er_capi_sys
Method class for mathematical calculations, simulation status, units.
Definition: ER_CAPI.H:103
static ER_DllExport int _info_line_msg_q(int moni, char *s, float *q, int no_auto_scal=0)
Vector output into Message Window, for each joint of current robot, scaled by DEG or m2mm If paramete...
static ER_DllExport float sasa(float s1, float beta, float s2)
Triangle calculation, calculates the angle at side s2 Remarks See EASY-ROB-ERPL-eng.pdf &quot;parser functions&quot;.
static ER_DllExport int ChkAnimExec(int confirm=0)
Check if animation is running.
static ER_DllExport int AbortRunProgram(void)
Abort running simulation.
static ER_DllExport int rob_kin_q_in_travel_range(float *q)
Transforms all revolute joints into valid travel range.
static ER_DllExport int dialog_get_file(char *fln, char *dialog_title)
Opens a dialog, for selecting an existing file.
Method class for creating primitive geometries such as cubes, cylinder, spheres, etc.
Definition: ER_CAPI.H:7476
static ER_CAPI_SYS_MATHEMATICS er_capi_sys_mathematics
Method class for mathematical calculations, multiplications of homogeneous matrices, conversion Euler angle, triangle calculations, formula parser, etc.
Definition: ER_CAPI.H:7601
static ER_CAPI_ROB_DYN er_capi_rob_dyn
Method class for dynamics, controller parameter, sampling rates.
Definition: ER_CAPI.H:2429
static ER_DllExport int dialog_values(char *title, int n, char **ww, float *v, float *vmin, float *vmax)
Opens a Enter Value dialog This Dialog allows to enter the values for several items in the string arr...
static ER_DllExport float * inq_rob_tag_acc_set_acc_idx(int idx)
Tag_attributes, AccSet Acc, 100-def [20-100%] Set AccSet Acc to 20% for smooth acceleration Set AccSe...
static ER_DllExport int calc_TurnValue(float *q=NULL, int *turn_value=NULL)
Calculates turn value depending on robot joints q The turn_value depends on current robot joints and...
static ER_DllExport float * GetConfigurationPose(void)
Get current configuration pose Remarks Access the current configuration pose before checking the con...
Method class to load and save work cells-, robots-, tool-files, etc.
Definition: ER_CAPI.H:143
static ER_DllExport double * inq_sing_tolx(void)
translational singularity tolerance [m]
static ER_CAPI_SIM_ERPL er_capi_sim_erpl
ethod class for executing ERPL- and ERCL commands
Definition: ER_CAPI.H:4971
static ER_DllExport float * inq_ipo_data_old_q(void)
Joint data at last interpolation step.
static ER_DllExport float * sys_unit_to_m()
Scaling value to convert the user defined unit defined in the environment file easy-rob.env into the internal unit &#39;m&#39;.
static ER_DllExport char * EasyRobProduct(void)
EASY-ROB Product.
static ER_DllExport int Device_Sync_by_name(int new_reference_type, char *new_reference_device_name=NULL, int *new_reference_jnt_link_idx=NULL)
Obsolete, use Device_Link_by_name()
static ER_DllExport char * inq_Get_c_tag_name()
Get current tag name = prefix + postfix.
static ER_DllExport float * inq_Get_c_path_angle_len()
Get angle length of complete path for current selected path.
static ER_DllExport char * inq_joint_passive_name_idx(int cjoint_idx)
Name of passive joint with cjoint_idx = [0..KIN_PASSIV_JNTS-1].
static ER_DllExport int * inq_rob_track_dyn_vis(void)
Dynamics Tcp trace visibility.
static ER_DllExport int * inq_ipo_data_ipo_step_loop(void)
Trajectory Execution is called sim_step or at ipo_step rate The sim_step rate is normally lower than ...
static ER_DllExport ER_UID * inq_body_grab(void *body_handle)
Grab status of body givin by a handle Obsolete: Only if the body belongs to BODY_GRP, it could be grabbed by the robot.
static ER_DllExport int * inq_body_poly_invert(void *body_handle)
Polygon invert flag of body givin by a handle If the polygon invert flag is set, all polygons of body...
static ER_DllExport frame * inq_ipo_prep_inter_T(void)
Intermediate Location (ViaPoint) for circular motion.
static ER_CAPI_CAD_CONVERT er_capi_cad_convert
Method class for converting external neutral and native CAD formats (STEP, IGES, JT-Open, CATIA, Pro/E, and so on) into the internal IGP Part File Format.
Definition: ER_CAPI.H:6539
static ER_DllExport int * inq_ipo_prep_n_dof(void)
Dof of robot.
static ER_DllExport int zoom_World(int zoom_flag=ZOOM_FLAG_DEFAULT)
Zoom complete 3D Scene zoom_flag is a bitwise inclusive OR operator (|) of ZOOM_FLAG_FIT_ROT_VIEW, ZOOM_FLAG_SET_COI, ZOOM_FLAG_SET_CM_AUTO, ZOOM_FLAG_GRF_UPDATE ZOOM_FLAG_VIEW_IPO, ZOOM_FLAG_DEFAULT.
static ER_DllExport float * inq_CruiseStep(int rot=0, int reset=0)
Modifies the Cruise step sensitivity while cruise, pan or zoom the 3D Scene with the mouse rot = 0 - ...
static ER_DllExport int * inq_robot_enabled(void)
Dis- or enable current robot.
static ER_DllExport int CruiseRotView(int pitch, int yaw, int roll=0)
Cruise 3D Scene about COI by pitch - lateral axis yaw - vertical axis, roll - longitudinal axis...
static ER_DllExport float * inq_coll_min_distance_xyz(void)
xyz component for shortest w.r.t. world coorsys
static ER_CAPI_USER_IO_CRUISE er_capi_user_io_cruise
Method class to manipulate the 3D Scene.
Definition: ER_CAPI.H:130
static ER_DllExport int chk_collision_devices_name(char *dev_name_1, char *dev_name_2)
Check for collision between two devices If dev_name_1 or dev_name_1 are not valid, -1 is returned In case dev_name_1 and/or dev_name_2 are NULL, the specified device will be tested versus all other devices See also chk_collision_workcell(), chk_collision_devices_uid(), chk_collision_devices_idx()
static ER_DllExport char * inq_homepos_name(void)
Name of current homeposition.
static ER_DllExport int * inq_robot_ref_collision(void)
0-def, collision chk vs. reference device
static ER_DllExport int * inq_body_obj_polys(void *obj_handle, int idx)
Polygon indexes of an object Use er_cad_io.inq_body_obj_n_poly() to get the number of polygons of an ...
static ER_DllExport ER_UID inq_Get_device_uid_by_name(char *device_name)
Get device unique uid by device name if &#39;device name&#39; is not valid, -1 is returned.
static ER_DllExport float * inq_ipo_path_aq_axis(void)
Programmed Joint acceleration for each axis [m/s^2],[deg/s^2] Remarks Get the number of active joint...
static ER_DllExport float * inq_ipo_path_vx(void)
Programmed cart. speed in [m/s].
static ER_DllExport int _info_line_msg_T_vec(int moni, char *s, frame *T)
Frame output into Message Window as Vector Pxyz, Rxyz If parameter moni is 1, the output is appended ...
static ER_DllExport float * inq_cntrl_kpv(void)
PV Factor for PPI Cascade Controller.
static ER_DllExport int inq_Get_n_devices(void)
Get number of current loaded robots in a workcell.
static ER_DllExport int dialog_yes_no(char *title)
Opens a Yes/No dialog.
static ER_DllExport float assa2(float beta, float s1, float s2)
Triangle calculation, calculates angle between s2 and s3 Remarks See EASY-ROB-ERPL-eng.pdf &quot;parser functions&quot;.
static ER_DllExport int * inq_stop_unreach(void)
Causes the robot to stop if target position is not reachable.
static ER_DllExport int * inq_stop_cart_space(void)
Causes the robot to stop if the cartesian space is exceeded.
static ER_DllExport int ChkTagsLoaded(int confirm=0)
Check if Tags are loaded If paramter confirm is set to 1, the user will be prompted to confirm upcomi...
static ER_DllExport double parser_calc(char *str, int *error)
Formel parser calculation Remarks call inq_errorflg() to get parser error.
static ER_DllExport int PickSnapTagTo(int SnapToMode=0)
Enables the user to snap a Tag to a polygon or a vertex. Parameter SnapToMode can be one of the follo...
static ER_CAPI_SYS_APIDLL er_capi_sys_apidll
Method class to access API Dll for inverse kinematics, robot trajectory planner and robot dynamics...
Definition: ER_CAPI.H:7625
static ER_DllExport int zoom_cRobot(int zoom_flag=ZOOM_FLAG_DEFAULT)
Zoom cRobot (current robot base) to the center of the 3D Scene zoom_flag is a bitwise inclusive OR op...
static ER_DllExport int inq_body_group_type_current(void)
Return current group type of current selected geometry grp_type is one of ROBOT_GRP, TOOL_GRP or BODY_GRP.
static ER_DllExport frame * inq_ext_Tcp(void)
Transformation of external Tcp w.r.t. world coorsys.
static ER_DllExport int check_license(int opt_id)
Check Licenses for options and modules Parameter opt_id is one of ER_LIC_STD_BASIC ...
static ER_DllExport void ** inq_dyn_model_usr_ptr(void)
Access user pointer for dynamics model in er_dyn.dll This allows the user to allocate individual memo...
static ER_DllExport float * inq_t_max(void)
Max. joint or axis torque [Nm,N].
static ER_DllExport float * inq_Get_c_path_len()
Get length of complete path for current selected path.
static ER_DllExport int * inq_body_render(void *body_handle)
Get the render type of body givin by a handle The render type and is one of FLAT=6, WIRE=1, BBFLAT=2, BBWIRE=3, INVISIBLE=4, POINT_RENDER=5, SMOOTH_RENDER=0.
static ER_DllExport int * inq_ipo_path_no_decel(void)
Programmed deceleration at target.
static ER_DllExport int * inq_ipo_path_AutoAccel(void)
if AutoAccel is set, the trajectory planner calculated the acceleration according to programmed speed...
static ER_DllExport float * inq_homepos_idx(int chome_idx)
Joint values of homeposition with chome_idx = [0..KIN_HOMEPOSITIONS-1] see inq_num_home() ...
static ER_DllExport frame * inq_ipo_exec_Ts(void)
Desired interpolated cartesian location frame [m].
static ER_DllExport float * inq_model_vz1_a(void)
Discrete model: A Value of PT1 transfer function Depending on system step inq_system_step() dt and in...
static ER_DllExport int * inq_msgwindow_show_auto(void)
Suppresses the automatic appearance of the message window, if unset (0) Remarks Per default automati...
static ER_DllExport float * inq_turn_interval(void)
Range with constant turn_value, default=0 for each axis // Range shift, default=0 for each axis...
const int EXTAX_MODE_OFF
0-no tag_motion or external axis motion
Definition: ER_CAPI_TYPES.H:396
static ER_DllExport frame * inq_body_Tref_pos(void *body_handle, int grp_type, frame *Tref)
Reference position w.r.t. to inertia coorsys of body givin by a handle The reference position Tref is...
static ER_DllExport int LoadRobotAsm(void)
Opens Dialog to load a .ras Robot assembly file.
static ER_CAPI_SYS_UTILITIES er_capi_sys_utilities
Method class for helping functions, color conversion, etc.
Definition: ER_CAPI.H:7597
static ER_CAPI_USER_IO er_capi_user_io
Method class for interaction with EASY-ROB.
Definition: ER_CAPI.H:83
static ER_CAPI_CAD_IMPORT er_capi_cad_import
Method class for importing existing 3D geometries (IGP, STL, 3DS)
Definition: ER_CAPI.H:6535
static ER_DllExport float * inq_ipo_path_axe_ori(void)
Programmed orientation end acceleration in [deg/s^2].
static ER_DllExport int Import_CAD(int cad_type=0, char *fln_name=0, char *body_name=0, float *scale=0)
Import a geometry file or create a primitive geometry to the current device group cad_type can be one...
static ER_DllExport int Unload_allCAD(int confirm=1)
Unload all CAD Geometries in current selected grp.
static ER_DllExport int rob_kin_joint_trans(int joint_dof)
Get active robot joint type An active robot joint type can be rotational or prismatic See rob_kin_joi...
static ER_DllExport frame * inq_ipo_data_old_T(void)
TCP location at last interpolation step.
static ER_DllExport int inq_Set_device_idx(int device_idx)
Sets current device idx [1..n_devices].
static ER_DllExport int _info_line_msg_v(int moni, char *s, float *v, int n, float scal)
float Vector output into Message Window If parameter moni is 1, the output is appended to the monitor...
static ER_DllExport int U3DPdf_ExportAPI_SetCallbackMsg(int callback_fct_id, void(*ptr_MsgFct)(char *))
Defines a callback function for output messages during 3D PDF file Export Parameter callback_fct_id i...
static ER_DllExport float * inq_ipo_path_vx_ov_set(float ov)
Calc. vx as percentage value of inq_vx_max(), return inq_ipo_path_vx()
static ER_DllExport int swap_PathDown(void)
Swaps Path pointer with the next Path Changes the path order.
static ER_DllExport void _info_line(int mode, char *s)
String output into Information Dialog if Message Window is closed The output identifier mode can have...
const int ROBOT_GRP
Robot group type.
Definition: ER_CAPI_TYPES.H:93
static ER_DllExport void MsgBox(char *s)
Show Message Box with MB_OK button and MB_ICONSTOP icon.
static ER_DllExport float * inq_ipo_path_aq_decel_axis(void)
Programmed Joint deceleration for each axis [m/s^2],[deg/s^2].
static ER_DllExport char * inq_camera_name(void)
Return current camera name.
static ER_DllExport int Path_ReAttach_by_idx(int path_idx, int new_reference_type, int new_reference_device_idx, int new_reference_cad_grp_type=ROBOT_GRP, char *new_reference_cad_name=NULL, int new_reference_jnt_idx=0, bool keep_world_position=false)
Reattach a path to a device, givin by device idx Attaches the path given by path_idx to a device...
static ER_DllExport int UnloadCell(int confirm=1)
Unload current loaded work cell If paramter confirm is set to 1, the user will be prompted to confirm...
static ER_DllExport int * inq_body_show_mesh(void *body_handle)
Show body meshes Allows to dis- or enable visualizazion of body meshes.
static ER_DllExport int NewTagOnPickPoint(int vertices=0)
Creates a new Tag at current picked location If vertices = 1 : keep cOrientation If vertices = 0 : us...
static ER_DllExport float * inq_TeachStep(int rot=0, int reset=0)
Modifies the Teach step sensitivity when moving object with the mouse rot = 0 - translation [m]...
static ER_DllExport float * inq_vx_ori_max(void)
Max. cart. orientation speed [rad/s].
static ER_DllExport void PathClone(int confirm=0)
Clone complete Path or selected Tags.
Method class for TCP trace, reference and visualization.
Definition: ER_CAPI.H:5590
static ER_DllExport frame * inq_body_world_pos(void *body_handle, int grp_type, frame *Tworld)
World position w.r.t. to inertia coorsys of body givin by a handle The world position Tworld is the r...
static ER_CAPI_MOP_AUTOPATH er_capi_mop_autopath
Method class for collision free motion planning.
Definition: ER_CAPI.H:3917
static ER_DllExport int Device_Sync_by_uid(int new_reference_type, ER_UID new_reference_device_uid=0, int *new_reference_jnt_link_idx=NULL)
Obsolete, use Device_Link_by_uid()
static ER_CAPI_ROB_KIN er_capi_rob_kin
Method class forward-, Inverse kinematics, desired robot joints, tools, position w.r.t. world and reference system.
Definition: ER_CAPI.H:2421
static ER_DllExport frame * inq_body_off_pos(void *body_handle)
Return offset position T_off of a body givin by a handle Parameter body_handle must be valid and not ...
static ER_DllExport int UnloadPathAll(int confirm=1)
Unload all Pathes If paramter confirm is set to 1, the user will be prompted to confirm this operatio...
static ER_DllExport int GetPlanningStatus(void)
Get path planning status.
static ER_DllExport void rob_kin_rot_xyz(frame *T, float Rx, float Ry, float Rz)
Converts an euler represented rotation index ROT_XYZ into a frame. Rotation angle Rx...
static ER_DllExport char * inq_kin_type_activ(void)
&#39;T&#39;- translational-, &#39;R&#39;- revolute for active joints Remarks For a six axis robot with six rotationa...
static ER_DllExport void rob_kin_trans(frame *T, double x, double y, double z)
Converts a position into a frame. Location x, y, z are converted into a frame T , T-&gt;p = [x...
static ER_DllExport char * GetCellfile(void)
Returns name of current loaded cell file.
static ER_DllExport int * inq_prgwindow_show_auto(void)
Suppresses the automatic appearance of the program window, if unset (0) Remarks Per default automati...
static ER_DllExport float * inq_cntrl_e1(void)
1st Controller Error
static ER_DllExport frame * inq_iTi_ref(void)
World to attach position (reference position) of robot This location is already updated, when calling data_update_all_devices()
static ER_DllExport UINT * Accuracy(void)
AutoPath accuracy Valid *accuracy values are in [1..100] Remarks Disable AUTOPATH_PARAMETER_DYNADJUS...
static ER_DllExport float * inq_ipo_prep_dx(void)
6 dim difference Vector (=strt_T-end_T) see inq_ipo_prep_strt_T(), inq_ipo_prep_end_T() ...
static ER_DllExport int * inq_ipo_path_cp_phasen_synchron(void)
Setting for CP synchonization.
static ER_DllExport int * inq_body_collision(void *body_handle)
Collision flag of body givin by a handle The collision flag is one of 0-Off, 1-Concave, 2-Convex, 3-Bbox, 4-Disabled If the collision flag is marked as.
static ER_DllExport frame * inq_mbTw(void)
Moveable base to TCP.
static ER_DllExport float sasssa(float s1, float beta, float s2, float s3, float s4)
Quadrangle calculation, calculates angle between s2 of s3 Remarks See EASY-ROB-ERPL-eng.pdf &quot;parser functions&quot;.
static ER_DllExport int dialog_frame_ex(char *title, frame *T, int grfupdate, void(*callback_fct)(void *vptr), void *vptr)
Opens a Frame dialog with callback function This Dialog allows to enter a frame T If grfupdate is 1...
static ER_DllExport int SavePathes_ext(char *new_pth_fln=NULL, int confirm_overwrite=1)
Saves a Tag or Path file by filename containing all pathes If new_pth_fln is NULL, the name of the current cell is used. Set confirm_overwrite = 1, to prompt the user to confirm overwriting tag file.
static ER_DllExport int * inq_ipo_path_leading_position(void)
Leading position determine the dominant behavior between interpolation of position and orientation If...
static ER_DllExport int FindPath(void)
Start calculating a collision free path between start- and end pose Remarks A valid start and end po...
static ER_DllExport int delete_cTag()
Deletes cTag see also ER_CAPI_SYS_STATUS::UnloadTag()
static ER_DllExport int dialog_edit_file(char *fln)
Opens a file with an associated editor Opens a file with an associated editor. The editor is defined ...
static ER_CAPI_TARGETS_PATH er_capi_targets_path
Method class for creating, deleting and manipulating paths.
Definition: ER_CAPI.H:5713
static ER_DllExport int Device_ReAttach_by_uid(int new_reference_type, ER_UID new_reference_device_uid, int new_reference_jnt_idx, bool keep_world_position)
Attaches the current device to another device Attaches the current device to another device...
Method class for trajectory execution.
Definition: ER_CAPI.H:4416
Homogeneous 4x4 transformation matrix, a Frame with 3x3 orthogonal noa-matrix (n = o x a) and 3x1 pos...
static ER_DllExport ER_UID * inq_track_ref_sys_grp_uid(void)
Unique ID of reference device/robot The Unique ID depends on the attach location. ...
static ER_DllExport int SetWindowPos(void *pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
Set the position and size of EASY-ROB&#39;s OpenGL window.
static ER_DllExport int * inq_stop_collision(void)
Causes the robot to stop if collision detected.
static ER_DllExport float rob_kin_to_DEG(int joint_dof)
Returns DEG if joint is rotational, else 1.
Method class for for 3D CAD Data import and -export, changing attributes and positions.
Definition: ER_CAPI.H:6521
static ER_DllExport int inq_UserDll_dll_status(int userdll_idx)
Get dll_status for API UserDlls The number of currently loaded UserDll can be retrieved with inq_User...
static ER_DllExport int SetPoseStart(int nConfig, float *pose_start)
Set specified robot joint location as start pose Remarks This pose must be collision free...
static ER_DllExport void mul_invR_pos(float *po, FRAME *R, float *pi)
Multiplication of a 3x1 position with the transpose of a 3x3 orientation of a homogeneous 4x4 transfo...
static ER_DllExport frame * inq_kin_T_active(int active_jnt_no)
Homogeneous-Transformation from cRobot base to active Joint coorsys depending on current joint locati...
static ER_DllExport int ShellExecuteEdit(char *fln)
Opens the specified file with the assigned editor See configuration file config.dat.
static ER_DllExport int * inq_body_obj_color_den_idx(void *obj_handle)
Den_Color Idx an object.
static ER_DllExport frame * inq_ext_Tcp_base(void)
Transformation of external Tcp w.r.t. robot base.
static ER_DllExport frame * inq_single_cmd_base_prg(void)
Base Program transformation to shift the base frame Has efffect when running an ERPL motion command s...
static ER_DllExport int inq_num_configs(void)
Number of cRobot configurations within [1..KIN_CONFIGS].
static ER_DllExport float * inq_ipo_path_vq_ov_set(float ov)
Calc. vq_axis as percentage value of inq_v_max()
static ER_DllExport int rob_kin_inv(frame *bTt)
Calculate inverse kinematics solution IKP bTt - Robot Base to Tip (Flange), Results in inq_q_solut() ...
static ER_DllExport float * inq_rob_tag_speed_ptp_ov_idx(int idx)
Tag_attributes, ptp override speed, 0-def [0-200%].
static ER_DllExport int inq_Set_path_idx(int path_idx)
Set current path idx [1..n_paths].
static ER_DllExport int dialog_select(char *title, int n, int n_strt, char **ww, int dlg_mode=INPUT_LINE_SELECT_DEFAULT)
Opens a Selection dialog This Dialog allows to select one of several items in the string array ww dl...
static ER_DllExport float * inq_ipo_path_AccSet(void)
Acc Ramp [20-100%] 20% results in a smoother acceleration and deceleration, in case of higher payload...
static ER_DllExport int AutoPath_SetCallback_CheckConstraints(BOOL(*ptr_CheckConstraints)(int))
Defines a callback function to check constraints during AutoPath calculation Parameter action in Call...
static ER_DllExport char * GetPrgMimicfile(void)
Returns mimic file for cRobot A mimic file is a machine specific file, mostly used when running G-Cod...
static ER_DllExport int inq_Get_c_tag_idx()
Get current tag idx [1..n_tags] in current path.
static ER_DllExport int Get_cPickMode(void)
Return the current Picking Mode See also Get_cPickMode_Chk_1(), Get_cPickMode_Chk_2() Remarks The ex...
static ER_CAPI_TARGETS_TAG er_capi_targets_tag
Method class for manipulation of tags and access tag attributes.
Definition: ER_CAPI.H:5709
static ER_DllExport int UnloadRobot(int confirm=1)
Unload current Robot If paramter confirm is set to 1, the user will be prompted to confirm this opera...
static ER_DllExport int inq_Get_device_idx_by_uid(ER_UID uid)
Gets device idx by device unique id if the uid is not valid, -1 is returned.
static ER_DllExport ROB_DH * inq_rob_dh_passiv(void)
Denavit-Hartenberg-Transformation to next joint for each passive joint &quot;Geometric Data to next&quot; see i...
static ER_DllExport int * inq_body_obj_is_collided(void *obj_handle_attributes)
Collision flag of an object see inq_body_obj_attributes_handle() to retrieve the object attribute han...
static ER_DllExport int delete_path(int all_pths=0)
Delete cPath or all Pathes if all_pths=1, see also ER_CAPI_SYS_STATUS::UnloadPath(), ER_CAPI_SYS_STATUS::UnloadPathAll()
Method class for start-, target data, motion time, etc.
Definition: ER_CAPI.H:3951
static ER_DllExport int rob_kin_inv_ext(frame *bTw, float *q_solut, int shortest_angle)
Calculate inverse kinematics solution IKP bTw - Robot Base to Wrist (TCP), Results in q_solut() This ...
static ER_DllExport float * delta_T(float *dx, frame *Ts, frame *Ti)
Builds the difference between frame Ts and frame Ti Position dx[0..2] = Ts-&gt;p[0..2] - Ti-&gt;p[0...
static ER_DllExport int * inq_univ_trans_ilimit(void)
Number of maximum iterations Used for numerical solution for inverse kinematics. This value determine...
static ER_DllExport int ChkPrgRunning(int confirm=0)
Check if animation is running.
static ER_DllExport int Device_Link_by_uid(int new_reference_type, ER_UID new_reference_device_uid=0, int *new_reference_jnt_link_idx=NULL)
Link current device to another device by uid new_reference_type one of REF_NO_REF=0 or REF_JNT=9 new...
static ER_DllExport int * inq_body_joint_attach_idx(void *body_handle)
Robot joint attach idx In case the body belongs to a ROBOT_GRP, the joint attach idx is zero - body a...
static ER_DllExport float * inq_homepos(void)
Joint values of current homeposition.
static ER_DllExport int chk_rob_tag_idx(int idx)
Check if tag index is valid.
static ER_DllExport int UnloadProgram(int confirm=1)
Unload current robot Program If paramter confirm is set to 1, the user will be prompted to confirm th...
static ER_DllExport float * inq_v_solut(void)
Desired joint speed values.
static ER_DllExport int * inq_swe_calc(void)
Enables math. dependency for travel ranges see inq_swe_max_calc_md(), inq_swe_min_calc_md() ...
static ER_DllExport int Convert_CAD_ReStore(void)
Restore and reload converted CAD File into CAD Preview.
static ER_DllExport int * inq_rob_tag_turn_ax_idx(int idx)
tag_attributes, turn values depending on current robots turn interval see inq_rob_tag_turn_use_idx() ...
static ER_DllExport float * inq_rob_tag_accel_ptp_ov_idx(int idx)
Tag_attributes, ptp override accel, 0-def [0-200%].
static ER_DllExport frame * inq_achs_T0_activ(void)
Kinematics transformation from last joint for each active joint &quot;Geometric Data from last&quot; ...
static ER_DllExport int camera_z_offset(float z_offset)
Set camera z_offset.
Method class for unloading objects (work cells, robots, tools, programs, etc.) simulation status...
Definition: ER_CAPI.H:8271
static ER_CAPI_SYS_UNITS er_capi_sys_units
Method class for setting and calculating units.
Definition: ER_CAPI.H:7617
Method class to create, attach, update devices, for kinematics calculations and for trajectory planni...
Definition: ER_CAPI.H:1980
static ER_DllExport int * inq_Get_c_path_visible()
Get current path visibility.
static ER_DllExport frame * inq_ipo_prep_bTsync0(void)
EasyEdit, Conveyor Zero-Position.
static ER_DllExport int Get_MouseMode(void)
Returns current mouse mode The current mouse mode is one of the following values MM_CRUISE MM_TCP_JO...
static ER_DllExport int LoadCell()
Opens Dialog to load a .cel Cel file.
static ER_DllExport int erc_onoff(int erc_on_off_idx, int enable)
Dis- and enabling miscellaneous settings The erc_on_off_idx is one of ERC_TRACK to ERC_COI_RENDER Th...
static ER_DllExport int dialog_start_device_manager(char *fln=NULL)
Starts Device Manager to load a file The selceted file is loaded into EASY-ROB immediatly.
static ER_DllExport char * inq_homepos_name_idx(int chome_idx)
Name of homeposition with chome_idx = [0..KIN_HOMEPOSITIONS-1] see inq_homepos_name() ...
static ER_DllExport void ** inq_status_output_usr_ptr(void)
Access user pointer for status output in er_dyn.dll This allows the user to allocate individual memor...
static ER_DllExport float * inq_model_d_base(void)
symplified viscose damping
static ER_DllExport int NewTagOnTcp(void)
Creates a new Tag in current path at Tcp of cRobot.
static ER_DllExport float Convert_CAD_SetTesselation(int Tesselation=CONVERT_CAD_TESSELATION_RESET)
Tesselation of an imported CAD model Parameter Tesselation is one of CONVERT_CAD_TESSELATION_RESET, CONVERT_CAD_TESSELATION_COARSE, CONVERT_CAD_TESSELATION_FINE The return value &#39;sag&#39; is the maximum allowed distance between the planar approximation polygon and the surface.
static ER_DllExport int cTagClone(int create_new=0)
Clones current Tag in current path or creates new one at Tcp of cRobot If parametr create_new is 0...
static ER_DllExport float * inq_ipo_data_ctime(void)
Current motion time [s] for cRobot The current motion time is the elapsed time on the way to the next...
static ER_DllExport int CruiseRobotBase(void)
Set Cruise mode to cRobot Base.
static ER_DllExport float * SetEndPose(void)
Set current robot joint location as end pose Remarks This pose must be collision free...
static ER_DllExport char * get_commandline(void)
Get the command line when EASY-ROB was started See also EASY-ROB-ShortKeys-eng.pdf.
static ER_DllExport int dialog_color(char *title, int *color_idx)
Opens a Color dialog This Dialog allows select a color color_idx The color_idx can be one of the fol...
static ER_DllExport void incr_R(FRAME *Ri1, FRAME *Ri2, int res)
Orientation multiplication of two homogeneous 4x4 transformation matrices. Depending in res ...
static ER_DllExport float * inq_ipo_exec_qs(void)
Desired interpolated joint data [rad] or [m].
static ER_DllExport void dh_to_frame(ROB_DH *rdh, frame *T)
Converts Denavit Hartenberg Parameter ROB_DH parameter into a homogenous frame FRAME.
static ER_DllExport int * inq_rob_tag_n_extax_idx(int idx)
tag_attributes number of external axis
static ER_DllExport void ErrorExitBox(char *s)
Show Error Message Box with MB_OK button and MB_ICONSTOP icon and MB_SYSTEMMODAL. ...
static ER_DllExport int Init_ER_DLL_Window(int InitOptions)
Initialize EASY-ROB DLL Window Parameter InitOptions is currently not used.
static ER_DllExport void ** inq_pp_usr_ptr()
Access user pointer for post_processor in er_post.dll This allows the user to allocate individual mem...
static ER_CAPI_SYS_PREVIEW er_capi_sys_preview
Method class for the CAD-Preview.
Definition: ER_CAPI.H:7609
static ER_DllExport float * inq_cntrl_kpp(void)
P Factor for P-PI Cascade Controller.
static ER_DllExport frame * inq_bT0(void)
Robot Base to first joint of kinematics chain.
Method class for paths and tags.
Definition: ER_CAPI.H:5703
static ER_DllExport LIN_ORI_MODE * inq_ipo_path_lin_ori_mode(void)
Current Orientation mode for linear interpolation The orientation mode is a member of LIN_ORI_MODE an...
static ER_CAPI_SIM_TRACK er_capi_sim_track
Method class for TCP trace, reference and visualization.
Definition: ER_CAPI.H:4975
static ER_DllExport double * inq_achs_roty(void)
Kinematics angles for Y rotation [deg] for each active joint Calculated from &quot;Geometric Data to next&quot;...
static ER_DllExport float * inq_model_T_base(void)
symplified System constant Depending on inq_model_theta_base() theta and inq_model_d_base() d...
static ER_DllExport void mul_invT_pos(float *po, FRAME *T, float *pi)
Multiplication of a 3x1 position with the inverse of a homogeneous 4x4 transformation matrices...
static ER_DllExport float * inq_cntrl_e2(void)
2nd Controller Error
static ER_DllExport int * inq_active_jnt_sign(void)
Sign for active joints +1 for positive jont direction -1 for negative joint direction.
static ER_DllExport int swap_PathUp(void)
Swaps Path pointer with the prev Path Changes the path order.
static ER_DllExport int chk_nom_values_export(int chk_bit_field=0)
Check if an Error occured The parameter chk_bit_field as a bitwise inclusive OR operator (|) of the f...
static ER_DllExport int zoom_cBody(int zoom_flag=ZOOM_FLAG_DEFAULT)
Zoom cBody to the center of the 3D Scene zoom_flag is a bitwise inclusive OR operator (|) of ZOOM_FLA...
static ER_DllExport float * inq_swe_max(void)
Max. positive travel ranges (joint limits) [rad,m].
Definition: ER_CAPI.H:3536
static ER_DllExport void vec_to_frame(float *vec, frame *T)
Converts an euler vector with ROT_XYZ representation into a frame. Vector vec is converted into a fra...
static ER_DllExport void rob_kin_R_mal_R(frame *Ti1, frame *Ti2)
Orientation multiplication of two homogeneous 4x4 transformation matrices. Ri1 = Ri1 * Ri2 Remarks s...
static ER_DllExport int * inq_ipo_path_tag_motion_idx(void)
Tag motion idx when interpolating to a target tag.
static ER_DllExport int inq_Add_path()
Add a new path in loaded workcell, returns the number of pathes .
static ER_CAPI_ROB er_capi_rob
Method class kinematics and transformations.
Definition: ER_CAPI.H:1986
static ER_DllExport void * inq_AutoPathDlg_Hwnd(void)
Handle form AutoPath Dialog .
static ER_DllExport float * inq_body_obj_points(void *obj_handle, int idx)
XYZ Vertex of an object Use er_cad_io.inq_body_obj_n_point() to get the number of point of an object...
static ER_DllExport frame * inq_body_obj_coorsys(void *obj_handle, int idx)
Coorsys of an object Use er_cad_io.inq_body_obj_n_coorsys() to get the number of coorsys of an object...
static ER_DllExport float * inq_ipo_prep_v_extax(void)
Speeds for external axis depending on setting ininq_ipo_prep_extax_jnt()
static ER_DllExport int dialog_string_single(char *title, char *header, char *footer, char *v, int len, int pw=0)
Opens dialog to enter a single string This Dialog allows to enter a string v.
static ER_DllExport int RefreshTagWindow(int mode)
Refresh Tag Window.
static ER_DllExport float * inq_q_strtpos(void)
Start condition joint axis location.
static ER_DllExport frame * inq_kin_T_passiv(int passiv_jnt_no)
Homogeneous-Transformation from cRobot base to passive Joint coorsys depending on current joint locat...
static ER_DllExport int * inq_device_ref_sys_jnt_idx(void)
If the reference type is REF_JNT, the number of reference joint is returned For active joints a posit...
static ER_DllExport int reset_view(int zoom_flag=ZOOM_FLAG_DEFAULT)
Reset view to loading state zoom_flag is a bitwise inclusive OR operator (|) of ZOOM_FLAG_FIT_ROT_VIE...
static ER_DllExport int set_body_handle_current(void *body_handle)
Set a body as current selected body Parameter body_handle must be valid and not 0.
static ER_DllExport float * inq_swe_min_passive(void)
Minimum travel ranges for passive joints.
static ER_DllExport float * inq_coll_min_distance_p2(void)
Collision point &#39;p2&#39; of 2nd colliding geometry.
static ER_DllExport int chk_run(void)
Checks the current running status.
static ER_DllExport int * inq_EasyRobDll_Activ(void)
Obsolete use inq_EasyRobDll_Active()
static ER_DllExport int U3DPdf_ExportAPI_SetCallbackProgress(void(*ptr_ProgressFct)(double))
Defines one single callback function for ExportU3DScene progress and Generate3DPdf progress messages ...
const int ERGL_UNDEF
no operation
Definition: ER_CAPI_TYPES.H:755
static ER_DllExport int * inq_ipo_prep_extax_jnt(void)
External Axis mode the external axis mode is one of 2 - speed jnt 1 - extax, 0 - no extax...
static ER_DllExport int Convert_CAD(char *cad_file, char *igp_file=0, int confirm=1)
Converts a CAD file (step, iges,...) to Igp format.
static ER_DllExport char * inq_device_ref_sys_name(void)
Reference name of the current device The reference type name (name of attach location) depends of one...
Method class for creating, deleting and manipulating paths.
Definition: ER_CAPI.H:6233
static ER_DllExport int CruisePickedPoint(void)
Set Cruise mode to picked Point.
static ER_DllExport int ChkToolRobotLoaded(int confirm=0)
Check if robot Tool is loaded If paramter confirm is set to 1, the user will be prompted to confirm u...
static ER_DllExport int inq_body_n_line_total(void *body_handle)
Number of total lines within body givin by a handle A body contains a number of objects. Each object consists of a number of lines.
static ER_DllExport float inq_camera_z_offset(void)
camera z_offset
static ER_DllExport frame * inq_ipo_prep_dTsync(void)
EasyEdit, Conveyor Delta-Position.
static ER_DllExport int AutoPathEnd(void)
AutoPath Termination Destroys Instance ... to be defined, not implemented yet, instance is always act...
Method class to manipulate the 3D Scene.
Definition: ER_CAPI.H:1264
static ER_DllExport frame * inq_bTt(void)
Robot Base to Tip (flange)
static ER_DllExport int * inq_cell_info_show(void)
Enable or disable the cell information Use inq_cell_info() to set cell information.
static ER_DllExport int get_warning_msg(int aux_update_idx, char *msg)
Warning message if one of the following error occurs AUX_UPDATE_IDX_SWE_EXCEEDED - At least one axis ...
static ER_DllExport int ShellExecuteOpen(char *prg, char *parameter=NULL, int nShowCmd=SW_SHOWNORMAL)
Performs an &#39;open&#39; operation on a specified program file.
static ER_DllExport frame * inq_tTw(void)
Current Tool frame, Robot Tip (flange) to TCP.
static ER_DllExport int inq_num_passive_jnts(void)
Number of passive joints within [1..KIN_PASSIV_JNTS].
static ER_DllExport float * inq_cntrl_aux1(void)
1st Auxiliary controller parameter
static ER_DllExport int * inq_ipo_path_ptp_target_calculation_mode(void)
PTP calculation mode takes effect when calculating the target joint based on inverse kinematics...
static ER_DllExport int * inq_body_obj_max_point_in_poly(void *obj_handle)
Maximum number of points in a polygon within an object.
static ER_DllExport char * inq_joint_name_idx(int cjoint_idx)
Name of joint with cjoint_idx = [0..KIN_DOFS-1].
enum _CIRC_ORI_IPO_MODE CIRC_ORI_IPO_MODE
static ER_DllExport frame * inq_ipo_data_new_T(void)
TCP location at current interpolation step.
static ER_DllExport int Unload_cCAD(int confirm=1)
Unload current selected CAD geometry.
static ER_DllExport int * inq_robot_itself_collision(void)
0-def, collision chk vs. itself device
static ER_DllExport int * inq_cart_limits_joint_idx_active(void)
Bitfield to determine the active joints building the bounding box to check the cartesian limits see i...
static ER_DllExport CIRC_ORI_IPO_MODE * inq_ipo_path_circ_ori_ipo_mode(void)
Orientation interpolation mode for circular interpolation, when CIRC_ORI_MODE is CIRC_QUATERNION Cont...
static ER_DllExport int * inq_rob_tag_turn_use_idx(int idx)
tag_attributes, turn flag, 0-do not use turn values (def), 1-use turns If use turns is anabled...
static ER_DllExport int SaveTool_ext(char *new_tol_fln=NULL, int confirm_overwrite=1)
Saves a tool file by filename If new_tol_fln is NULL, the name of the tool is used. Set confirm_overwrite = 1, to prompt the user to confirm overwriting tool file.
static ER_DllExport int * inq_num_tool(void)
Number of available tools [1..KIN_TOOLS].
static ER_DllExport float * inq_rob_tag_q_cR_idx(int idx)
Temporary joint location for cRobot This Joint location is saved when the cRobot reaches this Tag See...
Method class for dynamics, controller parameter, sampling rates.
Definition: ER_CAPI.H:3700
static ER_DllExport char * inq_kin_direction_passiv(void)
&#39;X&#39;-,&#39;Y&#39;- or &#39;Z&#39;- direction for passive joints Remarks For a two passive joints the direction string...
static ER_DllExport int * inq_body_obj_n_poly(void *obj_handle)
Number of polygons within an object.
static ER_DllExport float * inq_ipo_path_zone(void)
Programmed zone value [mm].
static ER_DllExport int dialog_open_ext(int dialog_idx, int dlg_mode, int param=0, int chk_ext=-1)
Opens an EASY-ROB non modal dialog The method allows to open or close non modal dialog or request its...
static ER_DllExport int * inq_ipo_path_tag_via_motion_idx(void)
Tag motion idx when interpolating to a via target tag.
static ER_DllExport int * inq_show_collision_line(void)
Enable, disables show collision line with min. distance value.
static ER_DllExport int * inq_num_home(void)
Number of predefined hompositions [1..KIN_HOMEPOSITIONS].
static ER_DllExport float * inq_ipo_path_ax_ori_ov_set(float ov)
Calc. ax_ori as percentage value of inq_vx_ori_max(), return inq_ipo_path_ax_ori() ...
const int INPUT_LINE_SELECT_DEFAULT
default, see ER_CAPI_USER_IO_DIALOG::dialog_select()
Definition: ER_CAPI_TYPES.H:225
static ER_DllExport char * inq_kin_chain_type_passiv(void)
&#39;C&#39; in kin chain (default); &#39;_&#39; NOT in kin. chain; &#39;-&#39; separated &amp; NOT in kin.chain Remarks For a pa...
static ER_DllExport int LoadTool(void)
Opens Dialog to load a .tol Tool file.
static ER_DllExport float * inq_cart_limits_min(void)
Min. fix cartesian xyz limits w.r.t. RBase [m] see inq_cart_limits_joint_idx_active(), inq_cart_limits_joint_idx_passive()
static ER_DllExport float * inq_ipo_path_vxs(void)
Cart. start speed in [m/s].
static ER_DllExport int U3DPdf_ExportAPI_SetCallbackProgressGenerate3DPdf(void(*ptr_ProgressFctGenerate3DPdf)(double))
Defines a callback function for Generate3DPdf progress messages when saving the 3D PDF file Parameter...
static ER_DllExport void mul_invT_T_T(FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * Ti2 * Ti3 Remarks ...
static ER_DllExport double * inq_sing_tolq(void)
Rotational singularity tolerance [rad].
static ER_DllExport float * inq_vx_max(void)
Max. cart. speed [m/s].
static ER_DllExport int circ_center_point(float *p1, float *p2, float *p3, frame *pTc, float *radius, float *phi, float *dphi=NULL)
Circle calculation from three points p1 over p2 to p3. Calculates center of circle, radius and angle.
static ER_DllExport frame * inq_body_ref_pos(void *body_handle)
Return reference position T_ref of a body givin by a handle Parameter body_handle must be valid and n...
Method class for collision free path planning.
Definition: ER_CAPI.H:4496
static ER_DllExport float inq_coll_min_distance(void)
Shortest distance when no collision.
static ER_DllExport int * inq_body_obj_color_idx(void *obj_handle)
Color idx for an object.
static ER_DllExport int SaveRobot_ext(char *new_rob_fln=NULL, int confirm_overwrite=1)
Saves a robot file by filename If new_rob_fln is NULL, the name of the robot is used. Set confirm_overwrite = 1, to prompt the user to confirm overwriting robot file.
static ER_DllExport int * inq_device_sync_ref_sys_type(void)
Obsolete, use inq_device_link_ref_sys_type()
static ER_DllExport int * inq_body_obj_n_coorsys(void *obj_handle)
Number of coorsys within an object.
static ER_DllExport int * inq_rob_tag_no_decel_idx(int idx)
Tag_attributes, No decelaration at target If deceleration flag is 0, the motion decelerates at the ta...
static ER_DllExport int Tool_Device_by_name(char *tool_device_name)
Sets tool data to the device specified by name The current device takes over the current tool data of...
static ER_DllExport int PickDistanceTagMeasure(int hold_first_point=0)
Enables the user to measure the Distance between Tags. Parameter hold_first_point can be one of the f...
static ER_DllExport int LoadProgramFile(char *prg_fln)
Sets program file name. Sets program file for current device, will be executed when the simulation st...
static ER_DllExport frame * inq_Get_c_tag_frame_strt()
Get current start tag location w.r.t. wobj frame location.
static ER_DllExport float * inq_model_z2(void)
Actual joint speed two sampling steps before see inq_v_dyn(), inq_model_z1()
static ER_DllExport float * inq_cntrl_aux2(void)
2nd Auxiliary controller parameter
Method class to access API Dll for inverse kinematics, robot trajectory planner and robot dynamics Th...
Definition: ER_CAPI.H:8919
static ER_DllExport frame * inq_iBase(void)
Program shift w.r.t. world coorsys This method takes effect when executing a motion command given by ...
static ER_DllExport float * inq_ipo_exec_as(void)
Desired interpolated joint acceleration data [rad/s^2] or [m/s^2].
static ER_DllExport int * inq_device_ref_sys_type(void)
Reference type of the current device The reference type (attach location) can be one of the following...
static ER_DllExport float * inq_ipo_data_new_q(void)
Joint data at current interpolation step.
static ER_DllExport ER_UID * inq_device_ref_sys_grp_uid(void)
Unique ID of reference device/robot The Unique ID depends on the attach location. ...
static ER_DllExport int * inq_ext_Tcp_idx(void)
Enable/disable external Tcp for cRobot Set *inq_ext_Tcp_idx()=1 to enable external TCP Use inq_ext_Tc...
static ER_DllExport int GetWayPointDof(void)
Get dof or number of values for each way point Remarks dof coincides normally with the number of rob...
static ER_DllExport int GetParameter(int ap_option)
Get Autopath calculation parameter Parameter ap_option is one of AUTOPATH_PARAMETER_DYNADJUST, AUTOPATH_PARAMETER_ALGORITHM, AUTOPATH_PARAMETER_NTREES, AUTOPATH_PARAMETER_MIN_NUM_WAYPOINTS, AUTOPATH_PARAMETER_FORCE_DETERM_BEHAVIOR, AUTOPATH_PARAMETER_LIMIT_REVOLUTE_JNT_CSPACE, AUTOPATH_PARAMETER_THREAD_PRIORITY, AUTOPATH_PARAMETER_OUTPUT_SETTINGS.
static ER_DllExport int * inq_rob_kin_controller_rot_idx(void)
Returns the Controller rotation index for the cRobot. The Controller index is one of ROT_XYZ = RotX *...
static ER_DllExport float * inq_q_solut(void)
Desired active joint axis values.
static ER_DllExport int set_commandline(char *cmdline)
Set the command line The given command will be executed immediatly See also EASY-ROB-ShortKeys-eng.pdf Example &quot;-message&quot;.
static ER_DllExport char * inq_config_name_idx(int cconfig_idx)
Name of configuration with cconfig_idx = [0..KIN_CONFIGS-1].
static ER_DllExport int * inq_modified_cell(void)
Flag if cell file is modified.
static ER_DllExport int inq_Set_tag_idx(int tag_idx)
Set current tag idx [1..n_tags] in current path.
static ER_DllExport int * inq_ipo_path_use_tag_attributes(void)
Using tag attributes A tag attribute can keep data such as speeds, acceleration, zone, etc.
static ER_DllExport float * inq_rob_tag_accel_ori_idx(int idx)
Tag_attributes, orientation acceleration, 0-def, [rad/s^2].
static ER_DllExport char * inq_swe_min_calc_md(int joint_idx)
Equation to calculate math. dependency for negative travel ranges for an active joint Takes effect if...
static ER_DllExport void frame_to_vec(float *vec, frame *T)
Converts a frame into an euler vector with ROT_XYZ representation. Frame T is converted into a vector...
static ER_DllExport double * inq_achs_length(void)
Kinematics lengths in Z direction [m] for each active joint Calculated from &quot;Geometric Data to next&quot; ...
static ER_DllExport int inq_body_n_coorsys_total(void *body_handle)
Number of coorsys within body givin by a handle.
static ER_DllExport int * inq_body_bface_culling(void *body_handle)
Enable/disable backface culling of body givin by a handle.
static ER_DllExport float * inq_ipo_path_vqe(void)
Programmed Joint end speed in [deg/s].
static ER_DllExport int AbortPlanning(void)
Abort path planning.
static ER_DllExport void mul_invT_invT_T(FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * inv(Ti2) * Ti3 Rem...
static ER_CAPI_USER_IO_PICK er_capi_user_io_pick
Method class to &quot;pick&quot; objects such as devices, tags, polygon, vertices, measure distances, ...
Definition: ER_CAPI.H:126
static ER_DllExport char * inq_body_file_name(void *body_handle)
File name of body givin by a handle.
static ER_DllExport int dialog_frame(char *title, frame *T)
Opens a Frame dialog This Dialog allows to enter a frame T A frame FRAME is a homogeneous 4x4 transf...
static ER_DllExport int initialize_view(int zoom_flag=ZOOM_FLAG_DEFAULT)
Initialize View zoom_flag is a bitwise inclusive OR operator (|) of ZOOM_FLAG_FIT_ROT_VIEW, ZOOM_FLAG_SET_COI, ZOOM_FLAG_SET_CM_AUTO, ZOOM_FLAG_GRF_UPDATE ZOOM_FLAG_VIEW_IPO, ZOOM_FLAG_DEFAULT.
static ER_DllExport int GetWayPointConfiguration(int idx)
Get calculatated configuration idx in way point See GetNumberOfWayPoints(), GetWayPointDof(), GetWayPoint()
static ER_DllExport void * inq_body_handle_byidx(void *grp_handle, int body_idx)
Return body handle by body idx Parameter grp_handle must be valid and not 0 Parameter body_idx is in ...
static ER_DllExport int CruisePanView(int dlr, int dud)
Pan 3D Scene by dlr-delta left rigth, dud-delta up down dlr &gt; 0 pan right, &lt; 0 pan left dud &gt; 0 pan u...
static ER_DllExport int SetAxisPriority(int axisBit, int priority)
Set axis priority Parameter priority is in [1..99].
static ER_DllExport char * inq_config_workdir(void)
Returns folder string for current working directory.
static ER_DllExport int inq_Get_c_path_idx()
Get current path idx [1..n_paths] .
static ER_CAPI_USER_IO_DIALOG er_capi_user_io_dialog
Method class, supplies dialogs, i.e. to enter and show values.
Definition: ER_CAPI.H:122
static ER_DllExport float * inq_ipo_path_ax(void)
Programmed cart acceleration in [m/s^2].
static ER_DllExport int Shift_cTagOnPickPoint(int vertices=0)
Shifts cTag to the current picked location If vertices = 1 : keep cOrientation If vertices = 0 : use ...
static ER_DllExport float * inq_rob_tag_ov_pro_idx(int idx)
Tag_attributes, programmed override, 0-def [0-200%].
static ER_DllExport void grf_update_export(int chk=0)
Forces a graphical update of the 3D Scene This grahpical update includes a mathematical update for a...
static ER_DllExport int chk_collision_devices_tupel_list(int n_dev_tupel_list, COLL_DEVICE_TUPEL *dev_tupel_list, int setting=0)
Check for collision in device tupel list To get more detailled collision results, use get_collision_p...
static ER_DllExport float * inq_ax_ori_max(void)
Max. cart. orientation acceleration [rad/s^2].
static ER_DllExport int dialog_checkbox(char *title, int n, char **ww, int *iv, char **ww_on=NULL, char **ww_off=NULL)
Opens CheckBox dialog This Dialog allows to check or uncheck the status for several items in the stri...
Definition: ER_CAPI_TYPES.H:546
static ER_DllExport int CruisecBody(void)
Set Cruise mode to cBody.
static ER_DllExport int PickBody(void)
Enables the user to pick a body/geometry. Remarks The exported function EXPORT_C AuxUpdate(int idx) ...
static ER_DllExport float * inq_ipo_path_vq_axis(void)
Programmed Joint speed for each axis [m/s],[deg/s].
static ER_DllExport float * GetWayPoint(int idx)
Get calculatated way point See GetNumberOfWayPoints(), GetWayPointDof(), GetWayPointConfiguration() ...
static ER_DllExport COLL_PAIR * get_collision_pair(int coll_pair_idx)
Get one collision pair The parameter coll_pair_idx is the index for the required collision pair in [0...
static ER_DllExport float * inq_ipo_path_ov_pro(void)
Programmed override [%] , range: 1-1000.
static ER_DllExport float * inq_ipo_data_dt_ipo(void)
Interpolation step size [s] for cRobot.
static ER_DllExport int * inq_body_show_normals(void *body_handle)
Show normals of body givin by a handle Allows to dis- or enable visualizazion of body normals...
static ER_DllExport void moni_i(char *s, int *v, int n)
Vector output into the message file moni_msg.txt.
static ER_DllExport frame ** inq_univ_trans_T(void)
Address to Target location base to tip, obsolete Used for numerical solution for inverse kinematics...
static ER_DllExport int * inq_chome_idx(void)
idx of current homeposition [0..KIN_HOMEPOSITIONS-1]
static ER_DllExport frame * inq_mbTt_dyn(void)
Actual Transformation movable base to Tip, depending on actual joint data.
static ER_DllExport void moni_T(char *s, frame *T)
Frame output into the message file moni_msg.txt.
static ER_DllExport int camera_name(char *name)
Set camera by geometry name.
static ER_CAPI_TARGETS er_capi_targets
Method class for paths and tags.
Definition: ER_CAPI.H:95
static ER_DllExport int * inq_body_obj_n_line(void *obj_handle)
Number of lines within an object.
static ER_DllExport int * inq_warnings(void)
Warning vector for inverse kinematics For each solution a warning value, which is one of WARN_OK...
static ER_DllExport int color_idx2rgb_vad(int idx, float *rgba)
Converts a color idx &#39;idx&#39; to RGBA Color (&#39;A&#39;-Alfa value)
static ER_DllExport CIRC_ORI_MODE * inq_ipo_path_circ_ori_mode(void)
Current Orientation mode for circular interpolation The orientation mode is a member of CIRC_ORI_MODE...
static ER_DllExport int LoadMimicFile(char *mimic_file)
Sets mimic file name. Set mimic file for current device, will be used when the simulation starts...
static ER_DllExport int body_save_position(void *body_handle, int grp_type)
Saves body position as start condition Parameter grp_type is one of ROBOT_GRP, TOOL_GRP or BODY_GRP O...
static ER_DllExport ROB_DH * inq_rob_dh0_passiv(void)
Denavit-Hartenberg-Transformation to previous joint for each passive joint &quot;Geometric Data from last&quot;...
static ER_DllExport ER_UID inq_EasyRobDll_Hwnd_ex(void)
Get EASY-ROB Handle from HWND, GetSafeHwnd()
static ER_DllExport int zoom_CadPreview(int zoom_flag=ZOOM_FLAG_DEFAULT)
Zoom complete 3D Scene in the CadPreview zoom_flag is a bitwise inclusive OR operator (|) of ZOOM_FLA...
static ER_DllExport int Device_Create(char *robot_name)
Creates a new device with one rotational axis in z direction.
static ER_DllExport int ChkRobotCellLoaded(int confirm=0)
Check if cell is loaded or at if least one robot is available If paramter confirm is set to 1...
static ER_DllExport int body_merge(void *body_handle, char *igp_fln, int merge_attributes)
merges body and save to ascii or binary igp file Parameter merge_attributes is a bitwise inclusive OR...
static ER_DllExport int U3DPdf_ExportAPI(int pdf_flag, char *s=NULL)
Control 3D PDF Export To open the created 3D Pdf file, Adobe Reader up to version XI is required...
static ER_DllExport float sass(float s1, float beta, float s2)
Triangle calculation, calculates the opposite site of angle beta Using cosine rule c^2 = a^2 + b^2 -...
static ER_DllExport int ChkErcCmd(char *cmd)
Check if the command cmd starts with the key &#39;ERC&#39;.
static ER_DllExport void mul_R_R(FRAME *Ro, FRAME *Ri1, FRAME *Ri2)
Orientation multiplication of two homogeneous 4x4 transformation matrices. Ro = Ri1 * Ri2 A frame FRA...
static ER_DllExport int StopContRunProgram(void)
Stop/Pause or continue running simulation.
static ER_DllExport int * inq_cart_limits_joint_idx_passive(void)
Bitfield to determine the passive joints building the bounding box to check the cartesian limits see ...
static ER_DllExport int move_to_api(void *vrpd, int line_no, int step_no, char *prg_line, frame *via_T, frame *Ts, int extax_mode=EXTAX_MODE_OFF, float *q_linext=NULL, float *v_linext=NULL, int *q_linext_idx=NULL)
Moves to cartesian target location Ts For circular interpolation the via target location via_T is co...
static ER_DllExport ER_UID inq_Get_device_uid_by_idx(int idx)
Get device unique uid by device idx if idx is not valid, -1 is returned.
static ER_DllExport int swap_TagDown(void)
Swaps Tag pointer with the next Tag .
static ER_DllExport float * inq_uc(void)
Controller signal see inq_uc1()
static ER_DllExport int LoadToolFileRun(char *fln)
Load a tool file &#39;.tol&#39; while program is running.
static ER_DllExport float inq_coll_min_distance_c(void)
Collision distance when collision (dist &lt; collision tolerance)
static ER_DllExport int Tool_Device_by_uid(ER_UID tool_device_uid)
Sets tool data to the device specified by unique id The current device takes over the current tool da...
static ER_DllExport void rob_kin_set_warnings(int warn)
Predefine or set the warning for all inverse solution Use for the API for inverse kinematics Paramete...
static ER_DllExport int * inq_ipo_prep_extax_mode(void)
External Axis mode.
static ER_DllExport int * inq_EasyRobDll_Active(void)
Check if EASY-ROB Application is still active.
static ER_DllExport void track_reset(int dyn=0)
Deletes the Tcp trace for the current device.
static ER_DllExport char * inq_rob_tag_extaxtype_idx(int idx)
tag_attributes, type &#39;R&#39; or &#39;T&#39; of controlled joint [] Contains the type of the controlled joint of t...
static ER_DllExport float * inq_cntrl_uc_kiv1(void)
Controller Signal.
static ER_DllExport frame * inq_Get_c_wobj_frame()
Get current wobj location w.r.t. path reference system.
static ER_DllExport int * inq_robot_type(void)
Type of device, i.e. Robot, Tool, etc.
static ER_DllExport float * inq_ipo_path_vq(void)
Programmed Joint speed in [deg/s], obsolete use inq_ipo_path_vq_axis()
static ER_DllExport frame * inq_tTw_data_idx(int ctool_idx)
Tool data for ctool_idx.
static ER_CAPI_SIM_COLLISION er_capi_sim_collision
Method class for collision, tolerances, etc.
Definition: ER_CAPI.H:4963
static ER_DllExport int * inq_rob_tag_color_idx(int idx)
tag_attributes, color of tag Use inq_rob_tag_color_set_idx() to change the color
static ER_DllExport int * inq_track_ref_sys_jnt_idx(void)
If the reference type is REF_JNT, the number of reference joint is returned For active joints a posit...
static ER_DllExport int * inq_single_cmd_c_device_idx(void)
Current device idx ERPL command: ERC CURRENT_DEVICE SET &#39;robotname, see ERPL Manual EASY-ROB-ERPL-eng...
static ER_DllExport frame * inq_rob_tag_T_cRBase_idx(int idx)
Temporary Tcp location w.r.t to cRobot Base This Tcp location w.r.t to cRobot Base is saved when the ...
Method class for setting and calculating units.
Definition: ER_CAPI.H:8583
Method class for trajectory planning (preparation)
Definition: ER_CAPI.H:4315
EXPORT_C ER_CAPI * _inq_er_capi(void)
Address to ER_CAPI method class.
static ER_DllExport frame ** inq_pjntTmb_ref(void)
Reference, points to inq_pjntTmb() per default.
static ER_DllExport int Get_cPickMode_Chk_1(void)
Returns the current Chk_1 box status in the Navigator Window The content depends on the current Picki...
static ER_DllExport char * inq_cell_info(void)
Cell Information The cell information will be displayed in the lower left corner of the opengl scene ...
static ER_DllExport int PickDistanceDeviceMeasure(int hold_first_point=0)
Enables the user to measure the Distance between Devices. Parameter hold_first_point can be one of th...
static ER_DllExport int * inq_stop_speed(void)
Causes the robot to stop if joint speeds are exceeded.
static ER_DllExport int Get_cPickMode_Chk_2(void)
Returns the current Chk_2 box status in the Navigator Window The content depends on the current Picki...
static ER_DllExport void mul_T_invT(FRAME *To, FRAME *Ti1, FRAME *Ti2)
Multiplication of two homogeneous 4x4 transformation matrices. To = Ti1 * inv(Ti2) Remarks inv(T) is...
static ER_DllExport frame * inq_mbTw_dyn(void)
Actual Transformation movable base to Tcp, depending on actual joint data.
static ER_CAPI_MOP_EXEC er_capi_mop_exec
Method class for trajectory execution.
Definition: ER_CAPI.H:3913
static ER_DllExport int * inq_turn_enable(void)
Turns enabled The turn_enable is set automatically for PTP motion and if the PTP calculation mode is ...
static ER_DllExport char * GetPrgfile(void)
Returns program file for cRobot.
static ER_DllExport float * inq_swe_max_passive(void)
Maximum travel ranges for passive joints.
Method class for collision, tolerances, etc.
Definition: ER_CAPI.H:5243
static ER_DllExport char * GetSystemPath(void)
EasyEdit SystemPath obsolete.
static ER_DllExport int inq_camera_enable(void)
Camera enable.
static ER_DllExport void * inq_body_group_handle(int grp_type)
Return group handle of current Device Parameter grp_type is one of ROBOT_GRP, TOOL_GRP or BODY_GRP...
static ER_DllExport int PickSnapDeviceTo(int SnapToMode=0)
Enables the user to snap a Device to a polygon or a vertex. Parameter SnapToMode can be one of the fo...
static ER_DllExport float * inq_q(int soln)
Solution array as a result of inverse kinematics calculation The inverse kinematics IKP calculates fo...
static ER_DllExport float * inq_rob_tag_length_idx(int idx)
tag_attributes, tag length [m] Tag size for visualization
static ER_DllExport double * inq_univ_trans_mask(void)
Cartesian mask Used for numerical solution for inverse kinematics. The cartesian mask allows to mask ...
static ER_DllExport char * inq_rob_tag_user_string_idx(int idx)
tag_attributes, user defined Tag string To store miscellaneous user data
static ER_DllExport int PickTag(void)
Enables the user to pick a tag. Remarks The exported function EXPORT_C AuxUpdate(int idx) is called ...
const int COLOR_USE_USER
USER color are saved with cel or rob file.
Definition: ER_CAPI_TYPES.H:647
static ER_DllExport frame * inq_bBase(void)
Program shift w.r.t. robot base This method takes effect when executing a motion command given by val...
enum _CIRC_ORI_MODE CIRC_ORI_MODE
static ER_DllExport frame * inq_Get_c_wobj_frame_ref()
Get wobj location w.r.t. to world system.
static ER_DllExport int inq_Get_c_device_idx(void)
Get current device idx [1..n_devices].
static ER_DllExport int PickPolyCenter(void)
Enables the user to pick the center of a polygon. Remarks The exported function EXPORT_C AuxUpdate(i...
static ER_DllExport float * inq_ipo_path_vqs(void)
Joint start speed in [deg/s].
static ER_DllExport int * inq_config_ext(void)
Return pointer of current robot configuration within [0..KIN_CONFIGS-1], see also inq_config() and in...
static ER_CAPI_DEVICES er_capi_devices
Method class to create, attach, update devices, for kinematics calculations and for trajectory planni...
Definition: ER_CAPI.H:87
static ER_DllExport int vec_to_frame_idx(float *vec, frame *T, int rotation_idx)
Converts an euler vector or quaternion into a frame. Vector vec is converted into a frame T A frame ...
static ER_DllExport float * inq_cruise_coi_pos(void)
COI Center Of Interest w.r.t. WORLD Origin.
static ER_DllExport float * GetAxisConstraintsMin(void)
Get axis constraints min. values Remarks Axis constraints can be set before, using SetAxisConstraint...
static ER_DllExport float * inq_bdxw(void)
Cartesian Error in Tcp w.r.t. robot base see also inq_dq()
static ER_DllExport float * inq_rob_tag_accel_ptp_idx(int idx)
Tag_attributes, ptp acceleration, 0-def, [rad/s^2] Remarks use inq_rob_tag_accel_ptp_ov_idx() instea...
static ER_DllExport frame * inq_tTw_data_strt_idx(int ctool_no)
Start condition, Tool data for ctool_idx.
static ER_DllExport void rob_kin_user_msg(char *s)
Displays message to the message window.
static ER_DllExport void * inq_body_handle_byname(void *grp_handle, char *name)
Return body handle by body name Parameter grp_handle must be valid and not 0 Parameter name is a vali...
static ER_DllExport int CruiseRobotTcp(int robot_tcp_idx)
Set Cruise mode to cRobot Tcp.
static ER_DllExport int dialog_save_file(char *fln, char *dialog_title)
Opens a dialog, for entering or selecting a file to save.
static ER_DllExport double * inq_achs_rotx(void)
Kinematics angles for X rotation [deg] for each active joint Calculated from &quot;Geometric Data to next&quot;...
static ER_DllExport int set_callback_AuxUpdate(int callback_fct_id, int(*callback_AuxUpdate)(int idx, int sub_idx))
Defines callback fct pointer array for AuxUpdate Parameter callback_fct_id is zero based in [0...
Method class to &quot;pick&quot; objects such as devices, tags, polygon, vertices, measure distances, ...
Definition: ER_CAPI.H:920
static ER_DllExport void * inq_EasyRobDll_Hwnd(void)
Get EASY-ROB Handle from CWnd class.
static ER_DllExport int PickDistancePolyCenter(int hold_first_point=0)
Enables the user to measure the Distance between Polygons. Parameter hold_first_point can be one of t...
static ER_DllExport int GetNumberOfWayPoints(void)
Get number of calculated way points See GetWayPointDof(), GetWayPointDof()
Method class containing all other ER_CAPI_* classes.
Definition: ER_CAPI.H:77
static ER_DllExport float * inq_ipo_prep_end_q(void)
Robot joint data at target location.
static ER_DllExport int chk_limits(int idx)
Check if an Error occured The parameter idx can be one of the following values. AUX_UPDATE_IDX_SWE_EX...
static ER_DllExport int * inq_rob_track_dyn_bits(void)
Set the Dynamics Tcp trace attribute Bits.
static ER_DllExport int inq_body_n_point_total(void *body_handle)
Number of total points/vertices within body givin by a handle A body contains a number of objects...
Method class for 3D Pdf Export.
Definition: ER_CAPI.H:1512
const int CONVERT_CAD_TESSELATION_RESET
Reset to origin Tesselation.
Definition: ER_CAPI_TYPES.H:679
static ER_DllExport int Shift_cTagOnFrame(frame *T)
Shifts cTag to location of frame &#39;T&#39;.
static ER_DllExport int UnloadPath(int confirm=1)
Unload current Path If paramter confirm is set to 1, the user will be prompted to confirm this operat...
static ER_DllExport int * inq_invkin_sub(void)
Inverse kinematics Sub-ID for cRobot.
static ER_DllExport frame * inq_kin_achs_T_passiv(int passiv_jnt_no)
Homogeneous-Transformation to next joint for each passive joint &quot;Geometric Data to next&quot; see inq_kin_...
static ER_DllExport char * inq_kin_calc_passiv(int passiv_jnt_no)
Formula for mathematical dependency for passive joints.
static ER_DllExport int * inq_accel_chk_always()
Causes an AuxUpdate() call if set and if joint accels are exceeded AuxUpdate idx = AUX_UPDATE_IDX_ACC...
static ER_DllExport int NewTagOnFrame(frame *T)
Creates a new Tag in current path at location of frame &#39;T&#39;.
static ER_DllExport int chk_collision_devices_idx(int dev_idx_1, int dev_idx_2)
Check for collision between two devices The device index dev_idx_1 , dev_idx_2 must be in [1...
static ER_DllExport int * inq_robot_collision(void)
1-def, robot is in collision queue, if robot_collision disabled, no collision check ...
Method class for interaction with EASY-ROB.
Definition: ER_CAPI.H:112
static ER_DllExport ER_UID inq_Get_c_device_uid(void)
Get current device unique id.
static ER_DllExport char * get_system_folder_file(int request_idx=SYS_SYSTEM_FOLDER_DIRECTORY_UNDEF)
Supplies requested system path or file. Parameter request_idx is one of SYS_SYSTEM_FOLDER_DIRECTORY_U...
static ER_DllExport float * inq_system_step(void)
Sample rate system model for cRobot [s].
static ER_DllExport float * inq_a_dyn(void)
Actual dynamics joint acceleration values and inq_v_dyn(), inq_q_dyn()
static ER_DllExport char * inq_Get_c_wobj_name()
Get current wobj name.
static ER_DllExport int * inq_track_ref_sys_grp(void)
Reference group of tcp trace The reference group depends on the attach location. e.g.: If the cTcp trace is attacehd to another robot, the returned reference group will ROBOT_GRP If the cTcp trace is not attached, the returned reference group will be UNDEF_GRP The reference group is one of UNDEF_GRP=-1, ROBOT_GRP=0, TOOL_GRP=1, BODY_GRP=2.
static ER_DllExport int * inq_ipo_path_path_via_motion_idx(void)
Path motion idx when interpolating to a via target tag.
static ER_DllExport int GetResults(int ap_result)
Get Autopath Result Parameter ap_result is one of AUTOPATH_RESULT_CHECKS, AUTOPATH_RESULT_SECONDS, AUTOPATH_RESULT_CPS, AUTOPATH_RESULT_CFREE, AUTOPATH_RESULT_COBSTACLE, AUTOPATH_RESULT_CDENSITY, AUTOPATH_RESULT_DSECONDS.
static ER_DllExport int * inq_ipo_prep_sync(void)
EasyEdit, Conveyor synchonization flag.
static ER_DllExport float * inq_a_solut(void)
Desired joint accel values.
static ER_DllExport double rob_kin_atan2(double y, double x)
Calculates math function atan2 If x=y=0, this function return 0.
static ER_DllExport float * inq_body_transparency(void *body_handle)
Transparency (alfa) value of body givin by a handle The transparency value is between 0 and 1...
static ER_DllExport int _info_line_msg_M(int moni, char *s, float *M, int n, int m, float scal=1)
float Matrix (nxm) output into Message Window If parameter moni is 1, the output is appended to the m...
Method class forward-, Inverse kinematics, desired robot joints, tools, position w.r.t. world and reference system.
Definition: ER_CAPI.H:2438
static ER_DllExport frame * inq_rob_tag_frame_strt_idx(int idx)
tag_attributes, tag start location w.r.t. it work object frame A tag start location is the start cond...
const int ZOOM_FLAG_DEFAULT
Zoom flag default setting.
Definition: ER_CAPI_TYPES.H:223
static ER_DllExport float * inq_cntrl_kiv(void)
I Factor for PPI Cascade Controller.
static ER_DllExport int _info_line_msg_lM(int moni, char *s, double *M, int n, int m, double scal=1)
double Matrix (nxm) output into Message Window If parameter moni is 1, the output is appended to the ...
static ER_CAPI_CAD_CREATE er_capi_cad_create
Method class for creating primitive geometries such as cubes, cylinder, spheres, etc.
Definition: ER_CAPI.H:6531
static ER_DllExport int inq_body_number(void *grp_handle)
Get number of geometries in the group Parameter grp_handle must be valid and not 0.
static ER_DllExport float * inq_rob_tag_speed_ptp_idx(int idx)
Tag_attributes, ptp speed, 0-def, [rad/s] Remarks use inq_rob_tag_speed_ptp_ov_idx() instead...
static ER_DllExport float * inq_ipo_path_aq(void)
Programmed Joint acceleration in [deg/s^2], obsolete use inq_ipo_path_aq_axis()
static ER_DllExport int _info_line_msg_i(int moni, char *s, int *vi, int n, int scal)
int Vector output into Message Window If parameter moni is 1, the output is appended to the monitorin...
static ER_DllExport char * inq_swe_max_calc_md(int joint_idx)
Equation to calculate math. dependency for positive travel ranges for an active joint Takes effect if...
static ER_DllExport float * inq_cart_limits_max(void)
Max. fix cartesian xyz limits w.r.t. RBase [m] see inq_cart_limits_joint_idx_active(), inq_cart_limits_joint_idx_passive()
static ER_DllExport char * inq_robot_type_s(int type_idx=0)
Name of current robot type see inq_robot_type()
static ER_DllExport int get_hardware_id(char *hw_id)
Supplies unique HardwareID or DongleID.
static ER_DllExport int inq_Get_n_paths()
Get number of paths in loaded workcell .
static ER_DllExport int * inq_stop_collision(void)
Enables, disables stop on collision.
enum _IPO_MODE IPO_MODE
static ER_DllExport float * inq_ipo_data_gtime(void)
global Simulation time [s] for complete work cell
static ER_DllExport float * inq_kin_user_data(int idx=0)
Special kinematics User Data See also inq_num_kin_user_data(), inq_kin_user_data_name() ...
static ER_DllExport float * SetStartPose(void)
Set current robot joint location as start pose Remarks This pose must be collision free...
static ER_DllExport frame * inq_achs_T_activ(void)
Kinematics transformation to the next joint for each active joint &quot;Geometric Data to next&quot; ...
static ER_DllExport int camera_position(float *pos=NULL)
Set camera xyz position.
static ER_DllExport int inq_body_cad_mem_model(void *body_handle)
Get the cad memory model of body givin by a handle The cad memory model and is one of ER_CAD_MEM_VBO...
static ER_DllExport int * inq_invkin(void)
Inverse kinematics ID for cRobot.
static ER_DllExport void incr_T(FRAME *Ti1, FRAME *Ti2, int res)
Multiplication of two homogeneous 4x4 transformation matrices. Depending in res , the result is copie...
static ER_DllExport int SavePath(void)
Opens a dialog to save a .tag File with the current path.
static ER_DllExport float * inq_body_obj_normals(void *obj_handle, int idx)
Normal vector of polygon of an object Use er_cad_io.inq_body_obj_n_poly() to get the number of polygo...
static ER_DllExport double * inq_univ_trans_weight(void)
Joint weight Used for numerical solution for inverse kinematics. The joint weight allows to weight ea...
static ER_CAPI_MOP_PATH er_capi_mop_path
Method class for path specifications, motion type (PTP, LIN, CIRC), speeds, acceleration, waiting time, etc.
Definition: ER_CAPI.H:3905
static ER_DllExport int * inq_single_cmd_ext_Tcp_idx(void)
External Tcp is active or disabled ERPL command: ERC EXT_TCP ON or OFF, see ERPL Manual EASY-ROB-ERPL...
static ER_DllExport int inq_num_active_jnts(void)
Number of active joints within [1..KIN_DOFS].
static ER_DllExport float * inq_ipo_data_lag_time(void)
Time after the current move [s] for cRobot.
static ER_DllExport int inq_body_n_obj_vbo(void *body_handle)
Get the number of objects loaded into the grafics board Remarks Each body consists of several objec...
static ER_DllExport int set_body_rgba_color(void *body_handle, float *rgba_color, int color_use=COLOR_USE_USER, int color_idx2change=0)
Set the RGB color of body givin by a handle Furthermore the object color can be exchanged Parameter c...
static ER_DllExport int * inq_rob_track_dyn_vis_attrib(void)
Dynamics Tcp trace attributes visibility for cRobot.
static ER_DllExport void ** inq_ipo_cp_usr_ptr(void)
Access user pointer for linear interpolation in er_ipo.dll This allows the user to allocate individua...
static ER_DllExport int PickCruise(void)
Enables cruise mode.
static ER_DllExport int * inq_device_ref_sys_grp(void)
Reference group of current device The reference group depends on the attach location. e.g.: If the cDevice is attacehd to another robot, the returned reference group will ROBOT_GRP If the cDevice is not attached, the returned reference group will be UNDEF_GRP The reference group is one of UNDEF_GRP=-1, ROBOT_GRP=0, TOOL_GRP=1, BODY_GRP=2.
static ER_DllExport int SaveCell_ext(char *new_cel_fln=NULL, int confirm_overwrite=1, int reset_pos=0, int save_pos=1)
Saves a cell file by filename If new_cel_fln is NULL, the user will be prompted to enter or select a ...
static ER_DllExport int AfxMessageBox(char *s, unsigned int nType=MB_ICONSTOP)
Show Message Box Parameter mb represents the style of the message box and is a combination of MB_OK...
static ER_DllExport int rob_kin_chk_travel_range(float *q)
Checks if all joint data are inside a valid travel range.
static ER_DllExport float * inq_ipo_path_ax_ov_set(float ov)
Calc. ax as percentage value of inq_ax_max()
static ER_DllExport frame * inq_Get_c_tag_frame()
Get current tag location w.r.t. wobj frame location.
static ER_DllExport char * inq_body_coll_exl_list(void *body_handle)
Collision exclude list of same group used for robot itself collision The string contains indices of b...
const int CONVERT_CAD_DEFAULT
CONVERT_CAD_MSG_WARNING, CONVERT_CAD_HEAL, CONVERT_CAD_SEW.
Definition: ER_CAPI_TYPES.H:675
static ER_DllExport float * inq_ipo_exec_vs(void)
Desired interpolated joint speed data [rad/s] or [m/s].
static ER_DllExport char * inq_kin_type_passiv(void)
&#39;T&#39;- translational-, &#39;R&#39;- revolute for passive joints Remarks For a two passive joints the type stri...
static ER_DllExport int * inq_ipo_data_ipo_in_position(void)
Indicator, cRobot has reached its target position.
static ER_DllExport int GetDlgParameter(int ap_dlg_option)
Get Autopath dialog parameter Parameter ap_dlg_option is one of AUTOPATH_DLG_PARAMETER_API_CONTROL, AUTOPATH_DLG_PARAMETER_SHOW_WINDOW, AUTOPATH_DLG_PARAMETER_DISABLE_MSG.
static ER_DllExport int get_collision_workcell_msg(char *msg)
Collision message in case of detected collision Call chk_collision_workcell() first to detect workcel...
static ER_DllExport int * inq_rob_tag_lin_ori_mode_idx(int idx)
tag_attributes, orientation interpolation mode for LIN motion type default is 4 - LIN_QUATERNION ...
static ER_DllExport float * sys_m_to_unit()
Scaling value to convert the internal unit &#39;m&#39; to the user defined unit defined in the environment fi...
static ER_DllExport float * inq_v_max(void)
Max. joint or axis speeds [rad/s,m/s].
static ER_DllExport frame * inq_ipo_prep_end_T(void)
Target TCP location.
static ER_DllExport ER_UID * inq_rob_tag_uid_cR_idx(int idx)
Temporary unique robot id of cRobot This Unique robot ID of the cRobot is saved when the cRobot reach...
static ER_DllExport int * inq_path_ref_sys_grp(void)
Reference group where the path is attached to The reference group depends on the attach location...
static ER_DllExport void * inq_body_obj_handle(void *body_handle, int i_obj)
Handle to object within a body Use inq_body_n_obj() to retreive the number of objects within a body...
static ER_DllExport int ChkPrgLoaded(int confirm=0, int set_prg_dev=0)
Check if a robot Program file is loaded If paramter confirm is set to 1, the user will be prompted to...
static ER_DllExport float * inq_ipo_path_vxe_ori(void)
Programmed orientation end speed in [deg/s].
static ER_DllExport float asss(float beta, float s1, float s2)
Triangle calculation, calculates 3rd side s3 Remarks See EASY-ROB-ERPL-eng.pdf &quot;parser functions&quot;...
static ER_DllExport float * inq_q_dyn(void)
Actual dynamics joint axis values see inq_v_dyn() = d(inq_q_dyn())/dt.
static ER_DllExport int * inq_track_dyn_color(void)
Dynamics Tcp trace color.
static ER_DllExport float * inq_rob_tag_accel_cp_ov_idx(int idx)
Tag_attributes, cp override accel, 0-def [0-200%].
static ER_DllExport char * inq_device_ref_sys_type_name(void)
Reference type name of the current device The reference type name (name of attach location) depends o...
static ER_DllExport int * inq_body_color_sub_idx(void *body_handle)
Color sub idx of body givin by a handle The color sub idx is a positive value see inq_body_color_idx(...
static ER_DllExport float * inq_rob_kin_v_usr0(void)
1st User Vector for Testing
static ER_DllExport int * inq_ctool_idx(void)
Get current tool idx [0..KIN_TOOLS-1].
Method class for path specifications, motion type (PTP, LIN, CIRC), speeds, acceleration, waiting time, etc.
Definition: ER_CAPI.H:4041
static ER_DllExport void mul_T_invT_invT(FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * inv(Ti2) * inv(Ti3) Rem...
static ER_DllExport int body_reset_position(void *body_handle, int grp_type)
Resets body position to start condition Parameter grp_type is one of ROBOT_GRP, TOOL_GRP or BODY_GRP ...
static ER_DllExport void ** inq_ipo_circ_usr_ptr(void)
Access user pointer for circular interpolation in er_ipo.dll This allows the user to allocate individ...
static ER_DllExport int ClearAllWayPoints(void)
Clears all calculated way points See GetNumberOfWayPoints(), GetWayPointDof(), GetWayPoint(), GetWayPointConfiguration()
static ER_DllExport int * inq_ipo_data_skip_call_inv_kin(void)
Decides if the inverse kinematics has been already called by the user defined trajectory planner...
static ER_DllExport void ** inq_UserDll_usr_ptr(int userdll_idx)
access user pointer for API UserDlls The number of currently loaded UserDll can be retrieved with inq...
static ER_DllExport int inq_UserDll_number()
Get number of loaded API UserDlls Each API UserDll is defined in the configuration file config...
static ER_DllExport int * inq_rob_tag_leading_pos_idx(int idx)
tag_attributes, Leading behavior for CP motion 2 - VAR the slowest is dominant, default 1 - Pos the p...
static ER_DllExport int chk_collision_devices_uid(ER_UID dev_uid_1, ER_UID dev_uid_2)
Check for collision between two devices If dev_uid_1 or dev_uid_2 are not valid, -1 is returned In ca...
static ER_DllExport int SaveCell(void)
Opens dialogto save a .cel Cell file.
static ER_DllExport int inq_body_cad_type(void *body_handle)
Return cad_type of a body givin by a handle Parameter body_handle must be valid and not 0 The cad_typ...
static ER_DllExport float rob_kin_to_RAD(int joint_dof)
Returns RAD if joint is rotational, else 1.
static ER_DllExport int dialog_open(int dialog_idx, int dlg_mode)
Opens an EASY-ROB non modal dialog The method allows to open or close non modal dialog or request its...
static ER_DllExport int Pick3PointCircleMeasure(int vertices=1, int second_circle_measure=0)
Enables the user to measure a circle segment with three points. Parameter vertices can be one of the ...
const int ERGL_MODE_INQ
return address of requested &#39;ergl_param&#39; data
Definition: ER_CAPI_TYPES.H:796
static ER_DllExport int RunProgram(char *prgline=NULL, int confirm=1)
Run complete program or single ERPL-/ERCL command If parameter prgline is NULL, the current loaded pr...
static ER_DllExport double * inq_achs_offsets1(void)
Kinematics lengths in X direction [m] for each active joint Calculated from &quot;Geometric Data to next&quot; ...
static ER_CAPI_SYS_STATUS er_capi_sys_status
Method class for unloading objects (work cells, robots, tools, programs, etc.) simulation status...
Definition: ER_CAPI.H:7613
static ER_DllExport int * inq_body_is_pickable(void *body_handle)
Enable/disable pickability of body givin by a handle.
static ER_DllExport char * inq_track_ref_sys_name(void)
Reference name of the tcp trace The reference type name (name of attach location) depends of one of t...
static ER_CAPI_MOP_DATA er_capi_mop_data
Method class for start-, target data, motion time, etc.
Definition: ER_CAPI.H:3901
static ER_DllExport int * inq_stop_accel(void)
Causes the robot to stop if joint accels are exceeded.
static ER_DllExport float * inq_rob_tag_extax_idx(int idx)
tag_attributes external axis value [] See inq_rob_tag_n_extax_idx(), inq_rob_tag_extaxjnt_idx(), inq_rob_tag_extaxtype_idx()
static ER_DllExport double * inq_achs_offsets2(void)
Kinematics lengths in Y direction [m] for each active joint Calculated from &quot;Geometric Data to next&quot; ...
static ER_DllExport int color_rgb2idx_vad(float *rgba)
Converts RGBA Color (&#39;A&#39;-Alfa value) to a color idx &#39;idx&#39;.
static ER_DllExport int Tool_Device_by_idx(int tool_device_idx)
Sets tool data to the device specified by idx The current device takes over the current tool data of ...
static ER_DllExport char * inq_track_ref_sys_type_name(void)
Reference type name of the tcp trace The reference type name (name of attach location) depends of one...
static ER_DllExport void mul_T_invT_T(FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * inv(Ti2) * Ti3 Remarks ...
static ER_DllExport int * inq_ipo_path_ptp_phasen_synchron(void)
Setting for PTP synchonization.
Method class for mathematical calculations, simulation status, units.
Definition: ER_CAPI.H:7591
static ER_DllExport float * inq_rob_tag_lead_time_idx(int idx)
tag_attributes, wait time before move begins, 0-def [s]
static ER_DllExport int Convert_CAD_Unload(void)
Unload CAD Import Kernel.
static ER_DllExport int frame_to_vec_idx(float *vec, frame *T, int rotation_idx)
Converts a frame into an euler vector or quaternion. Frame T is converted into a vector vec A frame ...
static ER_DllExport ER_UID * inq_device_sync_ref_sys_grp_uid(void)
Obsolete, use inq_device_link_ref_sys_grp_uid()
static ER_DllExport double * inq_joint_offset(void)
cRobot joint offsets for each active joint in [m] or [rad]
static ER_DllExport int * inq_rob_tag_auto_accel_idx(int idx)
Tag_attributes, auto acceleration, 0-def If auto accel is enabled for a tag, the accelerations for pt...
static ER_DllExport int LoadRobot(void)
Opens Dialog to load a .rob Robot or Device file.
static ER_DllExport int _info_line_msg_T(int moni, char *s, frame *T)
Frame output into Message Window If parameter moni is 1, the output is appended to the monitoring fil...
static ER_DllExport int * inq_cSimView(void)
Return current simulation &quot;View&quot; number [0.. NUM_SIM_VIEWS-1].
static ER_DllExport int PickSnapBodyTo(int SnapToMode=0)
Enables the user to snap a Body to a polygon or a vertex. Parameter SnapToMode can be one of the foll...
static ER_DllExport int rob_kin_joint_rot(int joint_dof)
Get active robot joint type An active robot joint type can be rotational or prismatic See rob_kin_joi...
static ER_DllExport int LoadProgram(void)
Opens Dialog to load a .prg Program file.
static ER_DllExport char * EasyRobPlatform(void)
EASY-ROB Platform, x86 or x64.
static ER_DllExport int StartCondition_ResetSave(int start_condition=START_CONDITION_RESET_ALL_ROBOTS)
Reset or Save the Start Conditions for the current or all robots Parameter start_condition is bitwise...
static ER_DllExport frame * inq_rob_tag_frame_idx(int idx)
tag_attributes, tag location w.r.t. it work object frame see
static ER_DllExport int SetPrgId(int PrgId)
Set program interpreter ID The program interpreter ID is one of ERPL = 0, BM_T1 = 1...
static ER_DllExport void * inq_body_obj_attributes_handle(void *body_handle, int i_obj)
Handle to object attributes within a body Use inq_body_n_obj() to retreive the number of objects belo...
static ER_DllExport int SaveTool(void)
Opens a dialog to save a .tol Tool File.
static ER_CAPI_SIM_MONITORING er_capi_sim_monitoring
Method class for monitoring of travel ranges, speeds, etc.
Definition: ER_CAPI.H:4959
static ER_DllExport int body_update_cad_file(void *body_handle=0, int use_vbo=0)
Updates a body Unloads and reloads a body from file Parameter /p use_vbo determines if VBO (vertex bu...
static ER_DllExport double * inq_univ_trans_tol_m(void)
Square of cartesian position tolerance [m^2] Used for numerical solution for inverse kinematics...
static ER_DllExport void * inq_body_group_handle_current(void)
Get current group handle Depending on cDevice and the current selected geometry.
static ER_DllExport int GetPrgId(void)
Program interpreter ID for program interpreter The program interpreter ID is one of ERPL = 0...
static ER_DllExport void extract_fln_with_ext(char *fln, char *fln_with_ext)
Extract the file name with extension from a complete file name including drive and path...
static ER_DllExport char ** inq_kin_user_data_name(int idx=0)
Special User Data Names See also inq_num_kin_user_data(), inq_kin_user_data()
static ER_DllExport int UnloadTool(int confirm=1)
Unload current Tool If paramter confirm is set to 1, the user will be prompted to confirm this operat...
static ER_DllExport int CruiseZoomView(int dzoom)
Zoom in or our the 3D Scen dzoom is &gt; 0 to zoom in, or &lt; 0 to zoom out .
static ER_DllExport int CloseApplication(int confirm=0)
Close EASY-ROB application If paramter confirm is set to 1, the user will be prompted to confirm this...
static ER_DllExport char * inq_tool_name(void)
Get current tool name.
static ER_DllExport int * inq_unreach_chk_always()
Causes an AuxUpdate() call if set and if unreachable target location AuxUpdate idx = AUX_UPDATE_IDX_U...
static ER_DllExport frame * inq_camera_position(void)
Return camera frame position.
static ER_DllExport int UnloadCADPreview(int confirm=1)
Unload the geometry in the CAD Preview.
static ER_DllExport float * inq_model_N(void)
Gear ratio.
static ER_DllExport float * inq_ipo_prep_t_bahn(void)
Required motion time for current move, calculated in ipo_preparation.
enum _LIN_ORI_MODE LIN_ORI_MODE
static ER_DllExport int Path_ReAttach_by_name(int path_idx, int new_reference_type, char *new_reference_device_name, int new_reference_cad_grp_type=ROBOT_GRP, char *new_reference_cad_name=NULL, int new_reference_jnt_idx=0, bool keep_world_position=false)
Reattach a path to a device, givin by device name Attaches the path given by path_idx to a device...
static ER_DllExport int U3DPdf_ExportAPI_SetCallbackSaveStatus(void(*ptr_SaveStatusFct)(int))
Defines a callback function for status messages when saving the 3D PDF file Parameter save_status in ...
static ER_DllExport char * inq_UserDll_user_name(int userdll_idx)
Access user name for API UserDlls The number of currently loaded UserDll can be retrieved with inq_Us...
static ER_DllExport frame * inq_Get_c_wobj_frame_strt()
Get current start wobj frame w.r.t. path reference system.
static ER_DllExport float * inq_rob_tag_acc_set_ramp_idx(int idx)
Tag_attributes, AccSet Ramp, 100-def [20-100%] Set AccSet Ramp to 20% for smooth acceleration Set Acc...
static ER_CAPI_CAD er_capi_cad
Method class for for 3D CAD Data import and -export, changing attributes and positions.
Definition: ER_CAPI.H:99
Method class to access API UserDll Option API UserDll allows the user to develop user defined dlls...
Definition: ER_CAPI.H:8786
static ER_DllExport float * inq_swe_min(void)
Max. negative travel ranges (joint limits) [rad,m].
static ER_DllExport int chk_collision_workcell()
Check Workcell Collision Test all devices versus all other devices, including environemnt geometries ...
static ER_DllExport int get_number_of_collision_pairs(void)
Get number of collision pairs in case a collsion occurred. The maximum number of stored collision pai...
static ER_DllExport int SavePath_ext(char *new_pth_fln=NULL, int confirm_overwrite=1)
Saves a Tag or Path file by filename with the current path If new_pth_fln is NULL, the name of the current path is used. Set confirm_overwrite = 1, to prompt the user to confirm overwriting tag file.
static ER_DllExport int inq_Set_device_uid(ER_UID device_uid)
Sets current device unique id.
static ER_DllExport frame * inq_tTw_strt(void)
Start condition, Tool frame: Robot Tip to TCP.
static ER_CAPI_CAD_IO er_capi_cad_io
Method class for access to geometry parameter: Location, polygons, vertices, attributes, etc.
Definition: ER_CAPI.H:6527
static ER_DllExport float * inq_ipo_path_aq_ov_set(float ov)
Calc. aq_axis as percentage value of inq_a_max()
static ER_DllExport int _info_line_msg_lv(int moni, char *s, double *v, int n, double scal)
double Vector output into Message Window If parameter moni is 1, the output is appended to the monito...
static ER_DllExport double * inq_univ_trans_tol_rad(void)
Square of cartesian orientation tolerance [rad^2] Used for numerical solution for inverse kinematics...
static ER_DllExport int SetDlgParameter(int ap_dlg_option, int ap_dlg_value)
Set Autopath dialog parameter Parameter ap_dlg_option is one of AUTOPATH_DLG_PARAMETER_API_CONTROL, AUTOPATH_DLG_PARAMETER_SHOW_WINDOW, AUTOPATH_DLG_PARAMETER_DISABLE_MSG Remarks To control AutoPath via API, enable API_CONTROL and enable DISABLE_MSG.
static ER_DllExport int PickPoint(void)
Enables the user to pick a point or a vertex. Remarks The exported function EXPORT_C AuxUpdate(int i...
static ER_DllExport void TagClone(void)
Multiple clone of current Tag Clone all selected Tags.
static ER_DllExport int * inq_rob_tag_motype_idx(int idx)
Tag_attributes, motion type.
static ER_DllExport int CreateRobotTemplate(char *rob_path_fln, char *rob_name, int cad_type, char *cad_fln, char *cad_name, frame *refpos, frame *pos, float *xyz_scale, bool overwrite=true)
Creates a robot template file with one geometry. The geometry can be parameterized by cad_type which ...
static ER_DllExport float * inq_rob_tag_speed_cp_idx(int idx)
Tag_attributes, cp speed, 0-def, [m/s] .
static ER_DllExport int * inq_single_cmd_interpolation(void)
Interpolation enabled or disabled If interpolation is disabled, the robot will jump to the target...
static ER_DllExport int zoom_cBase(int zoom_flag=ZOOM_FLAG_DEFAULT)
Zoom cBase (current robot base) to the center of the 3D Scene zoom_flag is a bitwise inclusive OR ope...
static ER_DllExport int inq_Get_device_idx_by_name(char *device_name)
Get device idx by device name if &#39;device name&#39; is not valid, -1 is returned.
static ER_DllExport int * inq_cnfg_soln(void)
Return robot configuration solution IDs Remarks All values should be different, i.e. [0 1 2 3 4 5 6 7] Examples: EASY-ROB mathematical solution order [0 1 2 3 4 5 6 7] fits to ... –&gt; Fanuc solution order NUT , FUT , NDT , FDT , NDB , FDB , NUB , FUB -&gt; [0 1 2 3 4 5 6 7] –&gt; Comau solution order — , –W , -E- , -EW , SE- , SEW , S– , S-W -&gt; [0 4 2 6 1 5 3 7] –&gt; Kuka    solution order B010, B110, B000, B100, B001, B101, B011, B111 -&gt; [0 1 2 3 4 5 6 7] –&gt; ABB solution order Cfg1, Cfg2, Cfg3, Cfg4, Cfg5, Cfg6, Cfg7, Cfg8 -&gt; [0 4 2 6 1 5 3 7].
static ER_DllExport char * inq_Get_c_path_name()
Get current path name.
static ER_DllExport int * inq_body_show_transparent(void *body_handle)
Show body transparency Allows to dis- or enable body transparency see inq_body_transparency() ...
static ER_CAPI_SYS_USERDLL er_capi_sys_userdll
Method class to access API UserDll.
Definition: ER_CAPI.H:7621
static ER_DllExport int * inq_path_ref_sys_type(void)
Reference type where the path is attached to The reference type (attach location) can be one of the f...
static ER_DllExport void mul_R_pos(float *po, FRAME *R, float *pi)
Multiplication of a 3x1 position with the 3x3 orientation of a homogeneous 4x4 transformation matrice...
static ER_DllExport void rob_kin_frame_ident(frame *T)
Set the homogeneous 4x4 transformation matrix T to identity. T = Ident A frame FRAME is a homogeneous...
static ER_DllExport char * inq_robot_fln_name(void)
File name of cRobot.
static ER_DllExport float * inq_rob_kin_v_usr1(void)
2nd User Vector for Testing
static ER_DllExport int Convert_CAD_Setting(int Setting=CONVERT_CAD_DEFAULT)
Set conversion settings Parameter Setting is a bitwise inclusive OR operator (|) of CONVERT_CAD_DEFAU...
static ER_DllExport int * inq_turn_value(void)
Index for Turn Range, default=0 The turn_value depends on current robot joints and the defined turn_i...
static ER_DllExport int inq_body_idx(void *body_handle)
Idx of body givin by a handle The returned list idx is zero based [0.. number of bodies-1] see inq_bo...
static ER_DllExport void reset_ipo_path_turn(void)
Unset Turns for each joint.
static ER_DllExport float * inq_rob_tag_accel_ori_ov_idx(int idx)
Tag_attributes, ori override accel, 0-def [0-200%].
static ER_DllExport float * inq_coll_min_distance_p1(void)
Collision point &#39;p1&#39; of 1st colliding geometry.
static ER_DllExport int zoom_COI(int zoom_flag=ZOOM_FLAG_DEFAULT)
Zoom COI ( Center Of Interest) to the center of the 3D Scene zoom_flag is a bitwise inclusive OR oper...
Method class for graphical update of the 3D scene, refreshing dialogs, etc.
Definition: ER_CAPI.H:8185
static ER_DllExport float * inq_rob_tag_zone_idx(int idx)
Tag_attributes, programmed zone value [mm,%].
static ER_DllExport int SetPoseEnd(int nConfig, float *pose_end)
Set specified robot joint location as end pose Remarks This pose must be collision free...
static ER_DllExport int _info_line_msg(int moni, char *fmt,...)
Output into Message Window, same as printf(...) If parameter moni is 1, the output is appended to the...
static ER_DllExport float * inq_ipo_path_vx_ori(void)
Programmed orientation speed in [deg/s].
static ER_DllExport void mul_T_T_invT(FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * Ti2 * inv(Ti3) Remarks ...
static ER_DllExport void mul_T_T_T(FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3)
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * Ti2 * Ti3 A frame FRAME...
static ER_DllExport int CruiseWorld(void)
Set Cruise mode to World Coorsys.
static ER_DllExport frame * inq_ipo_prep_center_T(void)
Center if circular motion, calculated from start-, via-, end point.
static ER_DllExport int Set_MouseMode(int mouse_mode)
Sets new mouse mode, return old mouse mode mouse_mode is the requested mouse mode, one of the following values MM_CRUISE MM_TCP_JOG_WZKS MM_TCP_JOG_WORLD MM_JNT_JOG MM_ROBBASE MM_BODY MM_BODY_ALL MM_TAG MM_BCKGNDCOLOR MM_FLOORCOLOR MM_TAG_OFFSET MM_TOOL MM_LIGHTPOS MM_NEAR_FAR_PLANE MM_TCP_JOG_BASE.
static ER_DllExport void ** inq_ipo_jnt_usr_ptr(void)
Access user pointer for joint interpolation in er_ipo.dll This allows the user to allocate individual...
static ER_DllExport void rob_kin_T_mal_T(frame *Ti1, frame *Ti2)
Multiplication of two homogeneous 4x4 transformation matrices. Ti1 = Ti1 * Ti2 Remarks same as incr_...
static ER_DllExport frame * inq_iTb_strt(void)
Start condition, Attach position (reference position) to robot base.
static ER_DllExport ER_UID * inq_Get_c_path_robot_uid()
Get unique robot ID, current path belongs to, zero if free.
static ER_DllExport int * inq_device_link_ref_sys_jnt_link_idx(void)
Linkage joint index vector, if the linkage reference type is REF_JNT and valid unique ID exist The jo...
static ER_DllExport char * inq_device_link_ref_sys_type_name(void)
Linkage reference type name of the current device The linkage reference type name depends on the inq_...
static ER_DllExport int UnloadBody(int confirm=1)
Unload Body group If paramter confirm is set to 1, the user will be prompted to confirm this operatio...
const int SYS_SYSTEM_FOLDER_DIRECTORY_UNDEF
Request Idx undefined.
Definition: ER_CAPI_TYPES.H:802
static ER_DllExport double * inq_achs_rotz(void)
Kinematics angles for Z rotation [deg] for each active joint Calculated from &quot;Geometric Data to next&quot;...
static ER_DllExport float * inq_ipo_path_axe(void)
Programmed cart end acceleration in [m/s^2].
static ER_DllExport int AuxUpdate(int idx, int sub_idx=0)
Forces an AuxUpdate() call Parameter idx is one of AUX_UPDATE_IDX_SIMUPDATE to AUX_UPDATE_IDX_SWE_PAS...
static ER_DllExport int * inq_rob_tag_extaxjnt_idx(int idx)
tag_attributes, idx of controlled axis [] Contains the idx of the controlled joint of the cRobot See ...
static ER_DllExport float * GetEndPose(void)
Get current robot joint location end pose Remarks This pose must be set before, use SetEndPose() ...
static ER_DllExport int * inq_status_output_tag_idx(void)
Identifier if robot move to a tag location or to a location givin by numbers &gt;0 - move to a Tag else ...
static ER_DllExport int * inq_swe_chk_always()
Causes an AuxUpdate() call if set and if active or passive travel ranges are exceeded AuxUpdate idx =...
static ER_DllExport int SaveRobotAsm(void)
Opens a dialog to save a .ras Robot Assembly file.
static ER_DllExport int * inq_status_output_type(void)
Control for status output data see STATUS_OUTPUT_TYPE SIM_STEP=1, TARGET_POSE=2, IPO_STEP=3.
static ER_DllExport int * inq_cart_space_chk_always()
Causes an AuxUpdate() call if set and if cartesian space is exceeded AuxUpdate idx = AUX_UPDATE_IDX_C...
static ER_CAPI_SIM_CAMERA er_capi_sim_camera
Method class for camera settings.
Definition: ER_CAPI.H:4967
static ER_DllExport int * inq_stop_swe(void)
Causes the robot to stop if travel ranges (joint limits) are exceeded.
static ER_DllExport float * inq_ipo_path_vxe(void)
Cart. end speed in [m/s].
Method class for trajectory planning and -execution and for motion planning AUTOPATH.
Definition: ER_CAPI.H:3895
static ER_DllExport float inq_camera_focus(void)
Return camera focus.
static ER_DllExport void * inq_body_handle_current(void *grp_handle=0)
Return body handle If parameter grp_handle is 0, the body handle of the current group is returned...
Method class for camera settings.
Definition: ER_CAPI.H:5348
static ER_DllExport float * inq_ipo_prep_dq(void)
Robot joint difference array (=strt_q - end_q) see inq_ipo_prep_strt_q(), inq_ipo_prep_end_q() ...
static ER_DllExport int * inq_device_sync_ref_sys_jnt_sync_idx(void)
Obsolete, use inq_device_link_ref_sys_jnt_link_idx()
static ER_DllExport float * inq_model_vz1_v(void)
Discrete model: V Factor of PT1 transfer function Depending on system step inq_system_step(), vz1_v = 1.0/d_base.
static ER_DllExport char * inq_rob_tag_name_idx(int idx)
Tag_attributes, get tag name (=postfix) The complete tag name is tagprefix + tagname See inq_rob_tag_...
static ER_DllExport void moni_lv(char *s, double *v, int n, float scal)
Vector output into the message file moni_msg.txt.
static ER_DllExport float sasssa2(float s1, float beta, float s2, float s3, float s4)
Quadrangle calculation, calculates angle between s3 of s4 Remarks See EASY-ROB-ERPL-eng.pdf &quot;parser functions&quot;.
Method class for simulation settings.
Definition: ER_CAPI.H:4953
static ER_DllExport int Shift_cTagOnTcp(void)
Shifts cTag to the Tcp of cRobot The cTag will jump to the cRobot Tcp.
static ER_DllExport int PickRobot(void)
Enables the user to pick a robot or a device. Remarks The exported function EXPORT_C AuxUpdate(int i...
static ER_DllExport int * inq_tool_collision(void)
1-def, tool is in collision queue, if tool_collision disabled, no collision check ...
static ER_DllExport int set_body_para(void *body_handle, float *para)
Set or modify body parameter The content of the parameter vector para depends of the &quot;cad_type&quot; see i...
static ER_DllExport int * inq_rob_tag_render_idx(int idx)
tag_attributes, tag render Tag render is one of [0-def,1-app_z,2-app_x,3-app_y,4-point,5-invisible]
static ER_DllExport void prg_data_single_cmd_reset(void)
Reset program data for single command execution such as program base, via point for circular movement...
static ER_DllExport void cpy_R(FRAME *Ro, FRAME *Ri)
Copies the Orientation from frame Ri into frame Ro A frame FRAME is a homogeneous 4x4 transformation...
static ER_DllExport float * GetAxisConstraintsMax(void)
Get axis constraints max. values Remarks Axis constraints can be set before, using SetAxisConstraint...
static ER_DllExport char * inq_move_base_name(void)
Name for moveable base.
static ER_DllExport int dialog_get_file_ext(char *path, char *file, char *dialog_title)
Opens a dialog, for selecting an existing file This method opens EASY-ROBs &#39;Selection Dialog&#39; contain...
static ER_DllExport int rob_kin_vortrans(frame *bTt)
Calling forward kinematics The input joint values are in inq_q_solut() See also rob_kin_vortrans_q() ...
Method class for mathematical calculations, multiplications of homogeneous matrices, conversion Euler angle, triangle calculations, formula parser, etc.
Definition: ER_CAPI.H:7671
static ER_DllExport int * inq_rob_track_bits(void)
Set the Tcp trace attribute Bits.
static ER_DllExport int Device_Link_by_idx(int new_reference_type, int new_reference_device_idx=0, int *new_reference_jnt_link_idx=NULL)
Link current device to another device by idx new_reference_type one of REF_NO_REF=0 or REF_JNT=9 new...
static ER_DllExport int SaveRobotAsm_ext(char *new_ras_fln=NULL, int confirm_overwrite=1)
Saves a robot Assembly file by filename If new_ras_fln is NULL, the name of the robot assembly is use...
static ER_DllExport ROB_DH * inq_rob_dh_activ(void)
Denavit-Hartenberg-Transformation to the next joint for each active joint &quot;Geometric Data to next&quot;...