Fawkes API  Fawkes Development Version
types.h
00001 
00002 /***************************************************************************
00003  *  skel_if_observer.h - Skeleton interface observer
00004  *
00005  *  Created: Sat Apr 02 18:14:37 2011 (RoboCup German Open 2011, Magdeburg)
00006  *  Copyright  2006-2011  Tim Niemueller [www.niemueller.de]
00007  *
00008  ****************************************************************************/
00009 
00010 /*  This program is free software; you can redistribute it and/or modify
00011  *  it under the terms of the GNU General Public License as published by
00012  *  the Free Software Foundation; either version 2 of the License, or
00013  *  (at your option) any later version.
00014  *
00015  *  This program is distributed in the hope that it will be useful,
00016  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018  *  GNU Library General Public License for more details.
00019  *
00020  *  Read the full text in the LICENSE.GPL file in the doc directory.
00021  */
00022 
00023 #ifndef __PLUGINS_OPENNI_UTILS_TYPES_H_
00024 #define __PLUGINS_OPENNI_UTILS_TYPES_H_
00025 
00026 #include <map>
00027 #include <string>
00028 
00029 namespace fawkes {
00030   class HumanSkeletonInterface;
00031   class HumanSkeletonProjectionInterface;
00032   class ObjectPositionInterface;
00033 
00034   namespace openni {
00035 #if 0 /* just to make Emacs auto-indent happy */
00036   }
00037 }
00038 #endif
00039 
00040 /** User info to pass to draw_skeletons(). */
00041 typedef struct {
00042   fawkes::HumanSkeletonInterface            *skel_if;   /**< Skeleton interface. */
00043   fawkes::HumanSkeletonProjectionInterface  *proj_if;   /**< Projection interface. */
00044 } UserInfo;
00045 
00046 /** Map from name to user info. */
00047 typedef std::map<std::string, UserInfo>  UserMap;
00048 
00049 
00050 /** Hand info to pass to draw_skeletons(). */
00051 typedef struct {
00052   fawkes::ObjectPositionInterface           *hand_if;   /**< Hand pos interface. */
00053 } HandInfo;
00054 
00055 /** Map from name to hand info. */
00056 typedef std::map<std::string, HandInfo>  HandMap;
00057 
00058 } // end namespace fawkes::openni
00059 } // end namespace fawkes
00060 
00061 #endif