/*
 * uniqueEventsId.h
 *
 *  Created on: 26 mars 2013
 *      Author: dom
 */

#ifndef UNIQUEEVENTSID_H_
#define UNIQUEEVENTSID_H_

#define EVENT_GENERIC        1
#define EVENT_CODE_START       2
#define EVENT_NI_START_TRANSMITTING     3
#define EVENT_NI_STOP_TRANSMITTING     4
#define EVENT_NI_RECEIVE       5
#define EVENT_NI_ENQUEUE_OUTGOING_MESSAGE    6
#define EVENT_PROCESS_LOCAL_EVENT     7
#define EVENT_BLOCK_TIMER       8
#define EVENT_END_SIMULATION      9
#define BLOCKEVENT_GENERIC       10
#define EVENT_SAVE_SCREEN                           11

#define EVENT_VM_START_COMPUTATION     1001
#define EVENT_VM_END_COMPUTATION     1002
#define EVENT_VM_START_TRANSMISSION     1005
#define EVENT_VM_WAIT_FOR_COMMAND     1006
#define EVENT_VM_TIMEOUT_WAIT_FOR_COMMAND   1007

// MELD VM
#define EVENT_SET_ID        1050
#define EVENT_STOP         1051
#define EVENT_HANDLE_DEBUG_COMMAND     1058
#define EVENT_DEBUG_PAUSE_SIMULATION    1059
#define EVENT_SET_DETERMINISTIC      1060
#define EVENT_RESUME_COMPUTATION     1061
#define EVENT_EXPECTED_COMPUTATION_PAUSE   1062
#define EVENT_EFFECTIVE_COMPUTATION_PAUSE   1063
#define EVENT_END_POLL        1064
#define EVENT_COMPUTE_PREDICATE                     1065
#define EVENT_ADD_TUPLE                             1066
#define EVENT_REMOVE_TUPLE                          1067

// General
#define EVENT_ADD_NEIGHBOR       1068
#define EVENT_REMOVE_NEIGHBOR      1069
#define EVENT_TAP         1070
#define EVENT_SET_COLOR        1071
#define EVENT_SEND_MESSAGE       EVENT_VM_START_TRANSMISSION
#define EVENT_RECEIVE_MESSAGE       EVENT_NI_RECEIVE
#define EVENT_ACCEL         1072
#define EVENT_SHAKE         1073
#define EVENT_INTERRUPTION  1074
#define EVENT_PIVOT_ACTUATION_START       1075
#define EVENT_PIVOT_ACTUATION_END      1076
#define EVENT_SEND_MESSAGE_TO_BLOCK     1077
#define EVENT_RECEIVE_MESSAGE_FROM_BLOCK   1078

// 2D Rotation
#define EVENT_ROTATION2D_START      1101
#define EVENT_ROTATION2D_STOP      1102
#define EVENT_ROTATION2D_STEP      1103
#define EVENT_ROTATION2D_END      1104
// 3D Rotation
#define EVENT_ROTATION3D_START         1105
#define EVENT_ROTATION3D_STOP      1106
#define EVENT_ROTATION3D_STEP      1107
#define EVENT_ROTATION3D_END      1108
// Translation
#define EVENT_TRANSLATION_START      1109
#define EVENT_TRANSLATION_STOP      1110
#define EVENT_TRANSLATION_STEP      1111
#define EVENT_TRANSLATION_END      1112
// Okteen motions
#define EVENT_OKTEEN_START           1113
#define EVENT_OKTEEN_STOP          1114
#define EVENT_OKTEEN_STEP          1115
#define EVENT_OKTEEN_END          1116
// Catoms3D Teleportation
#define EVENT_TELEPORTATION_START     1117
#define EVENT_TELEPORTATION_STOP     1118
#define EVENT_TELEPORTATION_STEP     1119
#define EVENT_TELEPORTATION_END      1120
// Datoms Deformation
#define EVENT_DEFORMATION_START					    1121
#define EVENT_DEFORMATION_STOP						1122
#define EVENT_DEFORMATION_STEP					1123
#define EVENT_DEFORMATION_END				1124
// Nodes2DMotion Teleportation
#define EVENT_NODES2DMOTION_START     1125
#define EVENT_NODES2DMOTION_STOP     1126
#define EVENT_NODES2DMOTION_STEP     1127
#define EVENT_NODES2DMOTION_END      1128
// HexanodesMotion Teleportation
#define EVENT_HEXANODESMOTION_START     1129
#define EVENT_HEXANODESMOTION_STOP     1130
#define EVENT_HEXANODESMOTION_STEP     1131
#define EVENT_HEXANODESMOTION_END      1132

#endif /* UNIQUEEVENTSID_H_ */
