Events.hh
00001 /* 00002 * Copyright 2011 Nate Koenig & Andrew Howard 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 * 00016 */ 00017 #ifndef EVENTS_HH 00018 #define EVENTS_HH 00019 00020 #include "common/Event.hh" 00021 00022 namespace gazebo 00023 { 00024 namespace event 00025 { 00026 class Events 00027 { 00030 00033 public: template<typename T> 00034 static ConnectionPtr ConnectPause( T subscriber ) 00035 { return pause.Connect(subscriber); } 00036 00037 public: static void DisconnectPause( ConnectionPtr subscriber) 00038 { pause.Disconnect(subscriber); } 00039 00042 public: template<typename T> 00043 static ConnectionPtr ConnectStep( T subscriber ) 00044 { return step.Connect(subscriber); } 00045 00046 public: static void DisconnectStep( ConnectionPtr subscriber) 00047 { step.Disconnect(subscriber); } 00048 00051 public: template<typename T> 00052 static ConnectionPtr ConnectQuit( T subscriber ) 00053 { return quit.Connect(subscriber); } 00054 00055 public: static void DisconnectQuit( ConnectionPtr subscriber) 00056 { quit.Disconnect(subscriber); } 00057 00060 public: template<typename T> 00061 static ConnectionPtr ConnectWorldCreated( T subscriber ) 00062 { return worldCreated.Connect(subscriber); } 00063 00064 public: static void DisconnectWorldCreated( ConnectionPtr subscriber) 00065 { worldCreated.Disconnect(subscriber); } 00066 00067 00070 public: template<typename T> 00071 static ConnectionPtr ConnectCreateEntity( T subscriber ) 00072 { return entityCreated.Connect(subscriber); } 00073 00074 public: static void DisconnectCreateEntity( ConnectionPtr subscriber) 00075 { entityCreated.Disconnect(subscriber); } 00076 00077 00080 public: template<typename T> 00081 static ConnectionPtr ConnectSetSelectedEntity( T subscriber ) 00082 { return setSelectedEntity.Connect(subscriber); } 00083 00084 public: static void DisconnectSetSelectedEntity(ConnectionPtr subscriber) 00085 { setSelectedEntity.Disconnect(subscriber); } 00086 00089 public: template<typename T> 00090 static ConnectionPtr ConnectDeleteEntity( T subscriber ) 00091 { return deleteEntity.Connect(subscriber); } 00092 00093 public: static void DisconnectDeleteEntity( ConnectionPtr subscriber) 00094 { deleteEntity.Disconnect(subscriber); } 00095 00098 public: template<typename T> 00099 static ConnectionPtr ConnectAddEntity( T subscriber ) 00100 { return addEntity.Connect(subscriber); } 00101 public: static void DisconnectAddEntity( ConnectionPtr subscriber) 00102 { addEntity.Disconnect(subscriber); } 00103 00106 public: template<typename T> 00107 static ConnectionPtr ConnectShowLights( T subscriber ) 00108 { return showLights.Connect(subscriber); } 00109 00110 public: static void DisconnectShowLights( ConnectionPtr subscriber ) 00111 { showLights.Disconnect(subscriber); } 00112 00115 public: template<typename T> 00116 static ConnectionPtr ConnectShowCameras( T subscriber ) 00117 { return showCameras.Connect(subscriber); } 00118 public: static void DisconnectShowCameras( ConnectionPtr subscriber ) 00119 { showCameras.Disconnect(subscriber); } 00120 00123 public: template<typename T> 00124 static ConnectionPtr ConnectShowContacts( T subscriber ) 00125 { return showContacts.Connect(subscriber); } 00126 public: static void DisconnectShowContacts( ConnectionPtr subscriber ) 00127 { showContacts.Disconnect(subscriber); } 00128 00129 00132 public: template<typename T> 00133 static ConnectionPtr ConnectShowWireframe( T subscriber ) 00134 { return wireframe.Connect(subscriber); } 00135 public: static void DisconnectShowWireframe( ConnectionPtr subscriber ) 00136 { wireframe.Disconnect(subscriber); } 00137 00138 00141 public: template<typename T> 00142 static ConnectionPtr ConnectShowPhysics( T subscriber ) 00143 { return showPhysics.Connect(subscriber); } 00144 public: static void DisconnectShowPhysics( ConnectionPtr subscriber ) 00145 { showPhysics.Disconnect(subscriber); } 00146 00147 00150 public: template<typename T> 00151 static ConnectionPtr ConnectShowJoints( T subscriber ) 00152 { return showJoints.Connect(subscriber); } 00153 public: static void DisconnectShowJoints( ConnectionPtr subscriber ) 00154 { showJoints.Disconnect(subscriber); } 00155 00158 public: template<typename T> 00159 static ConnectionPtr ConnectShowBoundingBoxes( T subscriber ) 00160 { return showBoundingBoxes.Connect(subscriber); } 00161 public: static void DisconnectShowBoundingBoxes(ConnectionPtr subscriber) 00162 { showBoundingBoxes.Disconnect(subscriber); } 00163 00166 public: template<typename T> 00167 static ConnectionPtr ConnectWorldUpdateStart(T subscriber) 00168 { return worldUpdateStart.Connect(subscriber); } 00169 public: static void DisconnectWorldUpdateStart(ConnectionPtr subscriber ) 00170 { worldUpdateStart.Disconnect(subscriber); } 00171 00174 public: template<typename T> 00175 static ConnectionPtr ConnectWorldUpdateEnd(T subscriber) 00176 { return worldUpdateEnd.Connect(subscriber); } 00177 public: static void DisconnectWorldUpdateEnd( ConnectionPtr subscriber ) 00178 { worldUpdateEnd.Disconnect(subscriber); } 00179 00182 public: template<typename T> 00183 static ConnectionPtr ConnectEntitySelected(T subscriber) 00184 { return entitySelected.Connect(subscriber); } 00186 public: static void DisconnectEntitySelected( ConnectionPtr subscriber ) 00187 { entitySelected.Disconnect(subscriber); } 00188 00191 public: template<typename T> 00192 static ConnectionPtr ConnectPreRender(T subscriber) 00193 { return preRender.Connect(subscriber); } 00194 00196 public: static void DisconnectPreRender( ConnectionPtr subscriber ) 00197 { preRender.Disconnect(subscriber); } 00198 00201 public: template<typename T> 00202 static ConnectionPtr ConnectRender( T subscriber ) 00203 { return render.Connect(subscriber); } 00204 00205 public: static void DisconnectRender( ConnectionPtr subscriber) 00206 { render.Disconnect(subscriber); } 00207 00210 public: template<typename T> 00211 static ConnectionPtr ConnectPostRender( T subscriber ) 00212 { return postRender.Connect(subscriber); } 00213 00214 public: static void DisconnectPostRender( ConnectionPtr subscriber) 00215 { postRender.Disconnect(subscriber); } 00216 00219 public: template<typename T> 00220 static ConnectionPtr ConnectDiagTimerStart( T subscriber ) 00221 { return diagTimerStart.Connect(subscriber); } 00222 00223 public: static void DisconnectDiagTimerStart( ConnectionPtr subscriber) 00224 { diagTimerStart.Disconnect(subscriber); } 00225 00228 public: template<typename T> 00229 static ConnectionPtr ConnectDiagTimerStop( T subscriber ) 00230 { return diagTimerStop.Connect(subscriber); } 00231 00232 public: static void DisconnectDiagTimerStop( ConnectionPtr subscriber) 00233 { diagTimerStop.Disconnect(subscriber); } 00234 00235 00237 public: static EventT<void (bool)> pause; 00238 00240 public: static EventT<void ()> step; 00241 00243 public: static EventT<void ()> quit; 00244 00246 public: static EventT<void (std::string)> worldCreated; 00247 00249 public: static EventT<void (std::string)> entityCreated; 00250 00252 public: static EventT<void (std::string)> setSelectedEntity; 00253 00255 public: static EventT<void (std::string)> addEntity; 00256 00258 public: static EventT<void (std::string)> deleteEntity; 00259 00261 public: static EventT<void (bool)> showLights; 00263 public: static EventT<void (bool)> showJoints; 00265 public: static EventT<void (bool)> showCameras; 00267 public: static EventT<void (bool)> showContacts; 00269 public: static EventT<void (bool)> wireframe; 00271 public: static EventT<void (bool)> showPhysics; 00273 public: static EventT<void (bool)> showBoundingBoxes; 00274 00276 public: static EventT<void (std::string)> entitySelected; 00277 00279 public: static EventT<void ()> worldUpdateStart; 00281 public: static EventT<void ()> worldUpdateEnd; 00282 00284 public: static EventT<void ()> preRender; 00286 public: static EventT<void ()> render; 00288 public: static EventT<void ()> postRender; 00289 00291 public: static EventT<void (std::string)> diagTimerStart; 00293 public: static EventT<void (std::string)> diagTimerStop; 00294 }; 00296 } 00297 } 00298 #endif

1.7.5.1