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 
32 namespace fawkes {
33 #if 0 /* just to make Emacs auto-indent happy */
34 }
35 #endif
36 
37 class GazeboAspect : public virtual Aspect
38 {
39  friend class GazeboAspectIniFin;
40 
41  public:
42  GazeboAspect();
43  virtual ~GazeboAspect();
44 
45  protected:
46  /// Gazebo Node for communication with a robot
47  gazebo::transport::NodePtr gazebonode;
48  /**
49  * Gazebo Node for communication with the world
50  * (e.g. for spawning visuals or robot independent information)
51  */
52  gazebo::transport::NodePtr gazebo_world_node;
53 
54  private:
55  void init_GazeboAspect(gazebo::transport::NodePtr gazebonode, 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:34
Fawkes library namespace.
gazebo::transport::NodePtr gazebo_world_node
Gazebo Node for communication with the world (e.g.
Definition: gazebo.h:52
Thread aspect to get access to a Gazebo node handle.
Definition: gazebo.h:37
virtual ~GazeboAspect()
Virtual empty destructor.
Definition: gazebo.cpp:56
gazebo::transport::NodePtr gazebonode
Gazebo Node for communication with a robot.
Definition: gazebo.h:47
GazeboAspect()
Constructor.
Definition: gazebo.cpp:49
GazeboAspect initializer/finalizer.
Definition: gazebo_inifin.h:38