00001 /* 00002 Copyright 2007, 2008, 2009, 2010, 2011 Instituto de Sistemas e Robotica, Instituto Superior Tecnico 00003 00004 This file is part of MeRMaID. 00005 00006 MeRMaID is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU Lesser General Public License as published by 00008 the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 00011 MeRMaID is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU Lesser General Public License for more details. 00015 00016 You should have received a copy of the GNU Lesser General Public License 00017 along with MeRMaID. If not, see <http://www.gnu.org/licenses/>. 00018 */ 00019 00020 00021 00022 /** 00023 * @Filename Defines.hpp 00024 * @Description Global definitions file 00025 * @Status unknown 00026 * @Version $Id: Defines.hpp 1 2011-03-04 18:13:18Z jreis $ 00027 * @Maintainer Nelson Ramos (nmsra@mega.ist.utl.pt) 00028 */ 00029 00030 #ifndef __SOCROB_DEFINES_HPP__ 00031 #define __SOCROB_DEFINES_HPP__ 00032 00033 #include <math.h> 00034 00035 #ifndef PI 00036 #define PI M_PI ///< The PI value. 00037 #endif 00038 00039 /* 00040 #define INFTY (1.0/0.0) //1000000.0 ///< O infinito azul... 00041 00042 #ifndef SQR 00043 #define SQR( A ) ((A) * (A)) ///< ? 00044 #endif 00045 00046 #ifndef SQRT 00047 #define SQRT( A ) sqrtf(A) ///< ? 00048 #endif 00049 00050 #ifndef MAX 00051 #define MAX( A, B ) ((A) > (B) ? (A) : (B)) ///< ? 00052 #endif 00053 00054 #ifndef MIN 00055 #define MIN( A, B ) ((A) < (B) ? (A) : (B)) ///< ? 00056 #endif 00057 00058 #ifndef ABS 00059 #define ABS( A ) ((A) < (0) ? (-(A)) : (A)) ///< ? 00060 #endif 00061 00062 #ifndef CLIP_BETWEEN 00063 #define CLIP_BETWEEN( X, A, B ) ((X) < (B) ? ( (X) > (A) ? (X) : (A) ) : (B) ) ///< ? 00064 #endif 00065 00066 #define DEG2RAD( A ) (M_PI/180.0*(A)) ///< ? 00067 #define RAD2DEG( A ) (180.0/M_PI*(A)) ///< ? 00068 #define CLIP( A ) (drem( (A), 2*M_PI )) ///< ? CLIP Angle to [-pi;pi] 00069 00070 00071 00072 typedef float Distance; ///< ? 00073 typedef float Angle; ///< ? 00074 typedef Angle Angle_Deg; ///< ? 00075 typedef float Speed; ///< ? 00076 typedef float Rotation_Speed; ///< ? 00077 */ 00078 00079 #endif