EASY-ROBâ„¢ Application Programming Interface  v9.301
ER_CAPI.H
Go to the documentation of this file.
1 /*
2  EASY-ROB Development V9.301
3 
4  EASY-ROB Software GmbH
5 
6  Copyright (c) 1996 - 2023
7 
8  modul: er_capi.h
9 
10  Last modification: JUL 2023
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;
43 
44 class ER_CAPI_SIM;
47 class ER_CAPI_SIM_CAMERA;
48 class ER_CAPI_SIM_ERPL;
49 class ER_CAPI_SIM_TRACK;
50 
51 class ER_CAPI_TARGETS;
54 
55 class ER_CAPI_CAD;
56 class ER_CAPI_CAD_IO;
57 class ER_CAPI_CAD_CREATE;
58 class ER_CAPI_CAD_IMPORT;
60 
61 class ER_CAPI_SYS;
64 class ER_CAPI_SYS_VIEW;
66 class ER_CAPI_SYS_STATUS;
67 class ER_CAPI_SYS_UNITS;
69 class ER_CAPI_SYS_APIDLL;
70 
71 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI
73 // class ER_CAPI
75 
78 class ER_CAPI
79 {
80 public:
81 
85 
89 
93 
97 
101 
105 };
106 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_USER_IO
108 // class ER_CAPI_USER_IO
110 
113 class ER_CAPI_USER_IO : public ER_CAPI
114 {
115 public:
116 
120 
124 
128 
132 
136 
137 };
139 // class ER_CAPI_USER_IO_FILE
141 
145 {
146 public:
147 
153  static ER_DllExport int LoadCell(); // open dialog to load .cel file
154 
160  static ER_DllExport int LoadRobot(void); // open dialog to load a .rob file
161 
167  static ER_DllExport int LoadRobotAsm(void); // open dialog to load a .ras file
168 
174  static ER_DllExport int LoadTool(void); // open dialog to load a .tol file
175 
181  static ER_DllExport int LoadProgram(void); // open dialog to load a .prg file
182 
189  static ER_DllExport int LoadProgramFile(char *prg_fln); // prg_fln: program file name, if NULL cFile will be unloaded
190 
196  static ER_DllExport int LoadMimic(void); // open dialog to load a .mmc file
197 
204  static ER_DllExport int LoadMimicFile(char *mimic_file); // mimic_file: mimic file name, if NULL cFile will be unloaded
205 
211  static ER_DllExport int LoadCamera(void); // open dialog to load a .cam file
212 
218  static ER_DllExport int LoadAuto(char *fln); // load file depending on file extension, ret 0-OK
219 
225  static ER_DllExport int SaveCell(void); // open dialog to save .cel file
226 
240  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
241 
247  static ER_DllExport int SaveRobot(void); // open dialog to save .rob file
248 
258  static ER_DllExport int SaveRobot_ext(char *new_rob_fln=NULL,int confirm_overwrite=1); // save robot file by fln
259 
265  static ER_DllExport int SaveRobotAsm(void); // open dialog to save .ras file
266 
276  static ER_DllExport int SaveRobotAsm_ext(char *new_ras_fln=NULL,int confirm_overwrite=1); // save robot assembly file by fln
277 
283  static ER_DllExport int SaveTool(void); // open dialog to save .tol file
284 
294  static ER_DllExport int SaveTool_ext(char *new_tol_fln=NULL,int confirm_overwrite=1); // save tool file by fln
295 
301  static ER_DllExport int SavePath(void); // open dialog to save .tag file
302 
312  static ER_DllExport int SavePath_ext(char *new_pth_fln=NULL,int confirm_overwrite=1); // save Tag file by fln
313 
319  static ER_DllExport int SavePathes(void); // open dialog to save .tag file containing all pathes
320 
330  static ER_DllExport int SavePathes_ext(char *new_pth_fln=NULL,int confirm_overwrite=1); // save Tag file by fln containing all pathes
331 
370  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);
371 
390  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);
391 };
393 // class ER_CAPI_USER_IO_DIALOG
395 
399 {
400 public:
401  // return code for below dialog_* functions: 1 OK, -1 Cancel
402 
409  static ER_DllExport int dialog_save_file(char *fln,char *dialog_title); // open dialog, to enter or select a file to save
410 
417  static ER_DllExport int dialog_get_file (char *fln, char *dialog_title); // open dialog, to select an existing file
418 
439  static ER_DllExport int dialog_get_file_ext(char *path,char *file,char *dialog_title); // open dialog, to select an existing file
440 
449  static ER_DllExport int dialog_edit_file (char *fln);
450 
458  static ER_DllExport int dialog_start_device_manager(char *fln=NULL); // Start Device Manager to load a file
459 
498  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
499 
526  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
527 
560  static ER_DllExport int dialog_values (char *title,int n,char **ww,float *v,float *vmin,float *vmax); // open enter value dialog
561 
572  static ER_DllExport int dialog_string (char *title,int n,char **ww,char **v,int len); // open enter string dialog
573 
585  static ER_DllExport int dialog_string_single (char *title,char *header,char *footer,char *v,int len,int pw=0);
586 
595  static ER_DllExport int dialog_frame (char *title,frame *T); // open frame dialog
596 
646  static ER_DllExport int dialog_frame_ex (char *title,frame *T,int grfupdate,void (*callback_fct)(void *vptr),void *vptr); // open frame dialog
647 
653  static ER_DllExport int dialog_yes_no (char *title); // open Yes/No dialog, 1-Yes, 0-No
654 
668  static ER_DllExport int dialog_color (char *title,int *color_idx); // open Yes/No dialog, 1-Yes, 0-No
669 
702  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
703 
739  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
740 
745  static ER_DllExport int moni_msg( char *fmt, ... );
746 
751  static ER_DllExport void moni_T (char *s,frame *T);
752 
759  static ER_DllExport void moni_v (char *s,float *v,int n,float scal);
760 
767  static ER_DllExport void moni_lv (char *s,double *v,int n,float scal);
768 
774  static ER_DllExport void moni_i (char *s,int *v,int n);
775 
781  static ER_DllExport void moni_s (char *s,short *v,int n);
782 
786  static ER_DllExport void ErrorExitBox(char *s);
787 
791  static ER_DllExport void MsgBox(char *s);
792 
809  static ER_DllExport int AfxMessageBox(char *s,unsigned int nType=MB_ICONSTOP);
810 
819  static ER_DllExport void _info_line (int mode,char *s);
820 
827  static ER_DllExport int _info_line_msg(int moni, char *fmt, ... ); // Output into Message Window, same as printf(...)
828 
838  static ER_DllExport int _info_line_msg_i(int moni, char *s, int *vi,int n,int scal); // Vector output into Message Window
839 
849  static ER_DllExport int _info_line_msg_v(int moni, char *s, float *v,int n,float scal); // Vector output into Message Window
850 
860  static ER_DllExport int _info_line_msg_lv(int moni, char *s, double *v,int n,double scal); // Vector output into Message Window
861 
872  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
873 
884  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
885 
893  static ER_DllExport int _info_line_msg_T(int moni, char *s, frame *T); // Frame output into Message Window
894 
902  static ER_DllExport int _info_line_msg_T_vec(int moni, char *s, frame *T); // Frame output into Message Window as Vector Pxyz, Rxyz
903 
915  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
916 };
918 // class ER_CAPI_USER_IO_PICK
920 
924 {
925 public:
926  // Settings for Navigator Window
927 
931  static ER_DllExport int PickCruise(void); // 0-MP_INVALID
932 
939  static ER_DllExport int PickBody(void); // 1-MP_SEL_BODY
940 
947  static ER_DllExport int PickTag(void); // 1-MP_SEL_BODY
948 
955  static ER_DllExport int PickRobot(void); // 1-MP_SEL_BODY
956 
963  static ER_DllExport int PickPolyCenter(void); // 2-MP_POINT
964 
975  static ER_DllExport int PickSnapDeviceTo(int SnapToMode= 0); // SnapToMode: 0-SNAP_TO_MODE_POLYGON, 1-SNAP_TO_MODE_VERTEX
976 
987  static ER_DllExport int PickSnapToolTo(int SnapToMode=0); // SnapToMode: 0-SNAP_TO_MODE_POLYGON, 1-SNAP_TO_MODE_VERTEX
988 
999  static ER_DllExport int PickSnapTagTo(int SnapToMode=0); // SnapToMode: 0-SNAP_TO_MODE_POLYGON, 1-SNAP_TO_MODE_VERTEX
1000 
1011  static ER_DllExport int PickSnapBodyTo(int SnapToMode=0); // SnapToMode: 0-SNAP_TO_MODE_POLYGON, 1-SNAP_TO_MODE_VERTEX
1012 
1019  static ER_DllExport int PickPoint(void); // 2-MP_POINT
1020 
1031  static ER_DllExport int PickDistancePolyCenter(int hold_first_point=0); // 3-MP_DISTANCE
1032 
1043  static ER_DllExport int PickDistancePoint(int hold_first_point=0); // 3-MP_DISTANCE
1044 
1055  static ER_DllExport int PickDistanceDeviceMeasure(int hold_first_point=0); // 4-MP_DISTANCE_DEVICE
1056 
1067  static ER_DllExport int PickDistanceTagMeasure(int hold_first_point=0); // 4-MP_DISTANCE_DEVICE
1068 
1083  static ER_DllExport int Pick3PointCircleMeasure(int vertices=1,int second_circle_measure=0); // 5-MP_CIRCLE_CENTER
1084 
1095  static ER_DllExport int PickTripplePlaneCircleMeasure(int hold_first_two_planes); // 6-MP_TRIPPLE_PLANE_CIRCLE
1096 
1107  static ER_DllExport int PickDoublePlaneIntersectionLineMeasure(int hold_first_plane); // 7-MP_DOUBLE_PLANE_LINE
1108 
1119  static ER_DllExport int PickDoublePlaneEdgeFollowerMeasure(int hold_first_plane); // 8-MP_DOUBLE_PLANE_EDGE_FOLLOWER
1120 
1131  static ER_DllExport int PickTripplePlaneIntersectionCornerMeasure(int hold_first_two_planes); // 9-MP_TRIPPLE_PLANE_CORNER
1132 
1133  // Get settings in Navigator Window
1134 
1151  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, 6-MP_TRIPPLE_PLANE_CIRCLE, 7-MP_DOUBLE_PLANE_LINE, 8-MP_DOUBLE_PLANE_EDGE_FOLLOWER, 9-MP_TRIPPLE_PLANE_CORNER
1152 
1159  static ER_DllExport int Get_cPickMode_Chk_1(void); // Return current Chk_1 box status
1160 
1167  static ER_DllExport int Get_cPickMode_Chk_2(void); // Return current Chk_2 box status
1168 
1169  // Get picking results
1170 
1318  static ER_DllExport int Get_cPickedItem(void); // Return picked item MP_HIT_INVALID ... MP_HIT_CADPREVIEW, MP_HIT_MEASURE
1319 
1340  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
1341 };
1343 // class ER_CAPI_USER_IO_CRUISE
1345 
1349 {
1350 public:
1351 
1355  static ER_DllExport int CruiseWorld(void); // Cruise World about World Coorsys
1356 
1360  static ER_DllExport int CruiseRobotBase(void); // Cruise World about Robot Base
1361 
1366  static ER_DllExport int CruiseRobotTcp(int robot_tcp_idx); // Cruise World about Robot Tcp
1367 
1371  static ER_DllExport int CruisecBody(void); // Cruise World about cBody
1372 
1376  static ER_DllExport int CruisePickedPoint(void); // Cruise World about Picked Point
1377 
1381  static ER_DllExport int CruiseAuto(void); // Cruise World about middle of screen
1382 
1392  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
1393 
1401  static ER_DllExport int CruisePanView(int dlr,int dud); // Pan 3D Scene by dlr-delta left rigth, dud-delta up down
1402 
1408  static ER_DllExport int CruiseZoomView(int dzoom); // Zoom 3D Scene dzoom-zoom in or out
1409 
1430  static ER_DllExport int Set_MouseMode(int mouse_mode); // set new mouse mode, return old mouse mode
1431 
1451  static ER_DllExport int Get_MouseMode(void); // return current mouse mode
1452 
1456  static ER_DllExport float *inq_cruise_coi_pos(void); // COI Center Of Interest w.r.t. WORLD Origin
1457 
1465  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
1466 
1474  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
1475 
1484  static ER_DllExport int zoom_cTag(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom cTag
1485 
1494  static ER_DllExport int zoom_cBody(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom cBody
1495 
1504  static ER_DllExport int zoom_cBase(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom cRobot Base
1505 
1514  static ER_DllExport int zoom_cTcp(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom cRobot Tcp
1515 
1524  static ER_DllExport int zoom_cRobot(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom cRobot
1525 
1534  static ER_DllExport int zoom_World(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom World
1535 
1544  static ER_DllExport int zoom_CadPreview(int zoom_flag=ZOOM_FLAG_DEFAULT);// zoom CAD Preview
1545 
1554  static ER_DllExport int zoom_COI(int zoom_flag=ZOOM_FLAG_DEFAULT); // zoom Center Of Interest
1555 
1564  static ER_DllExport int initialize_view(int zoom_flag=ZOOM_FLAG_DEFAULT); // initialize View
1565 
1574  static ER_DllExport int reset_view(int zoom_flag=ZOOM_FLAG_DEFAULT); // reset view to loading state
1575 
1579  static ER_DllExport int *inq_cSimView(void); // Return current simulation "View" number [0..NUM_SIM_VIEWS-1]
1580 
1588  static ER_DllExport frame *GetRotView(int rot_view_type); // Return the rotation "View" transformation based on "rot_view_type"
1589 };
1591 // class ER_CAPI_USER_IO_3DPDF
1593 
1597 {
1598 public:
1602  static ER_DllExport char *U3DPdf_ExportVer(void);
1603 
1918  static ER_DllExport int U3DPdf_ExportAPI(int pdf_flag, char *s = NULL);
1919 
2003  static ER_DllExport int U3DHtml_ExportAPI(int html_flag, char *sn = NULL, char *sv = NULL);
2004 
2031  static ER_DllExport int U3DPdf_ExportAPI_SetCallbackMsg(int callback_fct_id, void (*ptr_MsgFct)(char *));
2032 
2076  static ER_DllExport int U3DPdf_ExportAPI_SetCallbackSaveStatus(void (*ptr_SaveStatusFct)(int));
2077 
2103  static ER_DllExport int U3DPdf_ExportAPI_SetCallbackProgress(void (*ptr_ProgressFct)(double));
2104 
2131  static ER_DllExport int U3DPdf_ExportAPI_SetCallbackProgressExportU3DScene(void (*ptr_ProgressFctExportU3DScene)(double));
2132 
2159  static ER_DllExport int U3DPdf_ExportAPI_SetCallbackProgressGenerate3DPdf(void (*ptr_ProgressFctGenerate3DPdf)(double));
2160 
2161 };
2162 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_DEVICES
2164 // class ER_CAPI_DEVICES
2165 //
2169 class ER_CAPI_DEVICES : public ER_CAPI
2170 {
2171 public:
2172 
2176 
2180 public:
2181 
2186  static ER_DllExport int data_update_all_devices(void); // forces mathematical update for all devices, use before calling chk_limits(AUX_UPDATE_IDX_COLLISION)
2187 
2191  static ER_DllExport int inq_Get_n_devices(void); // get number of current loaded robots in a workcell
2192 
2196  static ER_DllExport int inq_Get_c_device_idx(void); // get current device idx [1..n_devices]
2197 
2201  static ER_DllExport ER_UID inq_Get_c_device_uid(void); // get current device unique id
2202 
2208  static ER_DllExport int inq_Set_device_idx(int device_idx); // set current device idx [1..n_devices], Return: 0-OK, 1-Error
2209 
2215  static ER_DllExport int inq_Set_device_uid(ER_UID device_uid); // set current device unique id, Return: 0-OK, 1-Error
2216 
2224  static ER_DllExport int inq_Set_device_name(char *device_name); // set current device by name of the robot, Return: 0-OK, 1-Error
2225 
2232  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
2233 
2240  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
2241 
2248  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
2249 
2256  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
2257 
2264  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
2265 
2272  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
2273 
2274  // Attached to
2275 
2281  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
2282 
2289  static ER_DllExport char *inq_device_ref_sys_type_name(void); // the name of reference type
2290 
2298  static ER_DllExport int *inq_device_ref_sys_grp(void); // UNDEF_GRP=-1,ROBOT_GRP=0, TOOL_GRP=1, BODY_GRP=2
2299 
2305  static ER_DllExport ER_UID *inq_device_ref_sys_grp_uid(void); // unique ID of reference device/robot
2306 
2315  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()
2316 
2324  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.
2325 
2326  // Reattaches current device by idx, name, uid
2327  // new_reference_type new referecne type
2328  // REF_BASE=2, REF_TOOL=3, REF_WORLD=4, REF_CAD=7, REF_TIP=8, REF_JNT=9, REF_GRAB=10
2329  // new_reference_device_name get reference device by name
2330  // new_reference_device_idx get reference device by idx [1..n_devices]
2331  // new_reference_device_uid get reference device by uid
2332  // new_reference_jnt_idx reference joint idx if new_reference_type is REF_JNT
2333  // keep_world_position True will keep the world position of device perk
2334  //
2335  // Return: 0-OK, 1-Error
2336 
2342  static ER_DllExport int Device_Create(char *robot_name); // create a new device with one rotational axis in z direction
2343 
2368  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);
2369 
2411  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);
2412 
2437  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);
2438 
2449  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
2450 
2461  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
2462 
2473  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
2474 
2475  // Device Link
2476 
2484  static ER_DllExport int *inq_device_link_ref_sys_type(void); // REF_NO_REF=0 or REF_JNT=9
2485 
2489  static ER_DllExport int *inq_device_sync_ref_sys_type(void); // obsolete, use inq_device_link_ref_sys_type()
2490 
2498  static ER_DllExport char *inq_device_link_ref_sys_type_name(void); // name of the reference is returned
2499 
2503  static ER_DllExport char *inq_device_sync_ref_sys_type_name(void); // obsolete, use inq_device_link_ref_sys_type_name()
2504 
2510  static ER_DllExport ER_UID *inq_device_link_ref_sys_grp_uid(void); // unique ID of reference device/robot
2511 
2516  static ER_DllExport ER_UID *inq_device_sync_ref_sys_grp_uid(void); // obsolete, use inq_device_link_ref_sys_grp_uid()
2517 
2527  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
2528 
2532  static ER_DllExport int *inq_device_sync_ref_sys_jnt_sync_idx(void); // obsolete, use inq_device_link_ref_sys_jnt_link_idx()
2533 
2545  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);
2553  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);
2554 
2566  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);
2574  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);
2575 
2587  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);
2595  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);
2596 };
2597 
2599 // class ER_CAPI_ROB
2600 //
2605 {
2606 public:
2607 
2611 
2615 
2619 };
2621 // class ER_CAPI_ROB_KIN
2622 //
2628 {
2629 public:
2637  static ER_DllExport int rob_kin_joint_trans(int joint_dof); // 1 - joint is translational, 0 - joint rotational
2638 
2646  static ER_DllExport int rob_kin_joint_rot(int joint_dof); // 1 - joint is rotational, 0 - joint translational
2647 
2652  static ER_DllExport float rob_kin_to_DEG(int joint_dof); // return DEG if joint is rotational, else 1
2653 
2658  static ER_DllExport float rob_kin_to_RAD(int joint_dof); // return RAD if joint is rotational, else 1
2659 
2663  static ER_DllExport frame * inq_bTt(void); // Robot Base to Tip (flange)
2664 
2668  static ER_DllExport frame * inq_bT0(void); // Robot Base to first joint of kin. chain
2669 
2673  static ER_DllExport int * inq_num_tool(void); // number of tools [1..KIN_TOOLS]
2674 
2678  static ER_DllExport int * inq_ctool_idx(void); // get current tool idx [0..KIN_TOOLS-1]
2679 
2683  static ER_DllExport frame *inq_tTw(void); // Tool frame: Robot Tip to TCP
2684 
2688  static ER_DllExport frame *inq_tTw_strt(void); // start condition, Tool frame: Robot Tip to TCP
2689 
2693  static ER_DllExport frame *inq_wTwo(void); // Tool Offset frame: Robot Tcp' to TCP
2694 
2698  static ER_DllExport frame *inq_wTwo_strt(void); // start condition, Tool Offset frame: Robot Tcp' to TCP
2699 
2704  static ER_DllExport frame *inq_tTw_data_idx(int ctool_idx); // tool data for ctool_idx
2705 
2710  static ER_DllExport frame *inq_tTw_data_strt_idx(int ctool_no); // start condition, tool data for ctool_idx
2711 
2715  static ER_DllExport char * inq_tool_name(void); // get current tool name
2716 
2721  static ER_DllExport char * inq_tool_name_idx(int ctool_idx); // get tool name by tool idx
2722 
2726  static ER_DllExport float *inq_q_solut(void); // Desired active joint axis values
2727 
2731  static ER_DllExport float *inq_q_strtpos(void); // Start joint axis location
2732 
2736  static ER_DllExport float *inq_v_solut(void); // desired joint speed values
2737 
2741  static ER_DllExport float *inq_a_solut(void); // desired joint accel values
2742 
2746  static ER_DllExport frame *inq_bTw(void); // Robot Base to TCP
2747 
2752  static ER_DllExport frame *inq_iTi_ref(void); // world to attach position of robot
2753 
2758  static ER_DllExport frame *inq_iTb(void); // Attach position (reference position) to robot base
2759 
2763  static ER_DllExport frame *inq_iTb_strt(void); // Start frame: world to robot base
2764 
2765  // external TCP
2766 
2772  static ER_DllExport int *inq_ext_Tcp_idx(void); // enable/disable external Tcp for cRobot
2773 
2777  static ER_DllExport frame *inq_ext_Tcp(void); // Transformation of external Tcp w.r.t. world coorsys
2778 
2782  static ER_DllExport frame *inq_ext_Tcp_base(void); // Transformation of external Tcp w.r.t. robot base
2783 
2784  // program shift
2785 
2792  static ER_DllExport frame *inq_bBase(void); // program shift w.r.t. robot base
2793 
2800  static ER_DllExport frame *inq_iBase(void); // program shift w.r.t. world coorsys
2801 
2802  // moveable base
2803 
2809  static ER_DllExport int *inq_move_base(void); // moveable base mode, 0-Robot base fix (default), 1-Robot base is moveable
2810 
2815  static ER_DllExport int *inq_move_base_jnt(void); // 0-fix base, passive joint idx representing the moveable base
2816 
2820  static ER_DllExport char *inq_move_base_name(void); // name for moveable base
2821 
2825  static ER_DllExport frame *inq_pjntTmb(void); // passive joint to moveable base
2826 
2830  static ER_DllExport frame **inq_pjntTmb_ref(void); //
2831 
2835  static ER_DllExport frame *inq_bTmb(void); // robot base to moveable base
2836 
2840  static ER_DllExport frame **inq_bTpjnt_ref(void); // robot base to pjnt coorsys aus 'B' und ax_idx ermittelt
2841 
2845  static ER_DllExport frame *inq_mbTt(void); // moveable base to Tip
2846 
2850  static ER_DllExport frame *inq_mbTw(void); // moveable base to TCP
2851 
2857  static ER_DllExport void rob_kin_set_warnings(int warn); //
2858 
2862  static ER_DllExport void rob_kin_user_msg(char *s); //
2863 
2882  static ER_DllExport int rob_kin_vortrans(frame *bTt); //
2883 
2914  static ER_DllExport int rob_kin_vortrans_q(float *qn,frame *bTt,frame *mbTt,int n_dofs); //
2915 
2953  static ER_DllExport int rob_kin_jacobian_q(float *qn, frame *tTw, float *jac, int n_dofs, float delta_scale=1);
2954 
2958  static ER_DllExport int *inq_fwd_kin_reason(void); // reason for calculation the forward kinematics, return FWD_REASON_UNKNOWN ... FWD_REASON_CAD_EXPORT
2959 
2964  static ER_DllExport int rob_kin_q_in_travel_range (float *q); // Transform revolute joints into valid travel range
2965 
2971  static ER_DllExport int rob_kin_chk_travel_range (float *q); // 0-OK 1-SWE_EXCEEDED
2972 
2976  static ER_DllExport int *inq_invkin (void); // inverse kinematics ID for cRobot
2977 
2981  static ER_DllExport int *inq_invkin_sub (void); // inverse kinematics Sub-ID for cRobot
2982 
2993  static ER_DllExport int rob_kin_inv (frame *bTt); // calculate inverse kinematics solution bTt - Robot Base to Tip (Flange), Results in inq_q_solut()
2994 
3138  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
3139 
3143  static ER_DllExport char *inq_kin_user_data_file (void); // kinematics data file for user kinematics
3144 
3151  static ER_DllExport double *inq_achs_length(void); // z
3152 
3159  static ER_DllExport double *inq_achs_offsets1(void); // x
3160 
3167  static ER_DllExport double *inq_achs_offsets2(void); // y
3168 
3175  static ER_DllExport double *inq_achs_rotx(void); // Rx
3176 
3183  static ER_DllExport double *inq_achs_roty(void); // Ry
3184 
3189  static ER_DllExport double *inq_achs_rotz(void); // Rz
3190 
3204  static ER_DllExport frame *inq_achs_T_activ(void); // = vec_to_frame (inq_achs_...(),T) to next
3205 
3219  static ER_DllExport frame *inq_achs_T0_activ(void); // active joint from last
3220 
3236  static ER_DllExport frame *inq_kin_T_active(int active_jnt_no); // Robot base to active Joint coorsys #i=(0..)
3237 
3242  static ER_DllExport int *inq_num_kin_user_data(void); // Number of Sets of Kin User Data
3243 
3249  static ER_DllExport char **inq_kin_user_data_name(int idx=0); // Special User Data Names
3250 
3256  static ER_DllExport float *inq_kin_user_data(int idx=0); // Special kinematics User Data
3257 
3261  static ER_DllExport double * inq_sing_tol(void);
3262 
3266  static ER_DllExport double * inq_sing_tolx(void);
3267 
3271  static ER_DllExport double * inq_sing_tolq(void);
3272 
3276  static ER_DllExport double * inq_joint_offset(void);
3277 
3313  static ER_DllExport float * inq_q(int soln);
3314 
3320  static ER_DllExport int * inq_warnings(void);
3321 
3327  static ER_DllExport int *inq_active_jnt_sign(void); // sign for active joints
3328 
3333  static ER_DllExport int inq_num_active_jnts(void); // number of active joints
3334 
3339  static ER_DllExport int inq_num_passive_jnts(void); // number of passive joints
3340 
3344  static ER_DllExport float *inq_q_solut_passive(void); // desired passive joint axis values
3345 
3349  static ER_DllExport float *inq_swe_min_passive(void); // min travel ranges for passive joints
3350 
3354  static ER_DllExport float *inq_swe_max_passive(void); // max travel ranges for passive joints
3355 
3360  static ER_DllExport int inq_num_configs(void); // number of robot configurations
3361 
3366  static ER_DllExport int inq_config(void); // return current robot configuration
3367 
3372  static ER_DllExport int * inq_config_ext(void); // return address of current robot configuration
3373 
3395  static ER_DllExport int * inq_cnfg_soln(void); // return robot configuration solutions
3396 
3401  static ER_DllExport int * inq_turn_enable(void); // default=false, set automatically true if PTP && PTP_TARGET_CALC_MODE_TURNS
3402 
3407  static ER_DllExport int * inq_turn_value(void); // Index for Turn Range, default=0
3408 
3416  static ER_DllExport int calc_TurnValue(float *q=NULL, int *turn_value=NULL); // Calculates turn value depending on robot joints
3417 
3433  static ER_DllExport ROB_DH * inq_rob_dh_activ(void); //
3434 
3453  static ER_DllExport ROB_DH * inq_rob_dh0_passiv(void); //
3454 
3459  static ER_DllExport ROB_DH * inq_rob_dh_passiv(void); //
3460 
3464  static ER_DllExport char * inq_robot_name(void); // name of cRobot
3465 
3470  static ER_DllExport char * inq_robot_fln_name(void); // file name of cRobot
3471 
3485  static ER_DllExport int * inq_robot_type(void); // type of robot
3486 
3492  static ER_DllExport char * inq_robot_type_s(int type_idx=0); // string of cROBOT_TYPE
3493 
3498  static ER_DllExport int * inq_robot_enabled(void); // 1-robot is activ, 0-robot not active
3499 
3504  static ER_DllExport int * inq_robot_render(void); // 0-SMOOTH_RENDER, 4-INVISIBLE
3505 
3510  static ER_DllExport int * inq_tool_render(void); // 0-SMOOTH_RENDER, 4-INVISIBLE
3511 
3515  static ER_DllExport int * inq_robot_collision(void); // 1-def, robot is in collision queue, if robot_collision disabled, no collision check
3516 
3520  static ER_DllExport int * inq_tool_collision(void); // 1-def, tool is in collision queue, if tool_collision disabled, no collision check
3521 
3525  static ER_DllExport int * inq_robot_ref_collision(void); // 0-def, collision chk vs. reference device
3526 
3530  static ER_DllExport int * inq_robot_itself_collision(void); // 0-def, collision chk vs. itself device
3531 
3532 
3541  static ER_DllExport int * inq_kin_connect_dof_activ(void); // Dof array where active joints are connected to [-num_pJnts, ... , 0 , num_aJnts, tip]
3542 
3549  static ER_DllExport char * inq_kin_direction_activ(void); // 'X'-,'Y'- or 'Z'- direction for active joints
3550 
3557  static ER_DllExport char * inq_kin_type_activ(void); // 'T'- translational-, 'R'- revolute for active joints
3558 
3565  static ER_DllExport char * inq_kin_chain_type_activ(void); // 'C' in kin chain (default); '_' NOT in kin. chain; '-' separated & NOT in kin.chain
3566 
3570  static ER_DllExport int * inq_kin_id(void); // kin. ID
3571 
3576  static ER_DllExport float * inq_bdxw(void); //
3577 
3582  static ER_DllExport float * inq_dq(void); //
3583 
3584 
3593  static ER_DllExport int * inq_kin_connect_dof_passiv(void); // Dof array where passive joints are connected to [-num_pJnts, ... , 0 , num_aJnts]
3594 
3601  static ER_DllExport char * inq_kin_direction_passiv(void); // 'X'-,'Y'- or 'Z'- direction for passive joints
3602 
3609  static ER_DllExport char * inq_kin_type_passiv(void); // 'T'- translational-, 'R'- revolute for passive joints
3610 
3617  static ER_DllExport char * inq_kin_chain_type_passiv(void); // 'C' in kin chain (default); '_' NOT in kin. chain; '-' separated & NOT in kin.chain
3618 
3626  static ER_DllExport char * inq_kin_move_base_type_passiv(void); // 'B' passive Jnt is move base; '-' passive Jnt is NOT a move base
3627 
3632  static ER_DllExport char * inq_kin_calc_passiv(int passiv_jnt_no); // math. dependency string passive joint #i=(0..)
3633 
3638  static ER_DllExport int * inq_kin_attach_dof_passiv(void); // number of aJnt, where pJnt is attachd to
3639 
3656  static ER_DllExport frame * inq_kin_achs_T0_passiv(int passiv_jnt_no); // length passive joint #i=(0..) from last
3657 
3663  static ER_DllExport frame * inq_kin_achs_T_passiv(int passiv_jnt_no); // length passive joint #i=(0..) to next
3664 
3670  static ER_DllExport frame * inq_kin_T_passiv(int passiv_jnt_no); // Base to passive joint #i
3671 
3679  static ER_DllExport double *inq_univ_trans_tol_rad(void); //
3680 
3688  static ER_DllExport double *inq_univ_trans_tol_m(void); //
3689 
3696  static ER_DllExport int *inq_univ_trans_ilimit(void); //
3697 
3704  static ER_DllExport double *inq_univ_trans_mask(void); //
3705 
3711  static ER_DllExport double *inq_univ_trans_weight(void); //
3712 
3717  static ER_DllExport frame **inq_univ_trans_T(void); //
3718 
3758  static ER_DllExport void **inq_kin_usr_ptr(void); // access user pointer for user kinematics
3759 };
3761 // class ER_CAPI_ROB_ATRIBUTES
3762 //
3767 {
3768 public:
3769 
3773  static ER_DllExport int * inq_num_home(void); // number of hompositions [1..KIN_HOMEPOSITIONS]
3774 
3778  static ER_DllExport int * inq_chome_idx(void); // idx of current homeposition [0..KIN_HOMEPOSITIONS-1]
3779 
3783  static ER_DllExport float * inq_homepos(void); // joint values of current homeposition
3784 
3790  static ER_DllExport float * inq_homepos_idx(int chome_idx); // joint values of homeposition with chome_idx = [0..KIN_HOMEPOSITIONS-1]
3791 
3795  static ER_DllExport char * inq_homepos_name(void); // name of current homeposition
3796 
3802  static ER_DllExport char * inq_homepos_name_idx(int chome_idx); // name of homeposition with chome_idx = [0..KIN_HOMEPOSITIONS-1]
3803 
3808  static ER_DllExport char * inq_joint_name_idx(int cjoint_idx); // name of joint with cjoint_idx = [0..KIN_DOFS-1]
3809 
3814  static ER_DllExport char * inq_joint_passive_name_idx(int cjoint_idx); // name of passive joint with cjoint_idx = [0..KIN_PASSIV_JNTS-1]
3815 
3820  static ER_DllExport char * inq_config_name_idx(int cconfig_idx); // name of configuration with cconfig_idx = [0..KIN_CONFIGS-1]
3821 
3826  static ER_DllExport float * inq_cart_limits_max(void); // max. fix cartesian xyz limits w.r.t. RBase [m]
3827 
3832  static ER_DllExport float * inq_cart_limits_min(void); // min. fix cartesian xyz limits w.r.t. RBase [m]
3833 
3838  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
3839 
3844  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
3845 
3849  static ER_DllExport float * inq_swe_max(void); // max. positive travel ranges [rad,m]
3850 
3854  static ER_DllExport float * inq_swe_min(void); // max. negative travel ranges [rad,m]
3855 
3861  static ER_DllExport int * inq_swe_calc(void); // Enables math. dependency for travel ranges
3862 
3869  static ER_DllExport char * inq_swe_max_calc_md(int joint_idx); // equation to calculate math dependency for positive travel ranges
3870 
3877  static ER_DllExport char * inq_swe_min_calc_md(int joint_idx); // equation to calculate math dependency for negative travel ranges
3878 
3882  static ER_DllExport float * inq_v_max(void); // max. joint or axis speeds [rad/s,m/s]
3883 
3887  static ER_DllExport float * inq_a_max(void); // max. joint or axis acceleration [rad/s^2,m/s^2]
3888 
3892  static ER_DllExport float * inq_t_max(void); // max. joint or axis torque [Nm,N]
3893 
3897  static ER_DllExport float * inq_vx_max(void); // max. cart. speed [m/s]
3898 
3902  static ER_DllExport float * inq_ax_max(void); // max. cart. acceleration [m/s^2]
3903 
3907  static ER_DllExport float * inq_vx_ori_max(void); // max. cart. orientation speed [rad/s]
3908 
3912  static ER_DllExport float * inq_ax_ori_max(void); // max. cart. orientation acceleration [rad/s^2]
3913 
3917  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
3918 
3922  static ER_DllExport float * inq_turn_offset(void); // Range shift, default=0 for each axis // Index for Turn Range, default=0
3923 
3929  static ER_DllExport frame *inq_fTb(void); // floor to robot base
3930 };
3932 // class ER_CAPI_ROB_DYN
3933 //
3938 {
3939 public:
3940 
3944  static ER_DllExport frame *inq_mbTt_dyn(void); // Ist move base to Tip
3945 
3949  static ER_DllExport frame *inq_mbTw_dyn(void); // Ist move base to TCP
3950 
3954  static ER_DllExport float * inq_cntrl_step(void); // sample rate position controller for cRobot [s]
3955 
3959  static ER_DllExport float * inq_system_step(void); // sample rate system model for cRobot [s]
3960 
3964  static ER_DllExport float * inq_cntrl_kpp(void);
3965 
3969  static ER_DllExport float * inq_cntrl_kpv(void);
3970 
3974  static ER_DllExport float * inq_cntrl_kiv(void);
3975 
3979  static ER_DllExport float * inq_cntrl_uc_kiv1(void);
3980 
3984  static ER_DllExport float * inq_cntrl_aux1(void);
3985 
3989  static ER_DllExport float * inq_cntrl_aux2(void);
3990 
3994  static ER_DllExport float * inq_cntrl_aux3(void);
3995 
3999  static ER_DllExport float * inq_cntrl_e1(void);
4000 
4004  static ER_DllExport float * inq_cntrl_e2(void);
4005 
4009  static ER_DllExport float * inq_model_N(void);
4010 
4015  static ER_DllExport float * inq_model_T_base(void);
4016 
4020  static ER_DllExport float * inq_model_theta_base(void);
4021 
4025  static ER_DllExport float * inq_model_d_base(void);
4026 
4031  static ER_DllExport float * inq_model_vz1_v(void);
4032 
4037  static ER_DllExport float * inq_model_vz1_a(void);
4038 
4043  static ER_DllExport float * inq_model_z1(void);
4044 
4049  static ER_DllExport float * inq_model_z2(void);
4050 
4055  static ER_DllExport float * inq_uc(void);
4056 
4061  static ER_DllExport float * inq_uc1(void);
4062 
4067  static ER_DllExport float * inq_q_dyn(void); // Actual active joint axis values
4068 
4074  static ER_DllExport float * inq_v_dyn(void);
4075 
4080  static ER_DllExport float * inq_a_dyn(void);
4081 
4085  static ER_DllExport frame * inq_bTw_dyn(void);
4086 
4093  static ER_DllExport void **inq_dyn_cntrl_usr_ptr(void); // access user pointer for dynamics controller
4094 
4101  static ER_DllExport void **inq_dyn_model_usr_ptr(void); // access user pointer for dynamics model
4102 
4108  static ER_DllExport int *inq_status_output_type(void); // is [SIM_STEP, TARGET_POSE, IPO_STEP]
4109 
4115  static ER_DllExport int *inq_status_output_tag_idx(void); // TagIdx: >0 move to a Tag, 0- no Tag
4116 
4123  static ER_DllExport void **inq_status_output_usr_ptr(void); // access user pointer for status output
4124 };
4125 
4127 // class ER_CAPI_MOP
4128 //
4133 {
4134 public:
4135 
4139 
4143 
4147 
4151 
4155 
4159 
4160 public:
4161 
4168  static ER_DllExport void **inq_ipo_jnt_usr_ptr(void); // access user pointer for ipo joint
4169 
4176  static ER_DllExport void **inq_ipo_cp_usr_ptr(void); // access user pointer for ipo cp
4177 
4184  static ER_DllExport void **inq_ipo_circ_usr_ptr(void); // access user pointer for ipo circ
4185 };
4187 // class ER_CAPI_MOP_DATA
4188 //
4193 {
4194 public:
4195 
4205  static ER_DllExport IPO_MODE *inq_ipo_data_ipo_mode(void); // current interpolation mode
4206 
4210  static ER_DllExport float *inq_ipo_data_gtime(void); // simulation time [s] for cRobot
4211 
4216  static ER_DllExport float *inq_ipo_data_ctime(void); // current motion time [s] for cRobot
4217 
4221  static ER_DllExport float *inq_ipo_data_dt_ipo(void); // interpolation step size [s] for cRobot
4222 
4226  static ER_DllExport float *inq_ipo_data_lead_time(void); // time before the motion starts [s] for cRobot
4227 
4231  static ER_DllExport float *inq_ipo_data_lag_time(void); // time after the current move [s] for cRobot
4232 
4237  static ER_DllExport int *inq_ipo_data_ipo_in_position(void); // 1-robot is in target location
4238 
4242  static ER_DllExport float *inq_ipo_data_old_q(void); // joint data at last step
4243 
4247  static ER_DllExport float *inq_ipo_data_new_q(void); // joint data at current step
4248 
4252  static ER_DllExport frame *inq_ipo_data_old_T(void); // TCP location at last step
4253 
4257  static ER_DllExport frame *inq_ipo_data_new_T(void); // TCP location at current step
4258 
4264  static ER_DllExport int *inq_ipo_data_ipo_step_loop(void);
4265 
4273  static ER_DllExport int *inq_ipo_data_skip_call_inv_kin(void);
4274 };
4276 // class ER_CAPI_MOP_PATH
4277 //
4283 {
4284 public:
4285 
4289  static ER_DllExport float *inq_ipo_path_vq(void); // programmed Joint speed in [deg/s], obsolete use inq_ipo_path_vq_axis()
4290 
4294  static ER_DllExport float *inq_ipo_path_vq_ov(void); // programmed Joint speed override [%]
4295 
4299  static ER_DllExport float *inq_ipo_path_vq_axis(void); // programmed Joint speed for each axis [m/s],[deg/s]
4300 
4304  static ER_DllExport float *inq_ipo_path_vqs(void); // Joint start speed in [deg/s]
4305 
4309  static ER_DllExport float *inq_ipo_path_vqe(void); // programmed Joint end speed in [deg/s
4310 
4315  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()
4316 
4320  static ER_DllExport float *inq_ipo_path_aq_ov(void); // programmed Joint acceleration override [%]
4321 
4325  static ER_DllExport float *inq_ipo_path_aq(void); // programmed Joint acceleration in [deg/s^2], obsolete use inq_ipo_path_aq_axis()
4326 
4332  static ER_DllExport float *inq_ipo_path_aq_axis(void); // programmed Joint acceleration for each axis [m/s^2],[deg/s^2]
4333 
4337  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()
4338 
4342  static ER_DllExport float *inq_ipo_path_aq_decel_axis(void); // programmed Joint deceleration for each axis [m/s^2],[deg/s^2]
4343 
4348  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()
4349 
4353  static ER_DllExport float *inq_ipo_path_vx(void); // programmed cart. speed in [m/s]
4354 
4358  static ER_DllExport float *inq_ipo_path_vxs(void); // cart. start speed in [m/s]
4359 
4363  static ER_DllExport float *inq_ipo_path_vxe(void); // cart. end speed in [m/s]
4364 
4369  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()
4370 
4374  static ER_DllExport float *inq_ipo_path_ax(void); // programmed cart acceleration in [m/s^2]
4375 
4379  static ER_DllExport float *inq_ipo_path_axe(void); // programmed cart end acceleration in [m/s^2]
4380 
4385  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()
4386 
4390  static ER_DllExport float *inq_ipo_path_vx_ori(void); // programmed orientation speed in [deg/s]
4391 
4395  static ER_DllExport float *inq_ipo_path_vxs_ori(void); // orientation start speed in [deg/s]
4396 
4400  static ER_DllExport float *inq_ipo_path_vxe_ori(void); // programmed orientation end speed in [deg/s]
4401 
4406  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()
4407 
4411  static ER_DllExport float *inq_ipo_path_ax_ori(void); // programmed orientation acceleration in [deg/s^2]
4412 
4416  static ER_DllExport float *inq_ipo_path_axe_ori(void); // programmed orientation end acceleration in [deg/s^2]
4417 
4422  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()
4423 
4427  static ER_DllExport float *inq_ipo_path_ov_pro(void); // programmed override [%] , range: 1-1000
4428 
4433  static ER_DllExport int *inq_ipo_path_no_decel(void); // programmed deceleration at target, 1-no deceleration, 0-decelaration
4434 
4439  static ER_DllExport int *inq_ipo_path_ptp_phasen_synchron(void); // PTP 0 - profile scaled, 1 - profile phase synchron with dominant joint
4440 
4445  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)
4446 
4452  static ER_DllExport int *inq_ipo_path_use_tag_attributes(void); // 1-use tag attributes, 0-don't use tag attributes
4453 
4457  static ER_DllExport float *inq_ipo_path_zone(void); // programmed zone value [mm]
4458 
4463  static ER_DllExport float *inq_ipo_path_AccSet(void); // Acc Ramp [20-100%], Verringern der Beschleunigung
4464 
4468  static ER_DllExport int *inq_ipo_path_AutoAccel(void); // ON - berechnet accel = f(vel), OFF - wie vorgegeben
4469 
4476  static ER_DllExport int *inq_ipo_path_leading_position(void); // 1-leading position is enabled, 0-leading orientation is enabled, 2-variable
4477 
4487  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
4488 
4496  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
4497 
4500  static ER_DllExport void reset_ipo_path_turn(void); // unset turns for each joint
4501 
4508  static ER_DllExport CIRC_ORI_MODE *inq_ipo_path_circ_ori_mode(void); // Current Orientation mode for circular interpolation
4509 
4517  static ER_DllExport CIRC_ORI_IPO_MODE *inq_ipo_path_circ_ori_ipo_mode(void); // Orientation interpolation mode, when CIRC_ORI_MODE = CIRC_QUATERNION
4518 
4524  static ER_DllExport LIN_ORI_MODE *inq_ipo_path_lin_ori_mode(void); // Current Orientation mode for linear interpolation
4525 
4530  static ER_DllExport int *inq_ipo_path_path_motion_idx(void); // 0-no tag motion, >0 Index of cPath containing the TargetTag
4531 
4536  static ER_DllExport int *inq_ipo_path_tag_motion_idx(void); // 0-no tag motion, >0 Index of TargetTag
4537 
4542  static ER_DllExport int *inq_ipo_path_path_via_motion_idx(void); // 0-no tag via motion, >0 Index of cPath containing the TargetTagVia
4543 
4548  static ER_DllExport int *inq_ipo_path_tag_via_motion_idx(void); // 0-no tag via motion, >0 Index of TargetTagVia
4549 };
4551 // class ER_CAPI_MOP_PREP
4552 //
4557 {
4558 public:
4559 
4563  static ER_DllExport int *inq_ipo_prep_n_dof(void); // dof of robot
4564 
4568  static ER_DllExport float *inq_ipo_prep_t_bahn(void); // required motion time for current move, calculated in ipo_preparation
4569 
4573  static ER_DllExport float *inq_ipo_prep_strt_q(void); // Robot joint data at start location
4574 
4578  static ER_DllExport float *inq_ipo_prep_end_q(void); // Robot joint data at target location
4579 
4584  static ER_DllExport float *inq_ipo_prep_dq(void); // Robot joint difference array (=strt_q - end_q)
4585 
4589  static ER_DllExport frame *inq_ipo_prep_strt_T(void); // Start TCP location
4590 
4594  static ER_DllExport frame *inq_ipo_prep_end_T(void); // Target TCP location
4595 
4599  static ER_DllExport frame *inq_ipo_prep_inter_T(void); // Intermediate Location (ViaPoint) for circular motion
4600 
4604  static ER_DllExport frame *inq_ipo_prep_center_T(void); // Center if circular motion, calculated from start-, via-, end point
4605 
4610  static ER_DllExport float *inq_ipo_prep_dx(void); // 6 dim difference Vector (=strt_T-end_T)
4611 
4616  static ER_DllExport int *inq_ipo_prep_sync(void);
4617 
4621  static ER_DllExport frame *inq_ipo_prep_bTsync0(void); // EasyEdit, Band Null-Position
4622 
4626  static ER_DllExport frame *inq_ipo_prep_dTsync(void); // EasyEdit, Band Delta-Position
4627 
4631  static ER_DllExport frame *inq_ipo_prep_ie_Ts_sync(void);// aktuelle TCP-Position bzgl. Bandpos
4632 
4637  static ER_DllExport int *inq_ipo_prep_extax_mode(void);
4638 
4642  static ER_DllExport float *inq_ipo_prep_v_extax(void);
4643 
4649  static ER_DllExport int *inq_ipo_prep_extax_jnt(void);
4650 };
4652 // class ER_CAPI_MOP_EXEC
4653 //
4658 {
4659 public:
4660 
4664  static ER_DllExport float *inq_ipo_exec_qs(void); // desired joint data [rad] or [m]
4665 
4669  static ER_DllExport float *inq_ipo_exec_vs(void); // desired joint speed [rad/s] or [m/s]
4670 
4674  static ER_DllExport float *inq_ipo_exec_as(void); // desired joint acceleration [rad/s^2] or [m/s^2]
4675 
4679  static ER_DllExport frame *inq_ipo_exec_Ts(void); // desired cart. location frame [m]
4680 
4695  static ER_DllExport int move_to_ax_api(void *vrpd,int line_no,int step_no,char *prg_line,float *qs,
4696  int extax_mode=EXTAX_MODE_OFF,// EXTAX_MODE_OFF-no tag_motion | extax,
4697  // EXTAX_MODE_TAG-extax value comes with a Tag,
4698  // EXTAX_MODE_STD-extax value in q_linext,
4699  // EXTAX_MODE_USR-extax specification in q_linext, v_linext, q_linext_idx
4700  float *v_linext=NULL, // used for external speed axis, when extax_mode==EXTAX_MODE_USR
4701  int *q_linext_idx=NULL // 0-not set, 1-pos axis, 2-speed axis
4702  );
4703 
4721  static ER_DllExport int move_to_api(void *vrpd,int line_no,int step_no,char *prg_line,frame *via_T,frame *Ts,
4722  int extax_mode=EXTAX_MODE_OFF,// EXTAX_MODE_OFF-no extax_mode | extax,
4723  // EXTAX_MODE_TAG-extax value comes with a Tag,
4724  // EXTAX_MODE_STD-extax value in q_linext,
4725  // EXTAX_MODE_USR-extax specification in q_linext, v_linext, q_linext_idx
4726  float *q_linext=NULL, // extax target value in [m,rad]
4727  float *v_linext=NULL, // used for external speed axis, when extax_mode==EXTAX_MODE_USR
4728  int *q_linext_idx=NULL // 0-not set, 1-pos axis, 2-speed axis
4729  );
4730 };
4732 // class ER_CAPI_MOP_AUTOPATH
4733 //
4738 {
4739 public:
4743  static ER_DllExport char *AutoPathVer(void);
4744 
4749  static ER_DllExport void *inq_AutoPathDlg_Hwnd(void); // AUTOPATH DlL, return (void *)CWnd
4750 
4828  static ER_DllExport int AutoPath_SetCallback_CheckConstraints(BOOL (*ptr_CheckConstraints)(int));
4829 
4851  static ER_DllExport int SetDlgParameter(int ap_dlg_option, int ap_dlg_value);
4852 
4862  static ER_DllExport int GetDlgParameter(int ap_dlg_option);
4863 
4869  static ER_DllExport int AutoPathEnd(void);
4870 
4879  static ER_DllExport int SetPoseStart(int nConfig, float *pose_start);
4880 
4889  static ER_DllExport int SetPoseEnd(int nConfig, float *pose_end);
4890 
4897  static ER_DllExport float *SetStartPose(void);
4898 
4905  static ER_DllExport float *SetEndPose(void);
4906 
4914  static ER_DllExport int FindPath(void);
4915 
4922  static ER_DllExport float *GetConfigurationPose(void);
4923 
4938  static ER_DllExport float *GetStartPose(void);
4939 
4954  static ER_DllExport float *GetEndPose(void);
4955 
4970  static ER_DllExport float *GetAxisConstraintsMin(void);
4971 
4986  static ER_DllExport float *GetAxisConstraintsMax(void);
4987 
4992  static ER_DllExport int AbortPlanning(void);
4993 
5001  static ER_DllExport int GetPlanningStatus(void);
5002 
5008  static ER_DllExport int GetNumberOfWayPoints(void);
5009 
5017  static ER_DllExport int GetWayPointDof(void);
5018 
5025  static ER_DllExport int GetWayPointConfiguration(int idx);
5026 
5033  static ER_DllExport float *GetWayPoint(int idx);
5034 
5040  static ER_DllExport int ClearAllWayPoints(void);
5041 
5061  static ER_DllExport UINT *Accuracy(void);
5062 
5099  static ER_DllExport int SetAxisConstraints(int axisBit=0x3FF, int setting=0, float qConstraintMin=0, float qConstraintMax=0);
5100 
5117  static ER_DllExport int SetAxisPriority(int axisBit, int priority);
5118 
5135  static ER_DllExport int SetAxisEnable(int axisBit, int enable);
5136 
5152  static ER_DllExport int SetParameter(int ap_option, int ap_value);
5153 
5168  static ER_DllExport int GetParameter(int ap_option);
5169 
5183  static ER_DllExport int GetResults(int ap_result);
5184 
5185 };
5186 
5188 // class ER_CAPI_MOP_AUTOPATH_SDK
5189 //
5194 {
5195 public:
5199  static ER_DllExport char* AutoPathVer(void);
5200 
5207  static ER_DllExport int AutoPathSetMem(AutoPath_SDK_ConfigurationSpace *apcs);
5208 
5283  static ER_DllExport int AutoPathInit(AutoPath_SDK_ConfigurationSpace *apcs);
5284 
5291  static ER_DllExport int AutoPathFreeMem(AutoPath_SDK_ConfigurationSpace *apcs);
5292 
5299  static ER_DllExport int AutoPathTerminate(AutoPath_SDK_ConfigurationSpace *apcs);
5300 
5367  static ER_DllExport int AutoPath_SetCallback_CheckConstraints(BOOL (*ptr_CheckConstraints)(int, void*));
5368 
5376  static ER_DllExport int SetPoseStart(double *pose_start);
5377 
5385  static ER_DllExport int SetPoseEnd(double *pose_end);
5386 
5393  static ER_DllExport int FindPath(void);
5394 
5398  static ER_DllExport double* GetConfigurationPose(void);
5399 
5403  static ER_DllExport double* GetStartPose(void);
5404 
5408  static ER_DllExport double* GetEndPose(void);
5409 
5413  static ER_DllExport double* GetAxisConstraintsMin(void);
5414 
5418  static ER_DllExport double* GetAxisConstraintsMax(void);
5419 
5425  static ER_DllExport int AbortPlanning(void);
5426 
5433  static ER_DllExport int GetPlanningStatus(void);
5434 
5439  static ER_DllExport int GetNumberOfWayPoints(void);
5440 
5444  static ER_DllExport int GetWayPointDof(void);
5445 
5450  static ER_DllExport double* GetWayPoint(int idx);
5455  static ER_DllExport int ClearAllWayPoints(void);
5456 
5462  static ER_DllExport int SetAccuracy(UINT accuracy);
5463 
5473  static ER_DllExport int SetAxisConstraints(int axisBit = AUTOPATH_AXIS_BIT_DOF6, int setting = 0, double qConstraintMin = 0, double qConstraintMax = 0);
5474 
5481  static ER_DllExport int SetAxisPriority(int axisBit, int priority);
5486  static ER_DllExport int SetAxisEnable(int axisBit, int enable);
5487 
5504  static ER_DllExport int SetParameter(int ap_option, int ap_value);
5520  static ER_DllExport int GetParameter(int ap_option);
5521 
5555  static ER_DllExport int GetResults(int ap_result);
5556 };
5557 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_SIM
5559 // class ER_CAPI_SIM
5560 //
5564 class ER_CAPI_SIM: public ER_CAPI
5565 {
5566 public:
5567 
5571 
5575 
5579 
5583 
5587 public:
5588 
5592  static ER_DllExport float *inq_sim_time(void); // global simulation time [s]
5593 
5597  static ER_DllExport float *inq_sim_step(void); // sample rate simulation step size [s]
5598 
5604  static ER_DllExport int LoadToolFileRun(char *fln); // ret: 0-OK, 1-Error Load Tool file '.tol'. fln is an absolute path!
5605 
5614  static ER_DllExport int AuxUpdate(int idx, int sub_idx=0);
5615 
5622  static ER_DllExport int StartCondition_ResetSave(int start_condition=START_CONDITION_RESET_ALL_ROBOTS);
5623 };
5625 // class ER_CAPI_SIM_MONITORING
5626 //
5631 {
5632 public:
5633 
5637  static ER_DllExport int chk_run(void); // return: RUN_MODUS, STOP_MODUS, ABORT_MODUS
5638 
5651  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]
5652 
5660  static ER_DllExport int chk_collision_workcell(); // 1-collision detected, 0-no collision
5661 
5673  static ER_DllExport int chk_collision_devices_idx(int dev_idx_1,int dev_idx_2); // 1-returned if collision occured between two devices
5674 
5685  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
5686 
5697  static ER_DllExport int chk_collision_devices_name(char *dev_name_1,char *dev_name_2); // 1-returned if collision occured between two devices
5698 
5712  static ER_DllExport int get_warning_msg(int aux_update_idx,char *msg);
5713 
5720  static ER_DllExport int get_collision_workcell_msg(char *msg);
5721 
5727  static ER_DllExport int ChkAnimExec(int confirm=0); // ret 0- animation on hold, 1- animation running
5728 
5734  static ER_DllExport int ChkPrgRunning(int confirm=0); // ret 0-Program on hold, 1-Program running
5735 
5739  static ER_DllExport int *inq_stop_swe(void); // 1 - causes the robot to stop if travel ranges exceeded
5740 
5744  static ER_DllExport int *inq_stop_cart_space(void); // 1 - causes the robot to stop if the cartesian space is exceeded
5745 
5749  static ER_DllExport int *inq_stop_speed(void); // 1 - causes the robot to stop if joint speeds are exceeded
5750 
5754  static ER_DllExport int *inq_stop_accel(void); // 1 - causes the robot to stop if joint accels are exceeded
5755 
5759  static ER_DllExport int *inq_stop_collision(void); // 1 - causes the robot to stop if collision detected
5760 
5764  static ER_DllExport int *inq_stop_unreach(void); // 1 - causes the robot to stop if target position is not reachable
5765 
5773  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
5774 
5782  static ER_DllExport int *inq_cart_space_chk_always(); // 1 - checks always if cartesian space is exceeded -> AUX_UPDATE_IDX_CART_SPACE_EXCEEDED
5783 
5791  static ER_DllExport int *inq_speed_chk_always(); // 1 - checks always if joint speeds are exceeded -> AUX_UPDATE_IDX_SPEED_EXCEEDED
5792 
5800  static ER_DllExport int *inq_accel_chk_always(); // 1 - checks always if joint accels are exceeded -> AUX_UPDATE_IDX_ACCEL_EXCEEDED
5801 
5809  static ER_DllExport int *inq_collision_chk_always(); // 1 - checks always collisions -> AUX_UPDATE_IDX_COLLISION
5810 
5818  static ER_DllExport int *inq_unreach_chk_always(); // 1 - checks always if unreachable location -> AUX_UPDATE_IDX_UNREACH
5819 
5825  static ER_DllExport int *inq_prgwindow_show_auto(void); // 0 - will not show program window automatically
5826 
5832  static ER_DllExport int *inq_msgwindow_show_auto(void); // 0 - will not show message window automatically
5833 
5839  static ER_DllExport int *inq_dialogs_error_enable(void); // 0 - will not display an the error dialog
5840 
5846  static ER_DllExport int *inq_dialogs_warning_enable(void); // 0 - will not display an the warning dialog
5847 };
5849 // class ER_CAPI_SIM_COLLISION
5850 //
5855 {
5856 public:
5857 
5861  static ER_DllExport float inq_coll_min_distance_c(void); // collision distance when collision (dist < collision tolerance)
5862 
5866  static ER_DllExport float inq_coll_min_distance(void); // shortest distance when no collision
5867 
5871  static ER_DllExport float *inq_coll_min_distance_p1(void); // collision point 'p1' w.r.t. world
5872 
5876  static ER_DllExport float *inq_coll_min_distance_p2(void); // collision point 'p2' w.r.t. world
5877 
5881  static ER_DllExport float *inq_coll_min_distance_pc(void); // collision point 'pc' w.r.t. world
5882 
5886  static ER_DllExport float *inq_coll_min_distance_xyz(void); // xyz component for shortest w.r.t. world coorsys
5887 
5891  static ER_DllExport int *inq_collision(void); // enable, disable collision
5892 
5896  static ER_DllExport int *inq_red_blue_collision(void); // enable, disable red/blue collision
5897 
5901  static ER_DllExport int *inq_stop_collision(void); // enable, disable stop on collision
5902 
5906  static ER_DllExport int *inq_show_collision_line(void); // enable, disable show collision line with min. distance value
5907 
5911  static ER_DllExport void chk_collision_export(void); // enable and initialize collision check if disabled
5912 
5925  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)
5926 
5932  static ER_DllExport int get_number_of_collision_pairs(void); // number of collision pairs
5933 
5940  static ER_DllExport COLL_PAIR *get_collision_pair(int coll_pair_idx); // pointer to one collision pair
5941 
5951  static ER_DllExport int chk_collision_devices_tupel_list(int n_dev_tupel_list, COLL_DEVICE_TUPEL *dev_tupel_list, int setting=0);
5952 };
5954 // class ER_CAPI_SIM_CAMERA
5955 //
5960 {
5961 public:
5962 
5967  static ER_DllExport int inq_camera_enable(void); // return 1-ON 0-OFF
5968 
5974  static ER_DllExport int camera_enable(int enable); // 0-Camera View OFF 1-ON
5975 
5979  static ER_DllExport char *inq_camera_name(void); // return current camera name
5980 
5986  static ER_DllExport int camera_name(char *name); // select camera by geometry name, 0-OK, 1-Error
5987 
5991  static ER_DllExport float inq_camera_focus(void); // return focus
5992 
5998  static ER_DllExport int camera_focus(float focus); // set focus
5999 
6003  static ER_DllExport float inq_camera_z_offset(void); // return z_offset
6004 
6010  static ER_DllExport int camera_z_offset(float z_offset); // set z_offset
6011 
6015  static ER_DllExport frame *inq_camera_position(void); // return camera position
6016 
6022  static ER_DllExport int camera_position(float *pos=NULL); // set position
6023 };
6025 // class ER_CAPI_SIM_ERPL
6026 //
6031 {
6032 public:
6048  static ER_DllExport int RunProgram(char *prgline=NULL, int confirm=1); // Run complete program or single ERPL command, ret 0- OK, 1-Failed
6049 
6053  static ER_DllExport int StopContRunProgram(void); // Stop/Pause or Continue running simulation
6054 
6058  static ER_DllExport int AbortRunProgram(void); // Abort running simulation
6059 
6064  static ER_DllExport int GetPrgId(void); // ID for program interpreter
6065 
6071  static ER_DllExport int SetPrgId(int PrgId); // Set program interpreter ID
6072 
6076  static ER_DllExport char *GetPrgfile(void); // returns program file for cRobot
6077 
6082  static ER_DllExport char *GetPrgMimicfile(void); // returns mimic file for cRobot
6083 
6089  static ER_DllExport int ChkErcCmd(char *cmd); // check if 'cmd' starts with word 'ERC', ret: 1 - is ERC command, 0 - is not
6090 
6097  static ER_DllExport void **inq_pp_usr_ptr(); // access user pointer for post_processor in er_post.dll
6098 
6108  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
6109 
6110  // Single Command Execution
6111 
6120  static ER_DllExport void prg_data_single_cmd_reset(void);
6121 
6127  static ER_DllExport frame *inq_single_cmd_base(void);
6128 
6134  static ER_DllExport frame *inq_single_cmd_base_prg(void);
6135 
6141  static ER_DllExport frame *inq_single_cmd_via_T(void);
6142 
6148  static ER_DllExport int *inq_single_cmd_via_point_idx(void);
6149 
6155  static ER_DllExport int *inq_single_cmd_interpolation(void);
6156 
6168  static ER_DllExport float *inq_single_cmd_unit_scal_trans(void);
6169 
6181  static ER_DllExport float *inq_single_cmd_unit_scal_rot(void);
6182 
6187  static ER_DllExport int *inq_single_cmd_ext_Tcp_idx(void);
6188 
6193  static ER_DllExport int *inq_single_cmd_c_device_idx(void);
6194 };
6196 // class ER_CAPI_SIM_TRACK
6197 //
6202 {
6203 public:
6204 
6210  static ER_DllExport int *inq_track_ref_sys_type(void); // ER_REF_SYS
6211 
6218  static ER_DllExport char *inq_track_ref_sys_type_name(void);
6219 
6227  static ER_DllExport int *inq_track_ref_sys_grp(void);
6228 
6234  static ER_DllExport ER_UID *inq_track_ref_sys_grp_uid(void);
6235 
6243  static ER_DllExport int *inq_track_ref_sys_jnt_idx(void);
6244 
6251  static ER_DllExport char *inq_track_ref_sys_name(void);
6252 
6258  static ER_DllExport int *inq_track_color(void); // -2 ER_INVISIBLE, -1 ER_ALTERNATE, 0-ER_BLACK...ER_WHITE
6259 
6265  static ER_DllExport int *inq_track_dyn_color(void); // -2 ER_INVISIBLE, -1 ER_ALTERNATE, 0-ER_BLACK...ER_WHITE
6266 
6267 
6271  static ER_DllExport int *inq_rob_track_bits(void); // Set the Tcp trace attribute Bits
6272 
6276  static ER_DllExport int *inq_rob_track_dyn_bits(void); // Set the Dynamics Tcp trace attribute Bits
6277 
6282  static ER_DllExport int *inq_rob_track_vis(void); // 1 - Visible, 0 - Invisible
6283 
6288  static ER_DllExport int *inq_rob_track_dyn_vis(void); // 1 - Visible, 0 - Invisible
6289 
6294  static ER_DllExport int *inq_rob_track_vis_attrib(void); // 1 - Visible, 0 - Invisible
6295 
6300  static ER_DllExport int *inq_rob_track_dyn_vis_attrib(void); // 1 - Visible, 0 - Invisible
6301 
6305  static ER_DllExport void track_reset(int dyn=0); // Deletes the Tcp trace for the current device
6306 };
6307 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_TARGETS
6309 // class ER_CAPI_TARGETS
6310 //
6315 {
6316 public:
6317 
6321 
6325 };
6327 // class ER_CAPI_TARGETS_TAG
6328 //
6333 {
6334 public:
6335 
6341  static ER_DllExport int chk_rob_tag_idx(int idx); // 0 - OK, 1 - tag_idx does not exist
6342 
6343  // tag_crobot data are temporarily and calculated when the cRobot moves to a Tag
6344 
6351  static ER_DllExport frame *inq_rob_tag_T_cRBase_idx(int idx); // tag_crobot, tmp Tcp location w.r.t to cRobot Base
6352 
6359  static ER_DllExport float *inq_rob_tag_q_cR_idx(int idx); // tag_crobot, tmp joint location for cRobot
6360 
6367  static ER_DllExport ER_UID *inq_rob_tag_uid_cR_idx(int idx); // tag_crobot, tmp uid for cRobot
6368 
6369  // access tag attributes
6370 
6377  static ER_DllExport char *inq_rob_tag_prefix_idx(int idx); // tag_attributes, tag prefix
6378 
6385  static ER_DllExport char *inq_rob_tag_name_idx(int idx); // tag_attributes, tag name
6386 
6393  static ER_DllExport char *inq_rob_tag_prefix_name_idx(int idx); // tag_attributes, complete tag name
6394 
6404  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
6405 
6412  static ER_DllExport float *inq_rob_tag_speed_ptp_idx(int idx); // tag_attributes, ptp speed, 0-def, [rad/s]
6413 
6447  static ER_DllExport float *inq_rob_tag_speed_cp_idx(int idx); // tag_attributes, cp speed, 0-def, [m/s]
6448 
6453  static ER_DllExport float *inq_rob_tag_speed_ori_idx(int idx); // tag_attributes, ori speed, 0-def, [rad/s]
6454 
6459  static ER_DllExport int *inq_rob_tag_confdata_idx(int idx); // tag_attributes, robot configuration, 0-def
6460 
6465  static ER_DllExport float *inq_rob_tag_zone_idx(int idx); // tag_attributes, programmed zone value [mm,%]
6466 
6473  static ER_DllExport float *inq_rob_tag_accel_ptp_idx(int idx); // tag_attributes, ptp accel, 0-def, [rad/s^2]
6474 
6479  static ER_DllExport float *inq_rob_tag_accel_cp_idx(int idx); // tag_attributes, cp accel, 0-def, [m/s^2]
6480 
6485  static ER_DllExport float *inq_rob_tag_accel_ori_idx(int idx); // tag_attributes, ori accel, 0-def, [rad/s^2]
6486 
6491  static ER_DllExport float *inq_rob_tag_ov_pro_idx(int idx); // tag_attributes, programmed override, 0-def [0-200%]
6492 
6497  static ER_DllExport float *inq_rob_tag_speed_ptp_ov_idx(int idx); // tag_attributes, ptp override speed, 0-def [0-200%]
6498 
6503  static ER_DllExport float *inq_rob_tag_speed_cp_ov_idx(int idx); // tag_attributes, cp override speed, 0-def [0-200%]
6504 
6509  static ER_DllExport float *inq_rob_tag_speed_ori_ov_idx(int idx); // tag_attributes, ori override speed, 0-def [0-200%]
6510 
6515  static ER_DllExport float *inq_rob_tag_accel_ptp_ov_idx(int idx); // tag_attributes, ptp override accel, 0-def [0-200%]
6516 
6521  static ER_DllExport float *inq_rob_tag_accel_cp_ov_idx(int idx); // tag_attributes, cp override accel, 0-def [0-200%]
6522 
6527  static ER_DllExport float *inq_rob_tag_accel_ori_ov_idx(int idx); // tag_attributes, ori override accel, 0-def [0-200%]
6528 
6534  static ER_DllExport int *inq_rob_tag_auto_accel_idx(int idx); // tag_attributes, auto acceleration, 0-def, 1-ON
6535 
6543  static ER_DllExport float *inq_rob_tag_acc_set_acc_idx(int idx); // tag_attributes, AccSet Acc, 100-def [20-100%]
6544 
6552  static ER_DllExport float *inq_rob_tag_acc_set_ramp_idx(int idx); // tag_attributes, AccSet Ramp, 100-def [20-100%]
6553 
6560  static ER_DllExport int *inq_rob_tag_no_decel_idx(int idx); // tag_attributes, No decelaration at target, 0-def, 1-enabled
6561 
6569  static ER_DllExport int *inq_rob_tag_leading_pos_idx(int idx); // tag_attributes, 2-def, 1-Pos, 2-VAR, 0-Ori
6570 
6575  static ER_DllExport float *inq_rob_tag_lead_time_idx(int idx); // tag_attributes, wait time before move begins, 0-def [s]
6576 
6581  static ER_DllExport float *inq_rob_tag_lag_time_idx(int idx); // tag_attributes, wait time when targte reached, 0-def [s]
6582 
6592  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
6593 
6604  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
6605 
6610  static ER_DllExport float *inq_rob_tag_speed_ptp_ax_ov_idx(int idx); // tag_attributes, ptp_ax override speed 0-def [0-200%]
6611 
6616  static ER_DllExport float *inq_rob_tag_accel_ptp_ax_ov_idx(int idx); // tag_attributes, ptp_ax override accel 0-def [0-200%]
6617 
6625  static ER_DllExport int *inq_rob_tag_turn_use_idx(int idx); // tag_attributes, 0-do not use turn values (def), 1-use turns
6626 
6632  static ER_DllExport int *inq_rob_tag_turn_ax_idx(int idx); // tag_attributes, turn values depending on current robots turn interval
6633 
6639  static ER_DllExport char *inq_rob_tag_user_string_idx(int idx); // tag_attributes, user defined Tag string
6640 
6646  static ER_DllExport int *inq_rob_tag_color_idx(int idx); // tag_attributes
6647 
6662  static ER_DllExport int inq_rob_tag_color_set_idx(int idx, int color); // tag_attributes
6663 
6669  static ER_DllExport float *inq_rob_tag_length_idx(int idx); // tag_attributes
6670 
6676  static ER_DllExport int *inq_rob_tag_render_idx(int idx); // tag_attributes
6677 
6683  static ER_DllExport int *inq_rob_tag_z_buffering_idx(int idx); // tag_attributes
6684 
6690  static ER_DllExport frame *inq_rob_tag_frame_idx(int idx); // tag_attributes
6691 
6697  static ER_DllExport frame *inq_rob_tag_frame_strt_idx(int idx); // tag_attributes
6698 
6699  // Access to external axis definition of tag
6700 
6705  static ER_DllExport int *inq_rob_tag_n_extax_idx(int idx); // tag_attributes number of external axis
6706 
6712  static ER_DllExport float *inq_rob_tag_extax_idx(int idx); // tag_attributes external axis value []
6713 
6720  static ER_DllExport int *inq_rob_tag_extaxjnt_idx(int idx); // tag_attributes controlled axis []
6721 
6728  static ER_DllExport char *inq_rob_tag_extaxtype_idx(int idx); // tag_attributes type 'R' or 'T' []
6729 
6735  static ER_DllExport int delete_cTag(); // delete cTag, see also ER_CAPI_SYS_STATUS::UnloadTag()
6736 
6740  static ER_DllExport int inq_Get_c_tag_idx(); // get current tag idx [1..n_tags] in current path
6741 
6747  static ER_DllExport int inq_Set_tag_idx(int tag_idx); // set current tag idx [1..n_tags] in current path
6748 
6752  static ER_DllExport char *inq_Get_c_tag_name(); // get current tag name
6753 
6757  static ER_DllExport frame *inq_Get_c_tag_frame(); // get current tag location w.r.t. wobj frame location
6758 
6762  static ER_DllExport frame *inq_Get_c_tag_frame_strt(); // get current start tag location w.r.t. wobj frame location
6763 
6768  static ER_DllExport int swap_TagUp(void); // swaps Tag pointer with the prev Tag
6769 
6774  static ER_DllExport int swap_TagDown(void); // swaps Tag pointer with the next Tag
6775 
6782  static ER_DllExport int copy_current_tag_data(void); // cpy cTag to tag_copy and to show tag 'c_tag'
6783 
6788  static ER_DllExport int NewTagOnTcp(void); // creates a new Tag in current path at Tcp of cRobot
6789 
6798  static ER_DllExport int cTagClone(int create_new=0); // clones current Tag in current path or creates new one at Tcp of cRobot
6799 
6805  static ER_DllExport int Shift_cTagOnTcp(void); // shifts cTag to the Tcp of cRobot
6806 
6813  static ER_DllExport int NewTagOnFrame(frame *T); // creates a new Tag in current path at location of frame 'T'
6814 
6824  static ER_DllExport int NewTagOnFrame_update(frame *T, int update_mode); // creates a new Tag in current path at location of frame 'T'
6825 
6831  static ER_DllExport int Shift_cTagOnFrame(frame *T); // shifts cTag to location of frame 'T'
6832 
6840  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
6841 
6849  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
6850 
6855  static ER_DllExport void TagClone(void); // multiple clone of current Tag
6856 };
6858 // class ER_CAPI_TARGETS_PATH
6859 //
6864 {
6865 public:
6866  // access to pathes
6867 
6871  static ER_DllExport int inq_Add_path(); // add a new path in loaded workcell, returns the number of pathes
6872 
6876  static ER_DllExport int inq_Get_n_paths(); // get number of pathes in loaded workcell
6877 
6881  static ER_DllExport int inq_Get_n_tags(); // get number of tags in current path
6882 
6886  static ER_DllExport int inq_Get_c_path_idx(); // get current path idx [1..n_paths]
6887 
6893  static ER_DllExport int inq_Set_path_idx(int path_idx); // set current path idx [1..n_paths], Return: 0-OK, 1-Error
6894 
6895  // calculates path length, while motion type is considered
6896  // IN:
6897  // path_idx - index is path >=1
6898  // tag_idx_strt - first tag index >=1
6899  // tag_idx_end - last tag index > tag_idx_strt
6900  // ret_angle - =0 (default) calculates position length between tags
6901  // - =1 calculates the positive sum of shortest angle
6902  // caveat: if tag_idx_strt=tag_idx_end=0, the complete length is calculated
6903  // return:
6904  // >0: position length or sum of angles
6905  // -1: Error
6906 
6914  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
6915 
6921  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()
6922 
6926  static ER_DllExport char *inq_Get_c_path_name(); // get current path name
6927 
6931  static ER_DllExport char *inq_Get_c_wobj_name(); // get current wobj name
6932 
6936  static ER_DllExport float *inq_Get_c_path_len(); // get lengths of complete path for current selected path
6937 
6941  static ER_DllExport float *inq_Get_c_path_angle_len(); // get angle lengths of complete path for current selected path
6942 
6946  static ER_DllExport frame *inq_Get_c_wobj_frame(); // get current wobj location w.r.t. path reference system
6947 
6951  static ER_DllExport frame *inq_Get_c_wobj_frame_strt(); // get current start wobj frame w.r.t. path reference system
6952 
6956  static ER_DllExport frame *inq_Get_c_wobj_frame_ref(); // get wobj location w.r.t. to world system
6957 
6961  static ER_DllExport ER_UID *inq_Get_c_path_robot_uid(); // get unique robot ID, current path belongs to, zero if free
6962 
6967  static ER_DllExport int *inq_Get_c_path_owner_select(); // get current path owner selection flag
6968 
6972  static ER_DllExport int *inq_Get_c_path_visible(); // get current path visibility
6973 
6979  static ER_DllExport int swap_PathUp(void); // swaps Path pointer with the prev Path
6980 
6986  static ER_DllExport int swap_PathDown(void); // swaps Path pointer with the next Path
6987 
6993  static ER_DllExport void PathClone(int confirm=0); // clone complete Path or selected Tags
6994 
6995  // Reattaches path with Idx 'path_idx' by device idx, name or uid
6996  // IN:
6997  // path_idx idx of path to reattach to
6998  // new_reference_type new referecne type
6999  // REF_BASE=2, REF_TOOL=3, REF_WORLD=4, REF_CAD=7, REF_TIP=8, 9-REF_JNT
7000  // new_reference_device_idx get reference device by idx
7001  // new_reference_cad_grp_type reference grp_type (UNDEF_GRP,ROBOT_GRP,TOOL_GRP,BODY_GRP) if new_reference_type = REF_CAD
7002  // new_reference_cad_name reference cad name if new_reference_type = REF_CAD
7003  // new_reference_jnt_idx reference jnt idx if new_reference_type = REF_JNT
7004  // keep_world_position True will keep the world position of path
7005  // Return: 0-OK, 1-Error
7006 
7032  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
7033 
7059  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
7060 
7086  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
7087 
7088  // cPath Reference/Attachment Information
7089 
7096  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
7097 
7104  static ER_DllExport char *inq_path_ref_sys_type_name(void); // the name of reference type
7105 
7113  static ER_DllExport int *inq_path_ref_sys_grp(void); // grp_type UNDEF_GRP=-1,ROBOT_GRP=0, TOOL_GRP=1, BODY_GRP=2
7114 
7120  static ER_DllExport ER_UID *inq_path_ref_sys_grp_uid(void); // unique ID of reference device/robot
7121 
7130  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()
7131 
7139  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.
7140 };
7141 
7142 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_CAD
7144 // class ER_CAPI_CAD
7145 //
7149 class ER_CAPI_CAD : public ER_CAPI
7150 {
7151 public:
7152 
7156 
7160 
7164 
7168 public:
7169 
7175  static ER_DllExport int Unload_cCAD(int confirm=1); // unload current selected CAD geometry
7176 
7182  static ER_DllExport int Unload_allCAD(int confirm=1); // unload all CAD Geometries in current selected grp
7183 };
7185 // class ER_CAPI_CAD_IO
7186 //
7191 {
7192 public:
7193 
7203  static ER_DllExport void *inq_body_group_handle_current(void); // return BM *grp_handle
7204 
7216  static ER_DllExport int inq_body_group_type_current(void); // return current grp_type: ROBOT_GRP,TOOL_GRP,BODY_GRP
7217 
7224  static ER_DllExport int set_body_group_type(int grp_type); // set grp_type: ROBOT_GRP,TOOL_GRP,BODY_GRP
7225 
7237  static ER_DllExport void *inq_body_group_handle(int grp_type); // return BM *grp_handle, IN: grp_type = [ROBOT_GRP,TOOL_GRP,BODY_GRP]
7238 
7252  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
7253 
7286  static ER_DllExport void *inq_body_handle_byname(void *grp_handle,char *name); // return _BODYS *, IN: BM *grp_handle, char *name
7287 
7295  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]
7296 
7302  static ER_DllExport int inq_body_number(void *grp_handle); // return int number, IN: BM *grp_handle
7303 
7310  static ER_DllExport int set_body_handle_current(void *body_handle); // set body as current, IN: _BODYS *body_handle
7311 
7330  static ER_DllExport int inq_body_cad_type(void *body_handle); // return cad_type, IN: _BODYS *body_handle
7331 
7344  static ER_DllExport char *inq_body_name(void *body_handle); // return char *name, IN: _BODYS *body_handle
7345 
7362  static ER_DllExport frame *inq_body_ref_pos(void *body_handle); // return frame *ref, IN: _BODYS *body_handle
7363 
7380  static ER_DllExport frame *inq_body_off_pos(void *body_handle); // return frame *sKs, IN: _BODYS *body_handle
7381 
7404  static ER_DllExport frame *inq_body_ref_off_pos(void *body_handle); // return frame *sKs_tmp, IN: _BODYS *body_handle
7405 
7415  static ER_DllExport void body_update(void *body_handle); // Calc. sKs_tmp = ref*sKs IN: _BODYS *body_handle
7416 
7462  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
7463 
7473  static ER_DllExport int body_save_position(void *body_handle,int grp_type); // saves body position as start condition
7474 
7488  static ER_DllExport int body_reset_position(void *body_handle,int grp_type); // resets body position to start condition
7489 
7580  static ER_DllExport int body_merge(void *body_handle, char *igp_fln, int merge_attributes); // merges body and save to igp file
7581 
7596  static ER_DllExport frame *inq_body_Tref_pos(void *body_handle,int grp_type,frame *Tref); // return Tref frame *, IN: _BODYS *body_handle
7597 
7610  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
7611 
7618  static ER_DllExport int inq_body_idx(void *body_handle);
7619 
7630  static ER_DllExport int *inq_body_joint_attach_idx(void *body_handle); // return joint attach idx, IN: _BODYS *body_handle
7631 
7636  static ER_DllExport char *inq_body_file_name(void *body_handle);
7637 
7645  static ER_DllExport int inq_body_n_obj(void *body_handle);
7646 
7652  static ER_DllExport int inq_body_n_point_total(void *body_handle);
7653 
7659  static ER_DllExport int inq_body_n_line_total(void *body_handle);
7660 
7666  static ER_DllExport int inq_body_n_poly_total(void *body_handle);
7667 
7672  static ER_DllExport int inq_body_n_coorsys_total(void *body_handle);
7673 
7680  static ER_DllExport float *inq_body_scale(void *body_handle);
7681 
7688  static ER_DllExport float *inq_body_size(void *body_handle);
7689 
7696  static ER_DllExport int *inq_body_color_idx(void *body_handle); // Color
7697 
7706  static ER_DllExport int *inq_body_color_sub_idx(void *body_handle);
7707 
7723  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
7724 
7731  static ER_DllExport int convert_color_idx_to_rgba(int idx, float *rgba); // return 0-OK, 1-Error
7732 
7739  static ER_DllExport int convert_color_rgb_to_idx(float *rgb, int *idx); // return 0-OK, 1-Error
7740 
7747  static ER_DllExport int *inq_body_render(void *body_handle);
7748 
7756  static ER_DllExport int inq_body_cad_mem_model(void *body_handle);
7757 
7764  static ER_DllExport int inq_body_n_obj_vbo(void *body_handle);
7765 
7772  static ER_DllExport float *inq_body_transparency(void *body_handle);
7773 
7779  static ER_DllExport float *inq_body_collision_tolerance(void *body_handle);
7780 
7786  static ER_DllExport int *inq_body_poly_invert(void *body_handle);
7787 
7801  static ER_DllExport int *inq_body_collision(void *body_handle);
7802 
7812  static ER_DllExport char *inq_body_coll_exl_list(void *body_handle);
7813 
7823  static ER_DllExport char *inq_body_coll_exl_list_mix(void *body_handle);
7824 
7830  static ER_DllExport ER_UID *inq_body_grab(void *body_handle); // return pointer to grab status, IN: _BODYS *body_handle
7831 
7837  static ER_DllExport int *inq_body_show_name(void *body_handle);
7838 
7843  static ER_DllExport int *inq_body_bface_culling(void *body_handle);
7844 
7850  static ER_DllExport int *inq_body_show_normals(void *body_handle);
7851 
7857  static ER_DllExport int *inq_body_show_edges(void *body_handle);
7858 
7864  static ER_DllExport int *inq_body_show_mesh(void *body_handle);
7865 
7870  static ER_DllExport int *inq_body_is_pickable(void *body_handle);
7871 
7876  static ER_DllExport int *inq_body_mark_selected(void *body_handle);
7877 
7882  static ER_DllExport int *inq_body_mark_selected_color_idx(void *body_handle);
7883 
7890  static ER_DllExport int *inq_body_show_transparent(void *body_handle);
7891 
7892  // Object Handle, Object Attributes Handle
7893 
7900  static ER_DllExport void *inq_body_obj_handle(void *body_handle,int i_obj); // return VRML_OBJ *, IN: _BODYS *body_handle, int i_obj
7901 
7908  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
7909 
7914  static ER_DllExport int *inq_body_obj_n_point(void *obj_handle); // return number of points, IN: VRML_OBJ *obj_handle
7915 
7920  static ER_DllExport int *inq_body_obj_n_line(void *obj_handle); // return number of line, IN: VRML_OBJ *obj_handle
7921 
7926  static ER_DllExport int *inq_body_obj_n_poly(void *obj_handle); // return number of polygons, IN: VRML_OBJ *obj_handle
7927 
7932  static ER_DllExport int *inq_body_obj_n_coorsys(void *obj_handle); // return number of coorsys, IN: VRML_OBJ *obj_handle
7933 
7939  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
7940 
7945  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
7946 
7951  static ER_DllExport float *inq_body_obj_color_rgba(void *obj_handle_attributes);// return rgba color , IN: VRML_OBJ_ATTRIBUTES *obj_handle_attributes
7952 
7957  static ER_DllExport int *inq_body_obj_color_idx(void *obj_handle); // return pointer to color idx, IN: VRML_OBJ *obj_handle
7958 
7963  static ER_DllExport int *inq_body_obj_color_den_idx(void *obj_handle); // return pointer to deneb color idx, IN: VRML_OBJ *obj_handle
7964 
7970  static ER_DllExport int *inq_body_obj_ptrcolor(void *obj_handle_attributes); // return color pointer, IN: VRML_OBJ_ATTRIBUTES *obj_handle_attributes
7971 
7978  static ER_DllExport float *inq_body_obj_points(void *obj_handle,int idx); // return pointer to vertices with idx, IN: VRML_OBJ *obj_handle
7979 
7986  static ER_DllExport int *inq_body_obj_lines(void *obj_handle,int idx); // return pointer to lines indexes, IN: VRML_OBJ *obj_handle
7987 
7994  static ER_DllExport int *inq_body_obj_polys(void *obj_handle,int idx); // return pointer to polygons indexes, IN: VRML_OBJ *obj_handle
7995 
8002  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
8003 
8010  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
8011 
8057  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
8058 
8105  static ER_DllExport int set_body_para(void *body_handle,float *para); // return 0-OK 1-Error, IN: _BODYS *body_handle, float *para vector
8106 
8115  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
8116 
8123  static ER_DllExport int body_clear(void *grp_handle, void *body_handle); // return 0-OK 1-Error, IN: _BODYS *body_handle
8124 };
8125 
8127 // class ER_CAPI_CAD_CREATE
8128 //
8133 {
8134 public:
8135 
8152  static ER_DllExport int Create_CAD(int cad_type, char *body_name=0, float *parameter=0); // Create primitive CADs, such as CUBE, PYRAMID, ...
8153 };
8154 
8156 // class ER_CAPI_CAD_IMPORT
8157 //
8162 {
8163 public:
8184  static ER_DllExport int Import_CAD(int cad_type=0,char *fln_name=0,char *body_name=0,float *scale=0);
8185 };
8186 
8188 // class ER_CAPI_CAD_CONVERT
8189 //
8196 {
8197 public:
8198 
8206  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
8207 
8215  static ER_DllExport int Convert_CAD_Setting(int Setting=CONVERT_CAD_DEFAULT);
8216 
8225  static ER_DllExport float Convert_CAD_SetTesselation(int Tesselation=CONVERT_CAD_TESSELATION_RESET);
8226 
8231  static ER_DllExport int Convert_CAD_ReStore(void); // Restore and reload converted CAD File into CAD Preview
8232 
8237  static ER_DllExport int Convert_CAD_Unload(void); // Unload CAD Import Kernel
8238 };
8239 
8240 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ER_CAPI_SYS
8242 // class ER_CAPI_SYS
8243 //
8247 class ER_CAPI_SYS : public ER_CAPI
8248 {
8249 public:
8250 
8254 
8258 
8262 
8266 
8270 
8274 
8278 
8282 };
8284 // class ER_CAPI_SYS_UTILITIES
8285 //
8290 {
8291 public:
8292 
8297  static ER_DllExport void extract_fln_with_ext(char *fln,char *fln_with_ext); // IN: fln, OUT: fln_with_ext
8298 
8303  static ER_DllExport int color_idx2rgb_vad(int idx,float *rgba); // converts a color idx 'idx' to RGBA Color ('A'-Alfa value)
8304 
8309  static ER_DllExport int color_rgb2idx_vad(float *rgba); // converts RGBA Color ('A'-Alfa value) to a color idx 'idx'
8310 
8314  static ER_DllExport float *inq_rob_kin_v_usr0(void); // 1st User Vector for Testing
8315 
8319  static ER_DllExport float *inq_rob_kin_v_usr1(void); // 2nd User Vector for Testing
8320 };
8322 // class ER_CAPI_SYS_MATHEMATICS
8323 //
8328 {
8329 public:
8330 
8345  static ER_DllExport int vec_to_frame_idx (float *vec,frame *T,int rotation_idx);
8346 
8361  static ER_DllExport int frame_to_vec_idx (float *vec,frame *T,int rotation_idx);
8362 
8372  static ER_DllExport void vec_to_frame (float *vec,frame *T); // default rot_idx = ROT_XYZ
8373 
8383  static ER_DllExport void frame_to_vec (float *vec,frame *T); // default rot_idx = ROT_XYZ
8384 
8392  static ER_DllExport int *inq_rob_kin_controller_rot_idx(void);
8393 
8397  static ER_DllExport char *inq_rob_kin_controller_name(void);
8398 
8405  static ER_DllExport void inv_T (FRAME *To, FRAME *Ti); // To = inv(Ti), invert frame Ti
8406 
8413  static ER_DllExport void inv_R (FRAME *Ro, FRAME *Ri); // Ro = inv(Ri), invert (transpose) orientation frame Ri
8414 
8424  static ER_DllExport void incr_T (FRAME *Ti1, FRAME *Ti2, int res); //res=1: Ti1 = Ti1 * Ti2, out=2: Ti2 = Ti1 * Ti2
8425 
8435  static ER_DllExport void incr_R (FRAME *Ri1, FRAME *Ri2, int res); // res=1: Ri1 = Ri1 * Ri2, out=2: Ri2 = Ri1 * Ri2
8436 
8442  static ER_DllExport void cpy_R (FRAME *Ro, FRAME *Ri); // Ro = Ri
8443 
8454  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'
8455 
8463  static ER_DllExport void mul_R_R(FRAME *Ro,FRAME *Ri1,FRAME *Ri2); // Ro = Ri1 * Ri2, multiplies orientation only
8464 
8472  static ER_DllExport void mul_T_T(FRAME *To,FRAME *Ti1,FRAME *Ti2); // To = Ti1 * Ti2
8473 
8483  static ER_DllExport void mul_T_invT (FRAME *To, FRAME *Ti1, FRAME *Ti2); // To = Ti1 * inv(Ti2)
8484 
8494  static ER_DllExport void mul_invT_T (FRAME *To, FRAME *Ti1, FRAME *Ti2); // To = inv(Ti1) * Ti2
8495 
8505  static ER_DllExport void mul_invT_invT (FRAME *To, FRAME *Ti1, FRAME *Ti2); // To = inv(Ti1) * inv(Ti2)
8506 
8515  static ER_DllExport void mul_T_pos (float *po,FRAME *T,float *pi); // po = T * pi, p is vector of size DIM
8516 
8526  static ER_DllExport void mul_invT_pos (float *po,FRAME *T,float *pi); // po = inv(T) * pi, p is vector of size DIM
8527 
8535  static ER_DllExport void mul_R_pos (float *po,FRAME *R,float *pi); // po = R * pi, p is vector of size DIM
8536 
8546  static ER_DllExport void mul_invR_pos (float *po,FRAME *R,float *pi); // po = R' * pi, p is vector of size DIM
8547 
8556  static ER_DllExport void mul_T_T_T(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = Ti1 * Ti2 * Ti3
8557 
8568  static ER_DllExport void mul_T_T_invT(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = Ti1 * Ti2 * inv(Ti3)
8569 
8580  static ER_DllExport void mul_T_invT_T(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = Ti1 * inv(Ti2) * Ti3
8581 
8592  static ER_DllExport void mul_T_invT_invT(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = Ti1 * inv(Ti2) * inv(Ti3)
8593 
8604  static ER_DllExport void mul_invT_T_T(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = inv(Ti1) * Ti2 * Ti3
8605 
8616  static ER_DllExport void mul_invT_T_invT(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = inv(Ti1) * Ti2 * inv(Ti3)
8617 
8628  static ER_DllExport void mul_invT_invT_T(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3); // To = inv(Ti1) * inv(Ti2) * Ti3
8629 
8640  static ER_DllExport void mul_invT_invT_invT(FRAME *To,FRAME *Ti1,FRAME *Ti2,FRAME *Ti3);// To = inv(Ti1) * inv(Ti2) * inv(Ti3)
8641 
8650  static ER_DllExport void rob_kin_T_mal_T ( frame *Ti1, frame *Ti2); // Ti1 = Ti1 * Ti2
8651 
8660  static ER_DllExport void rob_kin_R_mal_R ( frame *Ti1, frame *Ti2); // Ri1 = Ri1 * Ri2, orientation only
8661 
8667  static ER_DllExport void rob_kin_frame_ident(frame *T); // Set T to identity
8668 
8678  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)
8679 
8690  static ER_DllExport void rob_kin_rot_xyz(frame *T,float Rx, float Ry, float Rz); // R = Rx*Ry*Rz
8691 
8702  static ER_DllExport void rob_kin_trans (frame *T,double x, double y, double z); // T->p = [x,y,z]
8703 
8708  static ER_DllExport void dh_to_frame(ROB_DH *rdh,frame *T); // convert DH parameter into homogeneous frame
8709 
8719  static ER_DllExport float sass(float s1,float beta, float s2); // triangle calculation, see EASY-ROB-ERPL-eng.pdf "parser functions"
8720 
8729  static ER_DllExport float sasa(float s1,float beta, float s2); // triangle calculation
8730 
8739  static ER_DllExport float asss(float beta, float s1,float s2); // triangle calculation
8740 
8749  static ER_DllExport float assa(float beta, float s1,float s2); // triangle calculation
8750 
8759  static ER_DllExport float assa2(float beta, float s1,float s2); // triangle calculation
8760 
8769  static ER_DllExport float sssa(float s1,float s2,float s3); // triangle calculation
8770 
8781  static ER_DllExport float sasssa(float s1,float beta,float s2,float s3,float s4);// triangle calculation
8782 
8783 
8794  static ER_DllExport float sasssa2(float s1,float beta,float s2,float s3,float s4);// triangle calculation
8795 
8802  static ER_DllExport int inq_errorflg(void); // parser error flag
8803 
8811  static ER_DllExport double parser_calc(char *str,int *error); // formel parser calculation
8812 
8819  static ER_DllExport double rob_kin_atan2(double y,double x); // atan2
8820 
8833  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
8834 };
8836 // class ER_CAPI_SYS_VIEW
8837 //
8842 {
8843 public:
8844 
8852  static ER_DllExport void grf_update_export(int chk=0); // chk=1 tests travel ranges, speeds, accels and collision
8853 
8859  static ER_DllExport int *inq_cell_info_show(void); // 1-Enable Cell Information, 0-Disable ...
8860 
8866  static ER_DllExport char *inq_cell_info(void); // Cell Information
8867 
8873  static ER_DllExport int RefreshTagWindow(int mode); // 1 - UpdatePath, 0 - UpdateTagList + UpdatePath
8874 
8875 
8901  static ER_DllExport float *inq_ergl_material_light(int ergl_param=ERGL_UNDEF, int ergl_mode=ERGL_MODE_INQ);
8902 };
8904 // class ER_CAPI_SYS_PREVIEW
8905 //
8910 {
8911 public:
8912 
8918  static ER_DllExport int UnloadCADPreview(int confirm=1);// ret 0-OK, 1-no Geometry unloaded
8919 };
8921 // class ER_CAPI_SYS_STATUS
8922 //
8928 {
8929 public:
8930 
8934  static ER_DllExport char *EasyRobProduct(void);
8935 
8939  static ER_DllExport char *EasyRobPlatform(void);
8940 
8944  static ER_DllExport char *EasyRobVer(void);
8945 
8952  static ER_DllExport int check_license(int opt_id);
8953 
8959  static ER_DllExport int get_license_priority();
8960 
8966  static ER_DllExport int get_hardware_id(char *hw_id);
8967 
8974  static ER_DllExport int Init_ER_DLL_Window(int InitOptions); // _ERDLL_ATI, Return: TRUE - ok, FALSE - Error (EASY-ROB DLL Version)
8975 
8997  static ER_DllExport char *get_system_folder_file(int request_idx=SYS_SYSTEM_FOLDER_DIRECTORY_UNDEF);
8998 
9003  static ER_DllExport int *inq_modified_cell(void); // 1-Ask "Save modified cell file" 0-"do not Ask"
9004 
9012  static ER_DllExport int set_commandline(char *cmdline);
9013 
9018  static ER_DllExport char *get_commandline(void);
9019 
9025  static ER_DllExport int CloseApplication(int confirm=0);
9026 
9051  static ER_DllExport int SetWindowPos(void* pWndInsertAfter,int x, int y, int cx, int cy, UINT nFlags); // see CWnd::SetWindowPos
9052 
9060  static ER_DllExport int GetWindowPos(int *x, int *y, int *cx, int *cy);
9061 
9068  static ER_DllExport int UnloadCell(int confirm=1); // ret 0-OK, 1-no Cell unloaded
9069 
9076  static ER_DllExport int UnloadRobot(int confirm=1); // ret 0-OK, 1-no Robot unloaded
9077 
9084  static ER_DllExport int UnloadTool(int confirm=1); // ret 0-OK, 1-no Tool unloaded
9085 
9092  static ER_DllExport int UnloadProgram(int confirm=1); // ret 0-OK, 1-no Program unloaded
9093 
9100  static ER_DllExport int UnloadMimic(int confirm=1); // ret 0-OK, 1-no Mimic unloaded
9101 
9108  static ER_DllExport int UnloadBody(int confirm=1); // ret 0-OK, 1-no Body unloaded
9109 
9116  static ER_DllExport int UnloadTag(int confirm=1); // ret 0-OK, 1-no Tag unloaded
9117 
9124  static ER_DllExport int UnloadPath(int confirm=1); // ret 0-OK, 1-no Path unloaded
9125 
9132  static ER_DllExport int UnloadPathAll(int confirm=1); // ret 0-OK, 1-no all Paths unloaded
9133 
9140  static ER_DllExport int ChkRobotCellLoaded(int confirm=0); // ret 0-OK, 1-no Robot or Cell loaded
9141 
9148  static ER_DllExport int ChkBodysCellLoaded(int confirm=0); // ret 0-OK, 1-no Body or Cell loaded
9149 
9156  static ER_DllExport int ChkToolRobotLoaded(int confirm=0); // ret 0-OK, 1-no Tool or Robot loaded
9157 
9164  static ER_DllExport int ChkTagsLoaded(int confirm=0); // ret 0-OK, 1-no Tags loaded
9165 
9175  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
9176 
9183  static ER_DllExport int ChkPrgMimicLoaded(int confirm=0); // ret 0-OK, 1-no Mimic loaded
9184 
9188  static ER_DllExport char *GetCellfile(void); // return name of current loaded cell file
9189 
9193  static ER_DllExport char *inq_config_workdir(void); // return folder string for current working directory
9194 
9199  static ER_DllExport char *GetSystemPath(void); // EasyEdit, return system path
9200 
9205  static ER_DllExport int *inq_EasyRobDll_Active(void); // EASY-ROB DlL, 1-EASY-ROB available, 0-EASY-ROB Application not available
9206 
9211  static ER_DllExport int *inq_EasyRobDll_Activ(void); // Obsolete use inq_EasyRobDll_Active()
9212 
9216  static ER_DllExport void *inq_EasyRobDll_Hwnd(void); // EASY-ROB DlL, return (void *)CWnd
9217 
9221  static ER_DllExport ER_UID inq_EasyRobDll_Hwnd_ex(void); // EASY-ROB DlL, return HWND, GetSafeHwnd();
9222 
9230  static ER_DllExport int ShellExecuteOpen(char *prg, char *parameter=NULL, int nShowCmd=SW_SHOWNORMAL);
9231 
9238  static ER_DllExport int ShellExecuteEdit(char *fln);
9239 };
9241 // class ER_CAPI_SYS_UNITS
9242 //
9247 {
9248 public:
9249  // unit conversation
9250 
9254  static ER_DllExport float *sys_m_to_unit(); // scaling to convert unit from 'm' to the unit defined in the easy-rob.env
9255 
9259  static ER_DllExport float *sys_unit_to_m(); // scaling to convert unit defined in the easy-rob.env into 'm'
9260 
9264  static ER_DllExport char *sys_user_unit(); // unit string defined in the easy-rob.env, i.e. [mm]
9265 };
9266 
9268 // class ER_CAPI_SYS_USERDLL
9269 //
9450 {
9451 public:
9462  static ER_DllExport int inq_UserDll_number(); // get number of loaded UserDlls
9463 
9471  static ER_DllExport char *inq_UserDll_dll_name(int userdll_idx); // access dll name for UserDll
9472 
9498  static ER_DllExport char *inq_UserDll_user_name(int userdll_idx); // access user name for UserDll
9499 
9509  static ER_DllExport int inq_UserDll_dll_status(int userdll_idx); // get dll_status for UserDll
9510 
9543  static ER_DllExport void **inq_UserDll_usr_ptr(int userdll_idx); // access user pointer for UserDll
9544 
9555  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
9556 
9567  static ER_DllExport int set_callback_ProglineUpdate(int callback_fct_id, int (*callback_ProglineUpdate)(char *progline)); // set callback fct pointer for ProglineUpdate
9568 };
9569 
9571 // class ER_CAPI_SYS_APIDLL
9572 //
9583 {
9584 public:
9585 };
9586 
9587 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static
9588 
9590 // static
9592 /* Unload a Model. Free all allocated memory
9593 */
9598 EXPORT_C ER_CAPI *_inq_er_capi(void); // ER_CAPI *p = _inq_er_capi();
9599 
9600 /*
9601 //--------------------------------------------------------------------------------------------------
9602 //
9603 // The usage of below definitions is optional, but recommended for a better support by EASY-ROB
9604 //
9605 //--------------------------------------------------------------------------------------------------
9606 
9607 #define ER_DllExport
9608 #include "er_capi_types.h"
9609 #include "er_capi.h"
9610 #include "er_capi_definitions.h"
9611 */
9612 
9613 #endif
Method class, supplies dialogs, i.e. to enter and show values.
Definition: ER_CAPI.H:398
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:92
static ER_DllExport frame ** inq_bTpjnt_ref(void)
Reference of robot base to passive joints as move base, get from 'B' 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 int convert_color_idx_to_rgba(int idx, float *rgba)
Convert a color idx to RGB color .
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' ,...
static ER_DllExport int PickTripplePlaneIntersectionCornerMeasure(int hold_first_two_planes)
Enables the user to measure the intersection corner of three planes by picking 3 planes or poly cente...
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 double * GetWayPoint(int idx)
Get way point.
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 int PickDoublePlaneIntersectionLineMeasure(int hold_first_plane)
Enables the user to measure the intersection line of two planes by picking 2 planes or poly center....
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:8909
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:5630
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 double * GetConfigurationPose(void)
current configuration pose during FindPath Process return pointer, size nConfig
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,...
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....
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.
static ER_DllExport double * GetAxisConstraintsMin(void)
Get minimum axis constraints return pointer, size nConfig.
Method class for importing existing 3D geometries (IGP, STL, 3DS)
Definition: ER_CAPI.H:8161
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 "cad_type",...
static ER_DllExport int SetPoseStart(double *pose_start)
Set start configuration Remarks This pose must be valid - collision free, based on callback function...
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's OpenGL window.
Method class for converting external neutral and native CAD formats (STEP, IGES, JT-Open,...
Definition: ER_CAPI.H:8195
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:135
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,...
Definition: ER_CAPI.H:7190
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 frame * inq_wTwo_strt(void)
Start condition, Tool Offset frame: Robot Tcp' to TCP.
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,...
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....
static ER_CAPI_MOP er_capi_mop
Method class for trajectory planning and -execution.
Definition: ER_CAPI.H:2179
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 int AutoPathTerminate(AutoPath_SDK_ConfigurationSpace *apcs)
Terminate AutoPath call AutoPathFreeMem() first, see example AutoPathInit()
static ER_DllExport int SetParameter(int ap_option, int ap_value)
Set parameter Paramter ap_option is one of AUTOPATH_PARAMETER_DYNADJUST AUTOPATH_PARAMETER_ALGORITHM...
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:8261
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 index of reference joint is re...
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:119
static ER_DllExport float * inq_coll_min_distance_pc(void)
Collision point 'pc' 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_CAPI_MOP_AUTOPATH_SDK er_capi_mop_autopath_sdk
Method class for collision free motion planning.
Definition: ER_CAPI.H:4158
static ER_DllExport int * inq_body_mark_selected(void *body_handle)
Enable/disable mark a body givin by a handle.
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 'c_tag' This method copies all cTag data to the "copyTag" 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:4146
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 frame * inq_fTb(void)
Floor to robot base This frame describes the position of the robot base in relation to the floor or b...
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:6332
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)
'X'-,'Y'- or 'Z'- 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
static ER_DllExport char * AutoPathVer(void)
AutoPath Version.
Definition: ER_CAPI_TYPES.H:118
static ER_DllExport frame * inq_ipo_prep_strt_T(void)
Start TCP location.
Definition: ER_CAPI_TYPES.H:637
static ER_DllExport float * inq_model_theta_base(void)
symplified inertia
static ER_DllExport char * U3DPdf_ExportVer(void)
3D Export Version
static ER_DllExport int * inq_collision(void)
Enables, disables collision.
static ER_DllExport int AutoPathSetMem(AutoPath_SDK_ConfigurationSpace *apcs)
allocate memory for AutoPath_SDK_ConfigurationSpace data depending on nConfig see example AutoPathIni...
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 NewTagOnFrame_update(frame *T, int update_mode)
Creates a new Tag in current path at location of frame 'T' Parameter is a bitwise inclusive OR operat...
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 int AutoPathInit(AutoPath_SDK_ConfigurationSpace *apcs)
Initialize AutoPath Call this functions to setup the autopath configuration space Parameter apcs defi...
static ER_DllExport frame * GetRotView(int rot_view_type)
Return the rotation "View" 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)
'C' in kin chain (default); '_' NOT in kin. chain; '-' separated and NOT in kin.chain Remarks For a ...
Method class for executing ERPL- and ERCL commands.
Definition: ER_CAPI.H:6030
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 'skin' ...
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 >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 "Geometric Data from last".
Method class kinematics and transformations.
Definition: ER_CAPI.H:2604
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:8289
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:610
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:2614
static ER_DllExport int * inq_kin_attach_dof_passiv(void)
Index of aJnt, where pJnt is attached 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:104
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....
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:8132
static ER_CAPI_SYS_MATHEMATICS er_capi_sys_mathematics
Method class for mathematical calculations, multiplications of homogeneous matrices,...
Definition: ER_CAPI.H:8257
static ER_CAPI_ROB_DYN er_capi_rob_dyn
Method class for dynamics, controller parameter, sampling rates.
Definition: ER_CAPI.H:2618
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:144
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:5582
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....
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,...
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,...
Definition: ER_CAPI.H:7167
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,...
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:131
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,...
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 'device name' 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....
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:8281
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 GetParameter(int ap_option)
Get parameter Paramter ap_option is one of AUTOPATH_PARAMETER_DYNADJUST AUTOPATH_PARAMETER_ALGORITH...
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,...
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,...
static ER_DllExport int AbortPlanning(void)
Abort path planning use GetPlanningStatus()
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:422
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:8253
static ER_CAPI_USER_IO er_capi_user_io
Method class for interaction with EASY-ROB.
Definition: ER_CAPI.H:84
static ER_CAPI_CAD_IMPORT er_capi_cad_import
Method class for importing existing 3D geometries (IGP, STL, 3DS)
Definition: ER_CAPI.H:7163
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:94
static ER_DllExport int SetAccuracy(UINT accuracy)
Set accuracy.
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:6201
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:4154
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_DllExport int GetNumberOfWayPoints(void)
Get number of calculated way points, including start and end pose call this method after FindPath() s...
static ER_CAPI_ROB_KIN er_capi_rob_kin
Method class forward-, Inverse kinematics, desired robot joints, tools, position w....
Definition: ER_CAPI.H:2610
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)
'T'- translational-, 'R'- 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->p = [x,...
static ER_DllExport int * inq_rob_tag_z_buffering_idx(int idx)
tag_attributes, tag z_buffering Tag z_buffering is one of COORSYS_Z_BUFFERING_OFF,...
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,...
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,...
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....
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 GetPlanningStatus(void)
Get path planning status The planning status is one of AUTOPATH_STATUS_MP_IDLE AUTOPATH_STATUS_MP_R...
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,...
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:6324
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:4657
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'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:7149
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:6320
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 "Geometric Data to next" 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(),...
Method class for start-, target data, motion time, etc.
Definition: ER_CAPI.H:4192
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 double * GetStartPose(void)
Get Start Pose return pointer, size nConfig.
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->p[0..2] - Ti->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 "Geometric Data from last" .
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:8927
static ER_CAPI_SYS_UNITS er_capi_sys_units
Method class for setting and calculating units.
Definition: ER_CAPI.H:8273
Method class to create, attach, update devices, for kinematics calculations and for trajectory planni...
Definition: ER_CAPI.H:2169
static ER_DllExport int * inq_Get_c_path_visible()
Get current path visibility.
static ER_DllExport double * GetEndPose(void)
Get End Pose return pointer, size nConfig.
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,...
static ER_DllExport int cTagClone(int create_new=0)
Clones current Tag in current path or creates new one at Tcp of cRobot If parameter 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 homogeneous 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:8265
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:6314
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:5586
static ER_DllExport double * inq_achs_roty(void)
Kinematics angles for Y rotation [deg] for each active joint Calculated from "Geometric Data to next"...
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:3766
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:2175
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)
Reference joint idx of the cDevice, if the reference type is REF_JNT The index of reference joint is ...
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 'p2' 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:885
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:6863
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....
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:1348
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 'open' 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....
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:3937
static ER_DllExport char * inq_kin_direction_passiv(void)
'X'-,'Y'- or 'Z'- 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:235
static ER_DllExport char * inq_kin_chain_type_passiv(void)
'C' in kin chain (default); '_' NOT in kin. chain; '-' separated and NOT in kin.chain Remarks For a ...
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(),...
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,...
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:4737
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....
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:9582
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,...
Method for collision free path planning.
Definition: ER_CAPI.H:5193
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....
static ER_DllExport char * inq_config_name_idx(int cconfig_idx)
Name of configuration with cconfig_idx = [0..KIN_CONFIGS-1].
static ER_DllExport char * inq_kin_move_base_type_passiv(void)
'B' passive Jnt is move base; '-' passive Jnt is NOT a move base Remarks A "B" denotes that the pass...
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,...
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 "Geometric Data to next" ...
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].
const int AUTOPATH_AXIS_BIT_DOF6
axisBit Axis 1..6
Definition: ER_CAPI_TYPES.H:485
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 "pick" objects such as devices, tags, polygon, vertices, measure distances,...
Definition: ER_CAPI.H:127
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,...
static ER_DllExport int GetWayPointConfiguration(int idx)
Get calculatated configuration idx in way point See GetNumberOfWayPoints(), GetWayPointDof(),...
static ER_DllExport int SetPoseEnd(double *pose_end)
Set end configuration Remarks This pose must be valid - collision free, based on callback function "...
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 right, dud-delta up down dlr > 0 pan right, < 0 pan left dud > 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:123
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:649
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 SetAxisConstraints(int axisBit=AUTOPATH_AXIS_BIT_DOF6, int setting=0, double qConstraintMin=0, double qConstraintMax=0)
Set axis constraints Parameter setting is a bitwise inclusive OR operator (|) of AUTOPATH_CONSTRAINT_...
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:96
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 'idx' to RGBA Color ('A'-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 "Geometric Data from last"...
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 and HTML Export To open the created 3D Pdf file, Adobe Reader up to version XI is requ...
static ER_DllExport int FindPath(void)
Start motion planner, find a collision free path between start and end pose In each step,...
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 'ERC'.
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 int SetAxisEnable(int axisBit, int enable)
Set axis enable.
static ER_DllExport float * inq_uc(void)
Controller signal see inq_uc1()
static ER_DllExport int LoadToolFileRun(char *fln)
Load a tool file '.tol' while program is running.
static ER_DllExport float inq_coll_min_distance_c(void)
Collision distance when collision (dist < 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 'R' or 'T' 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:5574
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)
Reference joint idx of the cTcp trace, if the reference type is REF_JNT The index of reference joint ...
static ER_DllExport int * inq_single_cmd_c_device_idx(void)
Current device idx ERPL command: ERC CURRENT_DEVICE SET 'robotname’, see ERPL Manual EASY-ROB-ERPL-en...
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:9246
Method class for trajectory planning (preparation)
Definition: ER_CAPI.H:4556
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 * inq_kin_connect_dof_passiv(void)
Dof array where passive joints are connected to [-num_pJnts, ... , 0 , num_aJnts] Remarks A negative...
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:4150
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:5854
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:777
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:88
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 "Geometric Data to next"...
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 "pick" objects such as devices, tags, polygon, vertices, measure distances,...
Definition: ER_CAPI.H:923
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:78
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:1596
const int CONVERT_CAD_TESSELATION_RESET
Reset to origin Tesselation.
Definition: ER_CAPI_TYPES.H:809
static ER_DllExport int Shift_cTagOnFrame(frame *T)
Shifts cTag to location of frame 'T'.
static ER_DllExport int ClearAllWayPoints(void)
Clear all way points.
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 "Geometric Data to next" 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 'T', without grf_update and TagDlg update.
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:113
static ER_DllExport double * GetAxisConstraintsMax(void)
Get maximum axis constraints return pointer, size nConfig.
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....
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 PickTripplePlaneCircleMeasure(int hold_first_two_planes)
Enables the user to measure a circle segment with three plane. Parameter hold_first_two_planes can be...
static ER_DllExport int GetResults(int ap_result)
Get Autopath Result Parameter ap_result is one of AUTOPATH_RESULT_CHECKS, AUTOPATH_RESULT_SECONDS,...
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....
Definition: ER_CAPI.H:2627
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:233
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:7159
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(),...
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 "Geometric Data to next" .
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,...
Definition: ER_CAPI.H:4142
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....
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...
static ER_DllExport int GetResults(int ap_result)
Get results Paramter ap_result is one of AUTOPATH_RESULT_CHECKS AUTOPATH_RESULT_SECONDS AUTOPATH_R...
const int CONVERT_CAD_DEFAULT
CONVERT_CAD_MSG_WARNING, CONVERT_CAD_HEAL, CONVERT_CAD_SEW.
Definition: ER_CAPI_TYPES.H:805
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)
'T'- translational-, 'R'- 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,...
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 'm' 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 int SetAxisPriority(int axisBit, int priority)
Set axis priority.
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 "parser functions".
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 convert_color_rgb_to_idx(float *rgb, int *idx)
Convert a RGB color to color idx .
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,...
Definition: ER_CAPI.H:4282
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(),...
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 'ergl_param' data
Definition: ER_CAPI_TYPES.H:926
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 "Geometric Data to next" ...
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:8269
static ER_DllExport int PickDoublePlaneEdgeFollowerMeasure(int hold_first_plane)
Enables the user to start the edge follower by picking 2 planes or poly center. Parameter hold_first_...
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:4138
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(),...
static ER_DllExport double * inq_achs_offsets2(void)
Kinematics lengths in Y direction [m] for each active joint Calculated from "Geometric Data to next" ...
static ER_DllExport int color_rgb2idx_vad(float *rgba)
Converts RGBA Color ('A'-Alfa value) to a color idx 'idx'.
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:8247
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 U3DHtml_ExportAPI(int html_flag, char *sn=NULL, char *sv=NULL)
Control 3D HTML Export To open the created 3D Html file, a suitable browser (Edge,...
static ER_DllExport int * inq_cSimView(void)
Return current simulation "View" 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 * inq_body_mark_selected_color_idx(void *body_handle)
Inquire the color_idx to mark a body givin by a handle.
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:5570
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 > 0 to zoom in, or < 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:100
Method class to access API UserDll Option API UserDll allows the user to develop user defined dlls....
Definition: ER_CAPI.H:9449
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,...
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,...
Definition: ER_CAPI.H:7155
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 get_license_priority()
Get license priority As valid license priority is one of ER_LIC_PRIORITY_UNDEF, ER_LIC_PRIORITY_LMNGR...
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,...
static ER_DllExport int GetWayPointDof(void)
Get dof of calculated way points.
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 'device name' 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....
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:8277
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 'p1' 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:8841
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,...
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 int * inq_kin_connect_dof_activ(void)
Dof array where active joints are connected to [-num_pJnts, ... , 0 , num_aJnts, tip] Remarks A nega...
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:932
static ER_DllExport double * inq_achs_rotz(void)
Kinematics angles for Z rotation [deg] for each active joint Calculated from "Geometric Data to next"...
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 >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 AutoPathFreeMem(AutoPath_SDK_ConfigurationSpace *apcs)
free memory of AutoPath_SDK_ConfigurationSpace data see example AutoPathInit()
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:5578
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:4132
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:5959
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(),...
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....
Method class for simulation settings.
Definition: ER_CAPI.H:5564
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 "cad_type" see i...
static ER_DllExport int AutoPath_SetCallback_CheckConstraints(BOOL(*ptr_CheckConstraints)(int, void *))
Defines a callback function to check constraints during AutoPath calculation The callback function is...
static ER_DllExport int * inq_rob_tag_render_idx(int idx)
tag_attributes, tag render Tag render is one of COORSYS_RENDER_STYLE_COORSYS_XYZ=0,...
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...
Definition: ER_CAPI_TYPES.H:562
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 'Selection Dialog' 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()
static ER_DllExport frame * inq_wTwo(void)
Tool Offset frame, Robot Tcp' to TCP.
Method class for mathematical calculations, multiplications of homogeneous matrices,...
Definition: ER_CAPI.H:8327
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 "Geometric Data to next".