ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #ifndef ACTUATOR_H 00008 #define ACTUATOR_H 00009 00010 namespace argos { 00011 class CComposableEntity; 00012 } 00013 00014 namespace argos { 00015 00022 class CSimulatedActuator { 00023 00024 public: 00025 00029 virtual ~CSimulatedActuator() {} 00030 00041 virtual void SetRobot(CComposableEntity& c_entity) = 0; 00042 00046 virtual void Update() = 0; 00047 00048 }; 00049 00050 } 00051 00057 #define REGISTER_ACTUATOR(CLASSNAME, \ 00058 LABEL, \ 00059 IMPLEMENTATION, \ 00060 AUTHOR, \ 00061 VERSION, \ 00062 BRIEF_DESCRIPTION, \ 00063 LONG_DESCRIPTION, \ 00064 STATUS) \ 00065 REGISTER_SYMBOL(CSimulatedActuator, \ 00066 CLASSNAME, \ 00067 LABEL " (" IMPLEMENTATION ")", \ 00068 AUTHOR, \ 00069 VERSION, \ 00070 BRIEF_DESCRIPTION, \ 00071 LONG_DESCRIPTION, \ 00072 STATUS) 00073 00074 #endif