angles.h File Reference

#include <cmath>

Go to the source code of this file.

Defines

#define M_PI   3.1415926535897932384626433832795

Functions

double angle0To2Pi (double angle)
double CCW (double reference, double angle1)


Define Documentation

#define M_PI   3.1415926535897932384626433832795


Function Documentation

double angle0To2Pi ( double  angle  )  [inline]

Definition at line 40 of file angles.h.

References M_PI.

Referenced by BiArc::BiArc(), CCW(), EulerSpiral::compute_es_params(), EulerSpiral::EulerSpiral(), EulerSpiral::set_end_params(), BiArc::set_end_params(), EulerSpiral::set_params(), EulerSpiral::set_start_params(), and BiArc::set_start_params().

00041 {
00042 #if 0  
00043   while (angle >= M_PI*2)
00044     angle -= M_PI*2;
00045   while (angle < 0)
00046     angle += M_PI*2;
00047   return angle;
00048 #else
00049   if (angle>2*M_PI)
00050       return  fmod (angle,M_PI*2);
00051    else if (angle < 0)
00052       return (2*M_PI+ fmod (angle,M_PI*2));
00053    else return angle;
00054 #endif
00055 }

double CCW ( double  reference,
double  angle1 
) [inline]

Definition at line 57 of file angles.h.

References angle0To2Pi(), and M_PI.

Referenced by EulerSpiral::compute_end_pt().

00058 {
00059    double fangle1 = angle0To2Pi(angle1);
00060    double fref = angle0To2Pi(reference);
00061 
00062    if (fref > fangle1){
00063     return angle0To2Pi(2*M_PI - (fref - fangle1));
00064   }
00065    else
00066       return angle0To2Pi(fangle1 - fref); 
00067 }


Generated on Wed May 5 00:06:37 2010 for Sumo - Simulation of Urban MObility by  doxygen 1.5.6