types.h

00001 
00002 /***************************************************************************
00003  *  types.h - Definition of simple types
00004  *
00005  *  Generated: Sun May 08 22:29:34 2005
00006  *  Copyright  2005-2006  Tim Niemueller [www.niemueller.de]
00007  *             2005       Martin Heracles
00008  *
00009  ****************************************************************************/
00010 
00011 /*  This program is free software; you can redistribute it and/or modify
00012  *  it under the terms of the GNU General Public License as published by
00013  *  the Free Software Foundation; either version 2 of the License, or
00014  *  (at your option) any later version. A runtime exception applies to
00015  *  this software (see LICENSE.GPL_WRE file mentioned below for details).
00016  *
00017  *  This program is distributed in the hope that it will be useful,
00018  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020  *  GNU Library General Public License for more details.
00021  *
00022  *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
00023  */
00024 
00025 #ifndef __FIREVISION_UTILS_TYPE_H_
00026 #define __FIREVISION_UTILS_TYPE_H_
00027 
00028 #include <utils/math/types.h>
00029 
00030 namespace firevision {
00031 #if 0 /* just to make Emacs auto-indent happy */
00032 }
00033 #endif
00034 
00035 /** Center in ROI.
00036  * Must be signed since the center of a ball may be out of the ROI.
00037  */
00038 typedef struct {
00039   float x;      /**< x in pixels */
00040   float y;      /**< y in pixels */
00041 } center_in_roi_t;
00042 
00043 /** Orientations. */
00044 typedef enum {
00045   ORI_HORIZONTAL = 1,   /**< horizontal */
00046   ORI_VERTICAL,         /**< vertical */
00047   ORI_CROSS,            /**< cross */
00048   ORI_DEG_0,            /**< 0 degrees */
00049   ORI_DEG_45,           /**< 45 degrees */
00050   ORI_DEG_90,           /**< 90 degrees */
00051   ORI_DEG_135,          /**< 135 degrees */
00052   ORI_DEG_180,          /**< 180 degrees */
00053   ORI_DEG_225,          /**< 225 degrees */
00054   ORI_DEG_270,          /**< 270 degrees */
00055   ORI_DEG_315,          /**< 315 degrees */
00056   ORI_DEG_360           /**< 360 degrees */
00057 } orientation_t;
00058 
00059 /** The type "color_t" enumerates all colors that are
00060    of interest in the RoboCup-domain */
00061 typedef enum {
00062   C_ORANGE = 0,         /**< Orange. */
00063   C_BACKGROUND = 1,     /**< Background of whatever color. */
00064   C_MAGENTA = 2,        /**< Magenta */
00065   C_CYAN = 3,           /**< Cyan */
00066   C_BLUE = 4,           /**< Blue */
00067   C_YELLOW = 5,         /**< Yellow */
00068   C_GREEN = 6,          /**< Green */
00069   C_WHITE = 7,          /**< White */
00070   C_RED = 8,            /**< Red */
00071   C_BLACK = 9,          /**< Black */
00072   C_OTHER = 10          /**< Other */
00073 } color_t;
00074 
00075 
00076 /** datatype to determine the type of the used coordinate system
00077  * Not that if the robot is positioned at (X=0,Y=0,Ori=0) the robot and world cartesian
00078  * coordinate systems are the same. This can help to remember the robot coord sys.
00079  */
00080 typedef enum {
00081   COORDSYS_UNKNOWN      = 0,    /**< Unknown */
00082   COORDSYS_ROBOT_CART   = 1,    /**< robot-centric cartesian coordinate system. From
00083                                  * robot forward is positive X, backward is negative X,
00084                                  * right is positive Y, left negative Y */
00085   COORDSYS_WORLD_CART   = 2,    /**< World cartesian coordinate system, center is at the
00086                                  * middle of the field, from center to opponent goal is
00087                                  * positive X, from center to own goal negative X, from
00088                                  * own goal to opponent goal right wing is positive Y,
00089                                  * left wing is negative Y. */
00090   COORDSYS_ROBOT_POLAR  = 3,    /**< robot-centric polar coordinate system. Front is zero
00091                                  * rad. */
00092   COORDSYS_WORLD_POLAR  = 4     /**< world polar coordinate system. Center is zero.
00093                                  * Center to opponent goal is zero rad. */
00094 } coordsys_type_t;
00095 
00096 } // end namespace firevision
00097 
00098 #endif

Generated on Tue Feb 22 13:31:16 2011 for Fawkes API by  doxygen 1.4.7