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
1.2.14 written by Dimitri van Heesch,
© 1997-2002