39 myOrigEdgeId(origEdgeId),
40 myPTStopLength(length),
42 myPermissions(svcPermissions),
44 myIsMultipleStopPositions(false) {
125 platformCand.reshiftPosition(offsetX, offsetY);
142 const std::vector<NBPTPlatform>&
179 const std::map<std::string, std::string>&
200 if (edge !=
nullptr) {
202 for (
const auto& it : edge->
getLanes()) {
242 myAccesses.push_back(std::make_tuple(laneID, offset, length));
bool setEdgeId(std::string edgeId, NBEdgeCont &ec)
void addAccess(std::string laneID, double offset, double length)
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
void write(OutputDevice &device)
NBEdge * getByID(const std::string &edgeID) const
Returns the edge with id if it exists.
bool myIsMultipleStopPositions
void add(const Position &pos)
Adds the given position to this one.
int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
The representation of a single edge during network building.
bool findLaneAndComputeBusStopExtent(NBEdgeCont &ec)
void clearAccess()
remove all access definitions
const std::vector< NBEdge::Lane > & getLanes() const
Returns the lane definitions.
std::vector< NBPTPlatform > myPlatformCands
std::string getID() const
void setMyPTStopId(std::string id)
void registerAdditionalEdge(std::string wayId, std::string edgeId)
SVCPermissions getPermissions() const
const std::map< std::string, std::string > & getMyAdditionalEdgeCandidates() const
std::vector< std::tuple< std::string, double, double > > myAccesses
laneId, lanePos, accessLength
NBPTStop(std::string ptStopId, Position position, std::string edgeId, std::string origEdgeId, double length, std::string name, SVCPermissions svcPermissions)
Constructor.
std::vector< std::string > myLines
list of public transport lines (for displaying)
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
const std::vector< NBPTPlatform > & getPlatformCands()
std::string getLaneID(int lane) const
get lane ID
A point in 2D or 3D with translation and scaling methods.
void addLine(const std::string &line)
register line that services this stop (for displaying)
Storage for edges, including some functionality operating on multiple edges.
const std::string getName() const
void reshiftPosition(const double offsetX, const double offsetY)
bool getIsMultipleStopPositions() const
static std::string escapeXML(const std::string &orig, const bool maskDoubleHyphen=false)
Replaces the standard escapes by their XML entities.
void setIsMultipleStopPositions(bool multipleStopPositions)
void computeExtent(double center, double d)
double length() const
Returns the length.
const PositionVector & getLaneShape(int i) const
Returns the shape of the nth lane.
std::map< std::string, std::string > myAdditionalEdgeCandidates
const std::string getOrigEdgeId() const
Static storage of an output device and its base (abstract) implementation.
bool closeTag(const std::string &comment="")
Closes the most recently opened tag and optionally adds a comment.
const Position & getPosition() const
void setMyOrigEdgeId(const std::string &myOrigEdgeId)
static std::string getEdgeIDFromLane(const std::string laneID)
return edge id when given the lane ID
const std::string getEdgeId() const
double nearest_offset_to_point2D(const Position &p, bool perpendicular=true) const
return the nearest offest to point 2D
An access point for a train stop.
void addPlatformCand(NBPTPlatform platform)
void setMyPTStopLength(double myPTStopLength)
OutputDevice & openTag(const std::string &xmlElement)
Opens an XML tag.
const SVCPermissions myPermissions