NIVissimTrafficDescription Class Reference

#include <NIVissimTrafficDescription.h>


Detailed Description

Definition at line 43 of file NIVissimTrafficDescription.h.


Public Member Functions

SUMOReal meanSpeed () const
 NIVissimTrafficDescription (int id, const std::string &name, const NIVissimVehicleClassVector &vehicleTypes)
 ~NIVissimTrafficDescription ()

Static Public Member Functions

static void clearDict ()
static NIVissimTrafficDescriptiondictionary (int id)
static bool dictionary (int id, NIVissimTrafficDescription *o)
static bool dictionary (int id, const std::string &name, const NIVissimVehicleClassVector &vehicleTypes)
static SUMOReal meanSpeed (int id)

Private Types

typedef std::map< int,
NIVissimTrafficDescription * > 
DictType

Private Attributes

int myID
std::string myName
NIVissimVehicleClassVector myVehicleTypes

Static Private Attributes

static DictType myDict

Member Typedef Documentation

Definition at line 60 of file NIVissimTrafficDescription.h.


Constructor & Destructor Documentation

NIVissimTrafficDescription::NIVissimTrafficDescription ( int  id,
const std::string &  name,
const NIVissimVehicleClassVector vehicleTypes 
)

Definition at line 50 of file NIVissimTrafficDescription.cpp.

Referenced by dictionary().

00053         : myID(id), myName(name), myVehicleTypes(vehicleTypes) {}

NIVissimTrafficDescription::~NIVissimTrafficDescription (  ) 

Definition at line 56 of file NIVissimTrafficDescription.cpp.

References myVehicleTypes.

00056                                                         {
00057     for (NIVissimVehicleClassVector::iterator i=myVehicleTypes.begin(); i!=myVehicleTypes.end(); i++) {
00058         delete *i;
00059     }
00060     myVehicleTypes.clear();
00061 }


Member Function Documentation

void NIVissimTrafficDescription::clearDict (  )  [static]

Definition at line 99 of file NIVissimTrafficDescription.cpp.

References myDict.

Referenced by NIImporter_Vissim::~NIImporter_Vissim().

00099                                       {
00100     for (DictType::iterator i=myDict.begin(); i!=myDict.end(); i++) {
00101         delete(*i).second;
00102     }
00103     myDict.clear();
00104 }

NIVissimTrafficDescription * NIVissimTrafficDescription::dictionary ( int  id  )  [static]

Definition at line 89 of file NIVissimTrafficDescription.cpp.

References myDict.

00089                                              {
00090     DictType::iterator i=myDict.find(id);
00091     if (i==myDict.end()) {
00092         return 0;
00093     }
00094     return (*i).second;
00095 }

bool NIVissimTrafficDescription::dictionary ( int  id,
NIVissimTrafficDescription o 
) [static]

Definition at line 78 of file NIVissimTrafficDescription.cpp.

References myDict.

00078                                                                             {
00079     DictType::iterator i=myDict.find(id);
00080     if (i==myDict.end()) {
00081         myDict[id] = o;
00082         return true;
00083     }
00084     return false;
00085 }

bool NIVissimTrafficDescription::dictionary ( int  id,
const std::string &  name,
const NIVissimVehicleClassVector vehicleTypes 
) [static]

Definition at line 65 of file NIVissimTrafficDescription.cpp.

References NIVissimTrafficDescription().

Referenced by meanSpeed(), and NIVissimSingleTypeParser_Verkehrszusammensetzungsdefinition::parse().

00067                                                                                        {
00068     NIVissimTrafficDescription *o = new NIVissimTrafficDescription(id, name, vehicleTypes);
00069     if (!dictionary(id, o)) {
00070         delete o;
00071         return false;
00072     }
00073     return true;
00074 }

SUMOReal NIVissimTrafficDescription::meanSpeed (  )  const

Definition at line 118 of file NIVissimTrafficDescription.cpp.

References myVehicleTypes, and SUMOReal.

00118                                             {
00119     SUMOReal speed = 0;
00120     for (NIVissimVehicleClassVector::const_iterator i=myVehicleTypes.begin(); i!=myVehicleTypes.end(); i++) {
00121         speed += (*i)->getSpeed();
00122     }
00123     return speed / (SUMOReal) myVehicleTypes.size();
00124 }

SUMOReal NIVissimTrafficDescription::meanSpeed ( int  id  )  [static]

Definition at line 110 of file NIVissimTrafficDescription.cpp.

References dictionary(), and meanSpeed().

Referenced by meanSpeed().

00110                                             {
00111     NIVissimTrafficDescription *i = dictionary(id);
00112     assert(i!=0);
00113     return i->meanSpeed();
00114 }


Field Documentation

Definition at line 61 of file NIVissimTrafficDescription.h.

Referenced by clearDict(), and dictionary().

Definition at line 56 of file NIVissimTrafficDescription.h.

std::string NIVissimTrafficDescription::myName [private]

Definition at line 57 of file NIVissimTrafficDescription.h.

Definition at line 58 of file NIVissimTrafficDescription.h.

Referenced by meanSpeed(), and ~NIVissimTrafficDescription().


The documentation for this class was generated from the following files:

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