00001 /************************************************************** ggt-head beg 00002 * 00003 * GGT: Generic Graphics Toolkit 00004 * 00005 * Original Authors: 00006 * Allen Bierbaum 00007 * 00008 * ----------------------------------------------------------------- 00009 * File: $RCSfile: Defines.h,v $ 00010 * Date modified: $Date: 2003/03/03 00:54:04 $ 00011 * Version: $Revision: 1.7 $ 00012 * ----------------------------------------------------------------- 00013 * 00014 *********************************************************** ggt-head end */ 00015 /*************************************************************** ggt-cpr beg 00016 * 00017 * GGT: The Generic Graphics Toolkit 00018 * Copyright (C) 2001,2002 Allen Bierbaum 00019 * 00020 * This library is free software; you can redistribute it and/or 00021 * modify it under the terms of the GNU Lesser General Public 00022 * License as published by the Free Software Foundation; either 00023 * version 2.1 of the License, or (at your option) any later version. 00024 * 00025 * This library is distributed in the hope that it will be useful, 00026 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00027 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00028 * Lesser General Public License for more details. 00029 * 00030 * You should have received a copy of the GNU Lesser General Public 00031 * License along with this library; if not, write to the Free Software 00032 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00033 * 00034 ************************************************************ ggt-cpr end */ 00035 #ifndef _GMTL_DEFINES_H 00036 #define _GMTL_DEFINES_H 00037 00038 namespace gmtl 00039 { 00052 enum VectorIndex { Xelt = 0, Yelt = 1, Zelt = 2, Welt = 3 }; 00053 00061 enum PlaneSide 00062 { 00063 ON_PLANE, 00064 POS_SIDE, 00065 NEG_SIDE 00066 }; 00067 00072 const float GMTL_EPSILON = 1.0e-6f; 00073 const float GMTL_MAT_EQUAL_EPSILON = 0.001f; // Epsilon for matrices to be equal 00074 const float GMTL_VEC_EQUAL_EPSILON = 0.0001f; // Epsilon for vectors to be equal 00077 #define GMTL_NEAR(x,y,eps) (gmtl::Math::abs((x)-(y))<(eps)) 00078 00079 }; 00080 00081 // Platform-specific settings. 00082 #if defined(__sun) || defined(__APPLE__) || defined(__hpux) 00083 #define NO_ACOSF 1 00084 #define NO_ASINF 1 00085 #define NO_TANF 1 00086 #define NO_ATAN2F 1 00087 #define NO_COSF 1 00088 #define NO_SINF 1 00089 #define NO_TANF 1 00090 #define NO_SQRTF 1 00091 #define NO_LOGF 1 00092 #define NO_EXPF 1 00093 #define NO_POWF 1 00094 #define NO_CEILF 1 00095 #define NO_FLOORF 1 00096 #endif 00097 00098 00099 #endif