NMPB08 shared libraries
MingW/RoadEmissionNMPB08.h
Go to the documentation of this file.
00001 
00002 #ifndef _NMPB08_ROAD_INCLUDED_
00003 #define _NMPB08_ROAD_INCLUDED_
00004 
00005 // --------------------------------------------------------------------------------------
00032 // --------------------------------------------------------------------------------------
00033 
00034 #ifndef _COMPILE_NMPB
00035         #ifdef _WIN32 
00036                 #define _COMPILE_NMPB extern "C" __declspec(dllexport)
00037         #else
00038                 #define _COMPILE_NMPB extern "C"
00039         #endif 
00040 #endif
00041 
00042 // ==== constants ===================================
00043 
00047 enum RoadVehicleType
00048 {
00052         VehicleType_VL = 1,
00056         VehicleType_PL = 2 
00057 } ;
00058 
00062 enum RoadFlowType
00063 {
00067         FlowType_CONST  = 0,
00071         FlowType_ACC    = 1,
00075         FlowType_DEC    = 2,
00079         FlowType_START  = 3,
00083         FlowType_STOP   = 4
00084 } ;
00085 
00089 enum RoadSurfaceType
00090 {
00094         RoadSurface_Default  =  0,
00098         RoadSurface_R1  =  1,
00102         RoadSurface_R2  =  2,
00106         RoadSurface_R3  =  3,
00110         RoadSurface_DR1 = 4,
00114         RoadSurface_DR2 = 5,
00118         RoadSurface_DR3 = 6,
00122         RoadSurface_UserDefined = 7
00123 } ;
00124 
00125 // Road surfaces correspondences with the RoadSurfaceType enumeration
00129 const int BBUM_0_6                      = RoadSurface_R1;
00133 const int BBDR_0_10                     = RoadSurface_DR1;
00137 const int BBTM_0_6_type2        = RoadSurface_R1;
00141 const int BBTM_0_6_type1        = RoadSurface_R1;
00145 const int BBTM_0_10_type2       = RoadSurface_R1;
00149 const int BBSG_0_10                     = RoadSurface_R2;
00153 const int BBTM_0_10_type1       = RoadSurface_R2;
00157 const int BBUM_0_10                     = RoadSurface_R2;
00161 const int ECF                           = RoadSurface_R2;
00165 const int BBSG_0_14                     = RoadSurface_R3;
00169 const int BBTM_0_14                     = RoadSurface_R3;
00173 const int ES_6_10                       = RoadSurface_R3;
00177 const int BC                            = RoadSurface_R3;
00181 const int ES_10_14                      = RoadSurface_R3;
00182 
00183 
00187 enum RoadSpectrumType
00188 {
00192         Spectrum_dBA      = 0,
00196         Spectrum_oct_A    = 1,
00200         Spectrum_3oct_A   = 2,
00204         Spectrum_oct_lin  = 3,
00208         Spectrum_3oct_lin = 4
00209 } ;
00210 
00211 // ======= data structures ======================
00212 
00216 struct RoadTrafficComponent
00217 {
00221         RoadVehicleType         vehicleType ;
00225         double                  trafficFlow ;
00229         double                  trafficSpeed ;
00233         RoadFlowType            flowType ;
00234 } ;
00235 
00239 struct RoadTraffic
00240 {
00244         RoadSurfaceType         surfaceType ;
00248         double                          surfaceAge ;
00252         double                          ramp ;
00256         int                                     nbComponents ;
00260         RoadTrafficComponent    *traffic ;
00264         double  _Lw_values[18] ;
00265 } ;
00266 
00276 _COMPILE_NMPB double* NMPB08_Lwm (RoadTraffic* roadTraffic, RoadSpectrumType spectrumType) ;
00277 
00287 _COMPILE_NMPB double* NMPB08_Lwm_rolling (RoadTraffic* roadTraffic, RoadSpectrumType spectrumType) ;
00288 
00298 _COMPILE_NMPB double* NMPB08_Lwm_traction (RoadTraffic* roadTraffic, RoadSpectrumType spectrumType) ;
00299 
00316 _COMPILE_NMPB double* NMPB08_Lw_rolling (RoadVehicleType type, 
00317                                                    double vehicleSpeed, 
00318                                                    RoadSurfaceType surfaceType, 
00319                                                    double surfaceAge,
00320                                                    RoadSpectrumType specType) ;
00321 
00338 _COMPILE_NMPB double* NMPB08_Lw_traction (RoadVehicleType type,
00339                                                    double vehicleSpeed,
00340                                                    RoadFlowType flowType,
00341                                                    double ramp,
00342                                                    RoadSpectrumType specType) ;
00343 
00365 _COMPILE_NMPB bool NMPB08_DefineRoadSurfaceType(int idRoadSurface, 
00366                                                                                                 double AVL, double BVL, double Vref_VL, 
00367                                                                                                 double APL, double BPL, double Vref_PL,
00368                                                                                                 double const* spectrum);
00369 
00370 
00371 #endif
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines