Removed the M_PI defines from include/osg/Math and have use a const double osg::PI etc

in its place.
This commit is contained in:
Robert Osfield
2002-01-30 15:27:45 +00:00
parent 9471714ba4
commit 4d43f83295
6 changed files with 18 additions and 32 deletions

View File

@@ -9,23 +9,9 @@
#if defined(WIN32) || defined (macintosh)
#include <float.h>
#if !defined(__CYGWIN__)
#define M_E 2.7182818284590452354
#define M_LOG2E 1.4426950408889634074
#define M_LOG10E 0.43429448190325182765
#define M_LN2 0.69314718055994530942
#define M_LN10 2.30258509299404568402
#define M_PI 3.14159265358979323846
#define M_PI_2 1.57079632679489661923
#define M_PI_4 0.78539816339744830962
#define M_1_PI 0.31830988618379067154
#define M_2_PI 0.63661977236758134308
#define M_2_SQRTPI 1.12837916709551257390
#define M_SQRT2 1.41421356237309504880
#define M_SQRT1_2 0.70710678118654752440
#endif // __CYGWIN__
#endif
// PJA MAC OSX
// This appears to be the simplest way to get these defined under MACOSX
// where they arent in math.h
@@ -66,18 +52,21 @@
namespace osg {
inline double inDegrees(double angle) { return angle*M_PI/180.0; }
// define the stand trig values
const double PI = 3.14159265358979323846;
const double PI_2 = 1.57079632679489661923;
const double PI_4 = 0.78539816339744830962;
inline double inDegrees(double angle) { return angle*PI/180.0; }
inline double inRadians(double angle) { return angle; }
inline double DegreesToRadians(double angle) { return angle*M_PI/180.0; }
inline double RadiansToDegrees(double angle) { return angle*180.0/M_PI; }
inline double DegreesToRadians(double angle) { return angle*PI/180.0; }
inline double RadiansToDegrees(double angle) { return angle*180.0/PI; }
#if defined(WIN32) && !defined(__CYGWIN__)
inline bool isNaN(float v) { return _isnan(v)!=0; }
inline bool isNaN(double v) { return _isnan(v)!=0; }
#elif __sgi
inline bool isNaN(float v) { return isnan(v); }
inline bool isNaN(double v) { return isnan(v); }
#else
inline bool isNaN(float v) { return isnan(v); }
inline bool isNaN(double v) { return isnan(v); }

View File

@@ -48,8 +48,8 @@ Node *makeSky( void )
{
for( j = 0; j <= 18; j++ )
{
alpha = lev[i] * M_PI/180.0;
theta = (float)(j*20) * M_PI/180.0;
alpha = osg::DegreesToRadians(lev[i]);
theta = osg::DegreesToRadians((float)(j*20));
x = radius * cosf( alpha ) * cosf( theta );
y = radius * cosf( alpha ) * -sinf( theta );

View File

@@ -68,7 +68,7 @@ Node *makeTank( void )
{
float x, y, z;
float s, t;
float theta = (float)i * M_PI/180.0;
float theta = osg::DegreesToRadians((float)i);
s = (float)i/90.0;
t = 1.0;
@@ -144,7 +144,7 @@ Node *makeTank( void )
{
float x, y, z;
float s, t;
float theta = (float)i * M_PI/180.0;
float theta = osg::DegreesToRadians((float)i);
// s = (float)i/360.0;
// t = 1.0;

View File

@@ -8,9 +8,6 @@
using namespace osg;
#define DEG2RAD(x) ((x)*M_PI/180.0)
#define RAD2DEG(x) ((x)*180.0/M_PI)
#define SET_ROW(row, v1, v2, v3, v4 ) \
_mat[(row)][0] = (v1); \
_mat[(row)][1] = (v2); \

View File

@@ -20,6 +20,8 @@
#endif
#include "glm.h"
#include <osg/Math>
/* defines */
#define T(x) model->triangles[(x)]
@@ -1091,7 +1093,7 @@ glmVertexNormals(GLMmodel* model, GLfloat angle)
assert(model->facetnorms);
/* calculate the cosine of the angle (in degrees) */
cos_angle = (float)cos(angle * M_PI / 180.0);
cos_angle = (float)cos(osg::DegreesToRadians(angle));
/* nuke any previous normals */
if (model->normals)

View File

@@ -22,8 +22,6 @@
using namespace osg;
using namespace osgUtil;
#define DEG2RAD(x) ((x)*M_PI/180.0)
inline float MAX_F(float a, float b)
{ return a>b?a:b; }
inline int EQUAL_F(float a, float b)
@@ -594,7 +592,7 @@ void CullVisitor::calcClippingDirections() const
osg::Vec3 t_up = _camera->getUpVector();
osg::Vec3 t_side = _camera->getSideVector();
double t_VFOV_2 = _camera->calc_fovy() * M_PI / 360.0;//half of vertical FOV in radians
double t_VFOV_2 = osg::DegreesToRadians(_camera->calc_fovy() * 0.5);//half of vertical FOV in radians
//we need to pitch up the cameras up vector for angle that is half fovy,
osg::Vec3 pitched_up_up = t_up * osg::Matrix::rotate(t_VFOV_2, t_side.x(), t_side.y(), t_side.z());