NMPB08 Shared Libraries
|
Go to the source code of this file.
Classes | |
struct | RailwayEquivalentSource |
elementary emission data represents apparent sound power for an equivalent line source emitted in a given direction More... | |
struct | RailwayEmission |
the emission associated with a railway traffic is represented as a set of elementary point sources with associated sound power and directivity More... | |
struct | RailwayTrafficComponent |
a single railway traffic component. Each component is defined as a number of units (or trains) of a given type that ciruclate at the same speed on the same track, the same speed. A complete traffic may be composed of one or more components. More... | |
struct | RailwayTraffic |
struct | ScreenBodyInteraction |
struct | RailwayEntity |
structure used for enumerating the contents of the database More... | |
struct | RailwayElementarySource |
structure used for enumerating the equivalent acoustical sources associated with a train or a unit More... | |
Defines | |
#define | _COMPILE_NMPB extern "C" |
compiler specific options for creating shared libraries | |
Typedefs | |
typedef double | NMPB_RailCorrectionType |
correction for rail and mounting conditions as specified in the document "Production des cartes strategiques des grands axes routiers et ferrovaires", published by SETRA, August 2007. Note that the following values are indicative and not integral part of the method. | |
typedef bool(* | EnumRailwayEntities )(RailwayEntity const &info, void *userdata) |
user defined callback function for enumerating the contents of the database | |
typedef bool(* | EnumRailwaySources )(RailwayElementarySource const &info, void *userdata) |
user defined callback function for enumerating the equivalent acoustical sources associated with a train or a unit | |
Enumerations | |
enum | NPMP08_RailwayEmission_Error { ERROR_XML_PARSER = 1, ERROR_XML_SCHEMA = 2, ERROR_OPEN_FILE = 3, ERROR_INVALID_ID = 4, ERROR_INVALID_HEIGHT = 5, ERROR_XML_PARSER = 1, ERROR_XML_SCHEMA = 2, ERROR_OPEN_FILE = 3, ERROR_INVALID_ID = 4, ERROR_INVALID_HEIGHT = 5, ERROR_XML_PARSER = 1, ERROR_XML_SCHEMA = 2, ERROR_OPEN_FILE = 3, ERROR_INVALID_ID = 4, ERROR_INVALID_HEIGHT = 5 } |
error types returned from the NMPB08_Railway software library More... | |
enum | NMPB_RailwayEmission_HorizontalDirectivity { HDIR_OMNI = 0, HDIR_NMPB = 1, HDIR_OMNI = 0, HDIR_NMPB = 1, HDIR_OMNI = 0, HDIR_NMPB = 1 } |
predefined horizontal directivity models More... | |
enum | NMPB_RailwayEmission_VerticalDirectivity { VDIR_OMNI = 0, VDIR_NMPB = 1, VDIR_HEMI = 2, VDIR_OMNI = 0, VDIR_NMPB = 1, VDIR_HEMI = 2, VDIR_OMNI = 0, VDIR_NMPB = 1, VDIR_HEMI = 2 } |
predefined vertical directivity models More... | |
enum | NMPB_RailwayEmission_Options { OPTION_TRACE_DEBUG = 1, OPTION_NO_DIRECTIVITY = 2, OPTION_MODIFY_HEIGHTS = 4, OPTION_DEYGOUT_DIFFRACTION = 8, OPTION_TRACE_DEBUG = 1, OPTION_NO_DIRECTIVITY = 2, OPTION_MODIFY_HEIGHTS = 4, OPTION_DEYGOUT_DIFFRACTION = 8, OPTION_TRACE_DEBUG = 1, OPTION_NO_DIRECTIVITY = 2, OPTION_MODIFY_HEIGHTS = 4, OPTION_DEYGOUT_DIFFRACTION = 8 } |
options that modify the behaviour of the calculation model More... | |
enum | NMPB_RailwayEmission_Entities { ENTITY_UNIT = 1, ENTITY_TRAIN = 2, ENTITY_PARTIAL = 4, ENTITY_TRAFFIC = ENTITY_TRAIN | ENTITY_UNIT, ENTITY_ALL = ENTITY_TRAIN | ENTITY_UNIT | ENTITY_PARTIAL, ENTITY_UNIT = 1, ENTITY_TRAIN = 2, ENTITY_PARTIAL = 4, ENTITY_TRAFFIC = ENTITY_TRAIN | ENTITY_UNIT, ENTITY_ALL = ENTITY_TRAIN | ENTITY_UNIT | ENTITY_PARTIAL, ENTITY_UNIT = 1, ENTITY_TRAIN = 2, ENTITY_PARTIAL = 4, ENTITY_TRAFFIC = ENTITY_TRAIN | ENTITY_UNIT, ENTITY_ALL = ENTITY_TRAIN | ENTITY_UNIT | ENTITY_PARTIAL } |
constants used for enumerating the contents of the database More... | |
Functions | |
_COMPILE_NMPB int | NMPB08_LoadRailwayDatabase (const char *filename, bool log_stdout=false) |
loads the train database from an external file | |
_COMPILE_NMPB int | NMPB08_DumpRailwayDatabase (const char *filename=0) |
writes the contents of the database to a file | |
_COMPILE_NMPB int | NMPB08_EnumRailwayDatabase (EnumRailwayEntities enumProc, unsigned int include_types=ENTITY_TRAFFIC, void *userdata=0) |
enumerate the contents of the database | |
_COMPILE_NMPB void * | NMPB08_CreateRailwayTraffic (double nb_hours) |
create a context for converting railway traffic into an equivalent source model | |
_COMPILE_NMPB int | NMPB08_ClearRailwayTraffic (void *id) |
empties the traffic associated with the source model | |
_COMPILE_NMPB int | NMPB08_AddRailwayTraffic (void *id, const char *unit_or_train, double number, double speed) |
adds a traffic component to the source model | |
_COMPILE_NMPB unsigned int | NMPB08_SetRailwayOptions (void *id, unsigned int option, bool on_off) |
enables or disables selected options | |
_COMPILE_NMPB unsigned int | NMPB08_GetRailwayOptions (void *id, unsigned int option) |
return the currently selected options | |
_COMPILE_NMPB unsigned int | NMPB08_SetRailCorrection (void *id, NMPB_RailCorrectionType corr) |
set the rail correction | |
_COMPILE_NMPB NMPB_RailCorrectionType | NMPB08_GetRailCorrection (void *id) |
returns the current value of rail correction | |
_COMPILE_NMPB RailwayEmission const * | NMPB08_GetRailwayEmission (void *id, ScreenBodyInteraction *screenBodyInteraction=0) |
returns the equivalent source model for the current traffic state | |
_COMPILE_NMPB int | NMPB08_SetRailwayEmissionAngles (void *id, double sin_h, double sin_v) |
sets de emission angles for the equivalent source model | |
_COMPILE_NMPB int | NMPB08_DeleteRailwayTraffic (void *id) |
destroys the internal data structure used for converting railway traffic data into an equivalent source model. | |
_COMPILE_NMPB int | NMPB08_EnumRailwaySources (EnumRailwaySources enumProc, const char *name, void *userdata) |
enumerate the equivalent acoustical sources associated with a train or unit | |
Variables | |
const NMPB_RailCorrectionType | RAIL_LONG_TRAVERSES_BETON = 0.0 |
const NMPB_RailCorrectionType | RAIL_LONG_TRAVERSES_AUTRE = 3.0 |
const NMPB_RailCorrectionType | RAIL_COURT_TRAVERSES_BETON = 3.0 |
const NMPB_RailCorrectionType | RAIL_COURT_TRAVERSES_AUTRE = 6.0 |
const NMPB_RailCorrectionType | RAIL_ZONE_APPAREILS_VOIE = 6.0 |
#define _COMPILE_NMPB extern "C" |
compiler specific options for creating shared libraries
Definition at line 54 of file RailwayEmissionNMPB08.h.
typedef bool(* EnumRailwayEntities)(RailwayEntity const &info, void *userdata) |
user defined callback function for enumerating the contents of the database
Definition at line 269 of file RailwayEmissionNMPB08.h.
typedef bool(* EnumRailwaySources)(RailwayElementarySource const &info, void *userdata) |
user defined callback function for enumerating the equivalent acoustical sources associated with a train or a unit
Definition at line 447 of file RailwayEmissionNMPB08.h.
typedef double NMPB_RailCorrectionType |
correction for rail and mounting conditions as specified in the document "Production des cartes strategiques des grands axes routiers et ferrovaires", published by SETRA, August 2007.
Note that the following values are indicative and not integral part of the method.
Definition at line 126 of file RailwayEmissionNMPB08.h.
constants used for enumerating the contents of the database
Definition at line 242 of file RailwayEmissionNMPB08.h.
predefined horizontal directivity models
Definition at line 75 of file RailwayEmissionNMPB08.h.
options that modify the behaviour of the calculation model
Definition at line 103 of file RailwayEmissionNMPB08.h.
predefined vertical directivity models
Definition at line 85 of file RailwayEmissionNMPB08.h.
error types returned from the NMPB08_Railway software library
Definition at line 62 of file RailwayEmissionNMPB08.h.
_COMPILE_NMPB int NMPB08_AddRailwayTraffic | ( | void * | id, |
const char * | unit_or_train, | ||
double | number, | ||
double | speed | ||
) |
adds a traffic component to the source model
id | handle to the internal structure used by the traffic model |
unit_or_train | identification of the type of unit or train |
number | number of units or trains passing during the reference period |
speed | speed in km/h |
Definition at line 681 of file RailwayEmission.cpp.
_COMPILE_NMPB int NMPB08_ClearRailwayTraffic | ( | void * | id | ) |
empties the traffic associated with the source model
id | handle to the internal structure used by the traffic model |
Definition at line 670 of file RailwayEmission.cpp.
_COMPILE_NMPB void* NMPB08_CreateRailwayTraffic | ( | double | nb_hours | ) |
create a context for converting railway traffic into an equivalent source model
nb_hours | duration of the period of reference in hours |
Definition at line 659 of file RailwayEmission.cpp.
_COMPILE_NMPB int NMPB08_DeleteRailwayTraffic | ( | void * | id | ) |
destroys the internal data structure used for converting railway traffic data into an equivalent source model.
id | handle to an internal data structure as returned by /ref NMPB08_CreateRailwayTraffic. |
Definition at line 703 of file RailwayEmission.cpp.
_COMPILE_NMPB int NMPB08_DumpRailwayDatabase | ( | const char * | filename = 0 | ) |
writes the contents of the database to a file
filename | the name of the output file in case the filename is a zero pointer or a zero length string, the output will be written to stdout |
Definition at line 16 of file RailwayDatabase.cpp.
_COMPILE_NMPB int NMPB08_EnumRailwayDatabase | ( | EnumRailwayEntities | enumProc, |
unsigned int | include_types = ENTITY_TRAFFIC , |
||
void * | userdata = 0 |
||
) |
enumerate the contents of the database
enumProc | user defined callback function |
include_types | type of database entries to be enumerated |
userdata | user defined data to be passed to the callback function |
Definition at line 21 of file RailwayDatabase.cpp.
_COMPILE_NMPB int NMPB08_EnumRailwaySources | ( | EnumRailwaySources | enumProc, |
const char * | name, | ||
void * | userdata | ||
) |
enumerate the equivalent acoustical sources associated with a train or unit
enumProc | user defined callback function |
name | identification a train or unit |
userdata | user defined data to be passed to the callback function |
Definition at line 28 of file RailwayDatabase.cpp.
_COMPILE_NMPB NMPB_RailCorrectionType NMPB08_GetRailCorrection | ( | void * | id | ) |
returns the current value of rail correction
id | handle to the internal structure used by the traffic model |
_COMPILE_NMPB RailwayEmission const* NMPB08_GetRailwayEmission | ( | void * | id, |
ScreenBodyInteraction * | screenBodyInteraction = 0 |
||
) |
returns the equivalent source model for the current traffic state
id | handle to the internal structure used by the traffic model |
screenBodyInteraction | configuration of interaction between the train body and a nearby screen One interaction corresponds to a double reflection, once on the barrier, once on the car body. The equivalent reflection coefficient of the car bodies is encoded in the database and will modify the equivalent sound power of the image sources created through reflection. Absorption on the inner side of the barrier is also taken into account (see NF S 31-133, section 7.4.6). |
Definition at line 692 of file RailwayEmission.cpp.
_COMPILE_NMPB unsigned int NMPB08_GetRailwayOptions | ( | void * | id, |
unsigned int | option | ||
) |
return the currently selected options
id | handle to the internal structure used by the traffic model |
option | options to be reported |
Definition at line 726 of file RailwayEmission.cpp.
_COMPILE_NMPB int NMPB08_LoadRailwayDatabase | ( | const char * | filename, |
bool | log_stdout = false |
||
) |
loads the train database from an external file
filename | name of the external file |
log_stdout | if true, prints messages to stdout |
Definition at line 11 of file RailwayDatabase.cpp.
_COMPILE_NMPB unsigned int NMPB08_SetRailCorrection | ( | void * | id, |
NMPB_RailCorrectionType | corr | ||
) |
set the rail correction
id | handle to the internal structure used by the traffic model |
corr | new correction for the rail / mounting condition |
Definition at line 748 of file RailwayEmission.cpp.
_COMPILE_NMPB int NMPB08_SetRailwayEmissionAngles | ( | void * | id, |
double | sin_h, | ||
double | sin_v | ||
) |
sets de emission angles for the equivalent source model
id | handle to the internal structure used by the traffic model |
sin_h | sinus of the angle of the propagation direction with the vertical plane perpendicular to the track |
sin_v | sinus of the angle of the propagation direction with the horizontal plane containing the track |
Definition at line 737 of file RailwayEmission.cpp.
_COMPILE_NMPB unsigned int NMPB08_SetRailwayOptions | ( | void * | id, |
unsigned int | option, | ||
bool | on_off | ||
) |
enables or disables selected options
id | handle to the internal structure used by the traffic model |
option | options to be set or cleared |
on_off | if true, options will be set, otherwise options will be cleared |
Definition at line 715 of file RailwayEmission.cpp.
const NMPB_RailCorrectionType RAIL_COURT_TRAVERSES_AUTRE = 6.0 |
Definition at line 131 of file RailwayEmissionNMPB08.h.
const NMPB_RailCorrectionType RAIL_COURT_TRAVERSES_BETON = 3.0 |
Definition at line 130 of file RailwayEmissionNMPB08.h.
const NMPB_RailCorrectionType RAIL_LONG_TRAVERSES_AUTRE = 3.0 |
Definition at line 129 of file RailwayEmissionNMPB08.h.
const NMPB_RailCorrectionType RAIL_LONG_TRAVERSES_BETON = 0.0 |
Definition at line 128 of file RailwayEmissionNMPB08.h.
const NMPB_RailCorrectionType RAIL_ZONE_APPAREILS_VOIE = 6.0 |
Definition at line 132 of file RailwayEmissionNMPB08.h.