Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
odrSpiral.cpp File Reference
#include <stdio.h>
#include <math.h>
Include dependency graph for odrSpiral.cpp:

Go to the source code of this file.

Macros

#define M_PI   3.1415926535897932384626433832795
 

Functions

static void fresnel (double xxa, double *ssa, double *cca)
 
void odrSpiral (double s, double cDot, double *x, double *y, double *t)
 
static double p1evl (double x, double *coef, int n)
 
static double polevl (double x, double *coef, int n)
 

Variables

static double cd [7]
 
static double cn [6]
 
static double fd [10]
 
static double fn [10]
 
static double gd [11]
 
static double gn [11]
 
static double sd [6]
 
static double sn [6]
 

Macro Definition Documentation

◆ M_PI

#define M_PI   3.1415926535897932384626433832795

Definition at line 45 of file odrSpiral.cpp.

Function Documentation

◆ fresnel()

static void fresnel ( double  xxa,
double *  ssa,
double *  cca 
)
static

Definition at line 180 of file odrSpiral.cpp.

References cd, cn, fd, fn, gd, gn, M_PI, p1evl(), polevl(), sd, and sn.

Referenced by odrSpiral().

Here is the caller graph for this function:

◆ odrSpiral()

void odrSpiral ( double  s,
double  cDot,
double *  x,
double *  y,
double *  t 
)

compute the actual "standard" spiral, starting with curvature 0

Parameters
srun-length along spiral
cDotfirst derivative of curvature [1/m2]
xresulting x-coordinate in spirals local co-ordinate system [m]
yresulting y-coordinate in spirals local co-ordinate system [m]
ttangent direction at s [rad]

Definition at line 236 of file odrSpiral.cpp.

References fresnel(), and M_PI.

Referenced by NIImporter_OpenDrive::geomFromSpiral().

Here is the caller graph for this function:

◆ p1evl()

static double p1evl ( double  x,
double *  coef,
int  n 
)
static

Definition at line 161 of file odrSpiral.cpp.

Referenced by fresnel().

Here is the caller graph for this function:

◆ polevl()

static double polevl ( double  x,
double *  coef,
int  n 
)
static

Definition at line 143 of file odrSpiral.cpp.

Referenced by fresnel().

Here is the caller graph for this function:

Variable Documentation

◆ cd

double cd[7]
static
Initial value:
= {
3.99982968972495980367E-12,
9.15439215774657478799E-10,
1.25001862479598821474E-7,
1.22262789024179030997E-5,
8.68029542941784300606E-4,
4.12142090722199792936E-2,
1.00000000000000000118E0,
}

Definition at line 76 of file odrSpiral.cpp.

Referenced by fresnel().

◆ cn

double cn[6]
static
Initial value:
= {
-4.98843114573573548651E-8,
9.50428062829859605134E-6,
-6.45191435683965050962E-4,
1.88843319396703850064E-2,
-2.05525900955013891793E-1,
9.99999999999999998822E-1,
}

Definition at line 68 of file odrSpiral.cpp.

Referenced by NIImporter_OpenDrive::buildConnectionsToOuter(), and fresnel().

◆ fd

double fd[10]
static
Initial value:
= {
7.51586398353378947175E-1,
1.16888925859191382142E-1,
6.44051526508858611005E-3,
1.55934409164153020873E-4,
1.84627567348930545870E-6,
1.12699224763999035261E-8,
3.60140029589371370404E-11,
5.88754533621578410010E-14,
4.52001434074129701496E-17,
1.25443237090011264384E-20,
}

Definition at line 99 of file odrSpiral.cpp.

Referenced by RODFDetectorFlows::addFlow(), RODFNet::buildEdgeFlowMap(), fresnel(), and RODFDetFlowLoader::read().

◆ fn

double fn[10]
static
Initial value:
= {
4.21543555043677546506E-1,
1.43407919780758885261E-1,
1.15220955073585758835E-2,
3.45017939782574027900E-4,
4.63613749287867322088E-6,
3.05568983790257605827E-8,
1.02304514164907233465E-10,
1.72010743268161828879E-13,
1.34283276233062758925E-16,
3.76329711269987889006E-20,
}

Definition at line 87 of file odrSpiral.cpp.

Referenced by MSDevice_SSM::cleanup(), MSDevice_ToC::cleanup(), fresnel(), and NBNodeCont::paretoCheck().

◆ gd

double gd[11]
static
Initial value:
= {
1.47495759925128324529E0,
3.37748989120019970451E-1,
2.53603741420338795122E-2,
8.14679107184306179049E-4,
1.27545075667729118702E-5,
1.04314589657571990585E-7,
4.60680728146520428211E-10,
1.10273215066240270757E-12,
1.38796531259578871258E-15,
8.39158816283118707363E-19,
1.86958710162783236342E-22,
}

Definition at line 127 of file odrSpiral.cpp.

Referenced by fresnel().

◆ gn

double gn[11]
static
Initial value:
= {
5.04442073643383265887E-1,
1.97102833525523411709E-1,
1.87648584092575249293E-2,
6.84079380915393090172E-4,
1.15138826111884280931E-5,
9.82852443688422223854E-8,
4.45344415861750144738E-10,
1.08268041139020870318E-12,
1.37555460633261799868E-15,
8.36354435630677421531E-19,
1.86958710162783235106E-22,
}

Definition at line 114 of file odrSpiral.cpp.

Referenced by fresnel(), Command_Hotkey_InductionLoop::registerHotkey(), and Command_Hotkey_TrafficLight::registerHotkey().

◆ sd

double sd[6]
static
Initial value:
= {
2.81376268889994315696E2,
4.55847810806532581675E4,
5.17343888770096400730E6,
4.19320245898111231129E8,
2.24411795645340920940E10,
6.07366389490084639049E11,
}

Definition at line 57 of file odrSpiral.cpp.

Referenced by MSDevice_BTreceiver::BTreceiverUpdate::enterRange(), MSStageDriving::equals(), and fresnel().

◆ sn

double sn[6]
static
Initial value:
= {
-2.99181919401019853726E3,
7.08840045257738576863E5,
-6.29741486205862506537E7,
2.54890880573376359104E9,
-4.42979518059697779103E10,
3.18016297876567817986E11,
}

Definition at line 49 of file odrSpiral.cpp.

Referenced by fresnel(), and MSMeanData_Harmonoise::MSLaneMeanDataValues::notifyMoveInternal().