00001 // -*- coding: utf-8 -*- 00002 // Copyright (c) 2012 Rosen Diankov <rosen.diankov@gmail.com> 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 // http://www.apache.org/licenses/LICENSE-2.0 00008 // 00009 // Unless required by applicable law or agreed to in writing, software 00010 // distributed under the License is distributed on an "AS IS" BASIS, 00011 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00012 // See the License for the specific language governing permissions and 00013 // limitations under the License. 00014 #ifndef OPENRAVE_ROS_H 00015 #define OPENRAVE_ROS_H 00016 00017 #include <openrave/openrave.h> 00018 #include <openrave/utils.h> 00019 00020 #ifdef _MSC_VER 00021 #define _CRT_SECURE_NO_WARNINGS 00022 #define _CRT_SECURE_NO_DEPRECATE 00023 00024 #include <boost/typeof/std/string.hpp> 00025 #include <boost/typeof/std/vector.hpp> 00026 #include <boost/typeof/std/list.hpp> 00027 #include <boost/typeof/std/map.hpp> 00028 #include <boost/typeof/std/set.hpp> 00029 #include <boost/typeof/std/string.hpp> 00030 00031 #define FOREACH(it, v) for(BOOST_TYPEOF(v) ::iterator it = (v).begin(); it != (v).end(); (it)++) 00032 #define FOREACHC(it, v) for(BOOST_TYPEOF(v) ::const_iterator it = (v).begin(); it != (v).end(); (it)++) 00033 #define RAVE_REGISTER_BOOST 00034 #else 00035 00036 #include <string> 00037 #include <vector> 00038 #include <list> 00039 #include <map> 00040 #include <set> 00041 #include <string> 00042 00043 #define FOREACH(it, v) for(typeof((v).begin())it = (v).begin(); it != (v).end(); (it)++) 00044 #define FOREACHC FOREACH 00045 00046 #endif 00047 00048 #include <fstream> 00049 #include <iostream> 00050 #include <sstream> 00051 00052 #ifndef ARRAYSIZE 00053 #define ARRAYSIZE(x) (sizeof(x)/(sizeof( (x)[0] ))) 00054 #endif 00055 00056 #define FORIT(it, v) for(it = (v).begin(); it != (v).end(); (it)++) 00057 00058 #ifndef _WIN32 00059 #define strnicmp strncasecmp 00060 #define stricmp strcasecmp 00061 #endif 00062 00063 #include <ros/node_handle.h> 00064 #include <ros/master.h> 00065 00066 #include <boost/thread/thread.hpp> 00067 #include <boost/thread/mutex.hpp> 00068 #include <boost/thread/condition.hpp> 00069 #include <boost/static_assert.hpp> 00070 #include <boost/assert.hpp> 00071 #include <boost/bind.hpp> 00072 #include <boost/enable_shared_from_this.hpp> 00073 #include <boost/format.hpp> 00074 #include <boost/function.hpp> 00075 00076 // services 00077 #include <openraveros/body_destroy.h> 00078 #include <openraveros/body_enable.h> 00079 #include <openraveros/body_getaabb.h> 00080 #include <openraveros/body_getaabbs.h> 00081 #include <openraveros/body_getdof.h> 00082 #include <openraveros/body_getjointvalues.h> 00083 #include <openraveros/body_setjointvalues.h> 00084 #include <openraveros/body_settransform.h> 00085 #include <openraveros/env_checkcollision.h> 00086 #include <openraveros/env_closefigures.h> 00087 #include <openraveros/env_createbody.h> 00088 #include <openraveros/env_createplanner.h> 00089 #include <openraveros/env_createmodule.h> 00090 #include <openraveros/env_createrobot.h> 00091 #include <openraveros/env_destroymodule.h> 00092 #include <openraveros/env_getbodies.h> 00093 #include <openraveros/env_getbody.h> 00094 #include <openraveros/env_getrobots.h> 00095 #include <openraveros/env_loadplugin.h> 00096 #include <openraveros/env_loadscene.h> 00097 #include <openraveros/env_plot.h> 00098 #include <openraveros/env_raycollision.h> 00099 #include <openraveros/env_set.h> 00100 #include <openraveros/env_triangulate.h> 00101 #include <openraveros/env_wait.h> 00102 #include <openraveros/planner_init.h> 00103 #include <openraveros/planner_plan.h> 00104 #include <openraveros/module_sendcommand.h> 00105 #include <openraveros/robot_controllersend.h> 00106 #include <openraveros/robot_controllerset.h> 00107 #include <openraveros/robot_getactivevalues.h> 00108 #include <openraveros/robot_sensorgetdata.h> 00109 #include <openraveros/robot_sensorsend.h> 00110 #include <openraveros/robot_setactivedofs.h> 00111 #include <openraveros/robot_setactivemanipulator.h> 00112 #include <openraveros/robot_setactivevalues.h> 00113 #include <openraveros/robot_starttrajectory.h> 00114 00115 using namespace OpenRAVE; 00116 using namespace std; 00117 00118 #endif