SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GUIEdgeControlBuilder Class Reference

Derivation of NLEdgeControlBuilder which builds gui-edges. More...

#include <GUIEdgeControlBuilder.h>

Inheritance diagram for GUIEdgeControlBuilder:
NLEdgeControlBuilder

Public Types

typedef std::vector< MSEdge * > EdgeCont
 definition of the used storage for edges

Public Member Functions

virtual MSLaneaddLane (const std::string &id, SUMOReal maxSpeed, SUMOReal length, const PositionVector &shape, SUMOReal width, SVCPermissions permissions)
 Builds and adds a lane.
void beginEdgeParsing (const std::string &id, const MSEdge::EdgeBasicFunction function, const std::string &streetName)
 Begins building of an MSEdge.
MSEdgeControlbuild ()
 builds the MSEdgeControl-class which holds all edges
MSEdgebuildEdge (const std::string &id, const MSEdge::EdgeBasicFunction function, const std::string &streetName)
 Builds an edge instance (GUIEdge in this case)
MSEdgecloseEdge ()
 Closes the building of an edge; The edge is completely described by now and may not be opened again.
 GUIEdgeControlBuilder ()
 Constructor.
 ~GUIEdgeControlBuilder ()
 Destructor.

Protected Attributes

MSEdgemyActiveEdge
 pointer to the currently chosen edge
unsigned int myCurrentNumericalEdgeID
 A running number for edge numbering.
unsigned int myCurrentNumericalLaneID
 A running number for lane numbering.
EdgeCont myEdges
 Temporary, internal storage for built edges.
std::vector< MSLane * > * myLaneStorage
 pointer to a temporary lane storage

Private Member Functions

 GUIEdgeControlBuilder (const GUIEdgeControlBuilder &s)
 invalidated copy constructor
GUIEdgeControlBuilderoperator= (const GUIEdgeControlBuilder &s)
 invalidated assignment operator

Detailed Description

Derivation of NLEdgeControlBuilder which builds gui-edges.

Instead of building pure microsim-objects (MSEdge and MSLane), this class builds GUIEdges and GUILanes.

See Also
NLEdgeControlBuilder

Definition at line 60 of file GUIEdgeControlBuilder.h.

Member Typedef Documentation

typedef std::vector<MSEdge*> NLEdgeControlBuilder::EdgeCont
inherited

definition of the used storage for edges

Definition at line 67 of file NLEdgeControlBuilder.h.

Constructor & Destructor Documentation

GUIEdgeControlBuilder::GUIEdgeControlBuilder ( )

Constructor.

Parameters
[in]glObjectIDStorageStorage of gl-ids used to assign new ids to built edges

Definition at line 54 of file GUIEdgeControlBuilder.cpp.

GUIEdgeControlBuilder::~GUIEdgeControlBuilder ( )

Destructor.

Definition at line 58 of file GUIEdgeControlBuilder.cpp.

GUIEdgeControlBuilder::GUIEdgeControlBuilder ( const GUIEdgeControlBuilder s)
private

invalidated copy constructor

Member Function Documentation

MSLane * GUIEdgeControlBuilder::addLane ( const std::string &  id,
SUMOReal  maxSpeed,
SUMOReal  length,
const PositionVector shape,
SUMOReal  width,
SVCPermissions  permissions 
)
virtual

Builds and adds a lane.

Parameters
[in]idThe lane's id
[in]maxSpeedThe speed allowed on this lane
[in]lengthThe lane's length
[in]shapeThe shape of the lane
[in]widthThe width of the lane
[in]permissionsEncoding of vehicle classes that may drive on this lane
See Also
SUMOVehicleClass
MSLane
MSInternalLane

Reimplemented from NLEdgeControlBuilder.

Definition at line 70 of file GUIEdgeControlBuilder.cpp.

References MSEdge::EDGEFUNCTION_CONNECTOR, MSEdge::EDGEFUNCTION_INTERNAL, MSEdge::EDGEFUNCTION_NORMAL, MSEdge::getPurpose(), NLEdgeControlBuilder::myActiveEdge, NLEdgeControlBuilder::myCurrentNumericalLaneID, NLEdgeControlBuilder::myLaneStorage, and toString().

void NLEdgeControlBuilder::beginEdgeParsing ( const std::string &  id,
const MSEdge::EdgeBasicFunction  function,
const std::string &  streetName 
)
inherited

Begins building of an MSEdge.

Builds an instance of MSEdge using "buildEdge". Stores it as the current edge in "myActiveEdge" and appends it to the list of built edges ("myEdges").

The given information is used to build the edge.

Parameters
[in]idThe id of the edge
[in]functionThe function of the edge
[in]streetNameThe street name of the edge
Exceptions
InvalidArgumentIf an edge with the same name was already built

Definition at line 74 of file NLEdgeControlBuilder.cpp.

References NLEdgeControlBuilder::buildEdge(), MSEdge::dictionary(), NLEdgeControlBuilder::myActiveEdge, and NLEdgeControlBuilder::myEdges.

Referenced by NLHandler::beginEdgeParsing().

MSEdgeControl * NLEdgeControlBuilder::build ( )
inherited

builds the MSEdgeControl-class which holds all edges

Definition at line 121 of file NLEdgeControlBuilder.cpp.

References OptionsCont::getOptions(), MSGlobals::gUseMesoSim, and NLEdgeControlBuilder::myEdges.

Referenced by NLBuilder::buildNet().

MSEdge * GUIEdgeControlBuilder::buildEdge ( const std::string &  id,
const MSEdge::EdgeBasicFunction  function,
const std::string &  streetName 
)
virtual

Builds an edge instance (GUIEdge in this case)

Builds an GUIEdge-instance using the given name and the current index "myCurrentNumericalEdgeID" Post-increments the index, returns the built edge.

Parameters
[in]idThe id of the edge to build

Reimplemented from NLEdgeControlBuilder.

Definition at line 96 of file GUIEdgeControlBuilder.cpp.

References MSEdge::EDGEFUNCTION_INTERNAL, and NLEdgeControlBuilder::myCurrentNumericalEdgeID.

MSEdge * GUIEdgeControlBuilder::closeEdge ( )
virtual

Closes the building of an edge; The edge is completely described by now and may not be opened again.

Reimplemented from NLEdgeControlBuilder.

Definition at line 62 of file GUIEdgeControlBuilder.cpp.

GUIEdgeControlBuilder& GUIEdgeControlBuilder::operator= ( const GUIEdgeControlBuilder s)
private

invalidated assignment operator

Field Documentation

MSEdge* NLEdgeControlBuilder::myActiveEdge
protectedinherited
unsigned int NLEdgeControlBuilder::myCurrentNumericalEdgeID
protectedinherited

A running number for edge numbering.

Definition at line 140 of file NLEdgeControlBuilder.h.

Referenced by buildEdge(), and NLEdgeControlBuilder::buildEdge().

unsigned int NLEdgeControlBuilder::myCurrentNumericalLaneID
protectedinherited

A running number for lane numbering.

Definition at line 137 of file NLEdgeControlBuilder.h.

Referenced by addLane(), and NLEdgeControlBuilder::addLane().

EdgeCont NLEdgeControlBuilder::myEdges
protectedinherited

Temporary, internal storage for built edges.

Definition at line 143 of file NLEdgeControlBuilder.h.

Referenced by NLEdgeControlBuilder::beginEdgeParsing(), and NLEdgeControlBuilder::build().

std::vector<MSLane*>* NLEdgeControlBuilder::myLaneStorage
protectedinherited

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