 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
52 const std::vector<int>& connectors,
53 const std::vector<int>& disturbances,
55 : myID(id), myNodeID(nodeid), myTLID(tlid),
56 myConnectors(connectors), myDisturbances(disturbances),
57 myNBNode(nullptr), myAmEdgeSplit(amEdgeSplitOnly) {}
67 DictType::iterator i =
myDict.find(
id);
79 const std::vector<int>& connectors,
80 const std::vector<int>& disturbances,
81 bool amEdgeSplitOnly) {
87 nodeid, tlid, connectors, disturbances, amEdgeSplitOnly);
95 DictType::iterator i =
myDict.find(
id);
106 return (
int)
myDict.size();
114 return toString<int>(
myID);
116 return toString<int>(
myID) +
"LSA " + toString<int>(
myTLID);
129 std::vector<int>::iterator i, j;
151 if (crossings.size() == 0) {
183 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
184 (*i).second->buildNBNode(nc);
199 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
203 if (conn !=
nullptr && conn->
getToEdgeID() == edgeid) {
205 if (ret != -1 && (*i).first != ret) {
221 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
227 if (ret != -1 && ret != (*i).first) {
243 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
245 into << std::endl << c->
myID <<
":";
253 into <<
"=======================" << std::endl;
273 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
274 const std::vector<int>& disturbances = (*i).second->myDisturbances;
276 for (std::vector<int>::const_iterator j = disturbances.begin(); j != disturbances.end(); j++) {
278 disturbance->
addToNode(node, dc, nc, ec);
287 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
static int getToNode(int edgeid)
static void reportRefused()
Position getPolygonCenter() const
Returns the arithmetic of all corner points.
Storage for edges, including some functionality operating on multiple edges.
static void buildNBNodes(NBNodeCont &nc)
Position getToGeomPosition() const
bool insert(const std::string &id, const Position &position, NBDistrict *district=0)
Inserts a node into the map.
virtual void buildGeom()=0
static bool dictionary(const std::string &name, const NIVissimExtendedEdgePoint &edge, const NIVissimExtendedEdgePoint &by)
bool crossesEdge(NIVissimAbstractEdge *c) const
bool addToNode(NBNode *node, NBDistrictCont &dc, NBNodeCont &nc, NBEdgeCont &ec)
A container for districts.
static bool dictionary(int id, NIVissimNodeCluster *o)
static void dict_recheckEdgeChanges()
Container for nodes during the netbuilding process.
Position crossesEdgeAtPoint(NIVissimAbstractEdge *c) const
static void _debugOut(std::ostream &into)
Position getFromGeomPosition() const
void push_back_noDoublePos(const Position &p)
insert in back a non double position
std::string getNodeName() const
NIVissimNodeCluster(int id, int nodeid, int tlid, const std::vector< int > &connectors, const std::vector< int > &disturbances, bool amEdgeSplitOnly)
A point in 2D or 3D with translation and scaling methods.
static bool dictionary(int id, NIVissimAbstractEdge *e)
void buildNBNode(NBNodeCont &nc)
NBNode * retrieve(const std::string &id) const
Returns the node with the given name.
NBNode * getNBNode() const
std::vector< int > myConnectors
static bool dictionary(int id, NIVissimConnection *o)
static void dict_addDisturbances(NBDistrictCont &dc, NBNodeCont &nc, NBEdgeCont &ec)
static void setCurrentVirtID(int id)
std::map< int, NIVissimNodeCluster * > DictType
int getFromEdgeID() const
Represents a single node (junction) during network building.
static int getFromNode(int edgeid)