Fawkes API Fawkes Development Version
gazebo.h
1
2/***************************************************************************
3 * gazebo.h - Gazebo aspect for Fawkes
4 *
5 * Created: Fri Aug 24 09:25:22 2012
6 * Author Bastian Klingen, Frederik Zwilling
7 *
8 ****************************************************************************/
9
10/* This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version. A runtime exception applies to
14 * this software (see LICENSE.GPL_WRE file mentioned below for details).
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Library General Public License for more details.
20 *
21 * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22 */
23
24#ifndef _PLUGINS_GAZEBO_ASPECT_GAZEBO_H_
25#define _PLUGINS_GAZEBO_ASPECT_GAZEBO_H_
26
27#include <aspect/aspect.h>
28
29// from Gazebo
30#include <gazebo/transport/Node.hh>
31
32namespace fawkes {
33
34class GazeboAspectIniFin;
35
36class GazeboAspect : public virtual Aspect
37{
38 friend GazeboAspectIniFin;
39
40public:
42 virtual ~GazeboAspect();
43
44protected:
45 /// Gazebo Node for communication with a robot
46 gazebo::transport::NodePtr gazebonode;
47 /**
48 * Gazebo Node for communication with the world
49 * (e.g. for spawning visuals or robot independent information)
50 */
51 gazebo::transport::NodePtr gazebo_world_node;
52
53private:
54 void init_GazeboAspect(gazebo::transport::NodePtr gazebonode,
55 gazebo::transport::NodePtr gazebo_world_node);
56 void finalize_GazeboAspect();
57};
58
59} // end namespace fawkes
60
61#endif
Fawkes aspect base class.
Definition: aspect.h:32
GazeboAspect initializer/finalizer.
Definition: gazebo_inifin.h:36
Thread aspect to get access to a Gazebo node handle.
Definition: gazebo.h:37
virtual ~GazeboAspect()
Virtual empty destructor.
Definition: gazebo.cpp:53
gazebo::transport::NodePtr gazebo_world_node
Gazebo Node for communication with the world (e.g.
Definition: gazebo.h:51
gazebo::transport::NodePtr gazebonode
Gazebo Node for communication with a robot.
Definition: gazebo.h:46
GazeboAspect()
Constructor.
Definition: gazebo.cpp:47
Fawkes library namespace.