本文整理汇总了C++中GNEEdge::getGNEJunctionDestiny方法的典型用法代码示例。如果您正苦于以下问题:C++ GNEEdge::getGNEJunctionDestiny方法的具体用法?C++ GNEEdge::getGNEJunctionDestiny怎么用?C++ GNEEdge::getGNEJunctionDestiny使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GNEEdge
的用法示例。
在下文中一共展示了GNEEdge::getGNEJunctionDestiny方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
bool
GNEDemandElement::isRouteValid(const std::vector<GNEEdge*>& edges, bool report) {
if (edges.size() == 0) {
// routes cannot be empty
return false;
} else if (edges.size() == 1) {
// routes with a single edge are valid
return true;
} else {
// iterate over edges to check that compounds a chain
auto it = edges.begin();
while (it != edges.end() - 1) {
GNEEdge* currentEdge = *it;
GNEEdge* nextEdge = *(it + 1);
// consecutive edges aren't allowed
if (currentEdge->getID() == nextEdge->getID()) {
return false;
}
// make sure that edges are consecutives
if (std::find(currentEdge->getGNEJunctionDestiny()->getGNEOutgoingEdges().begin(),
currentEdge->getGNEJunctionDestiny()->getGNEOutgoingEdges().end(),
nextEdge) == currentEdge->getGNEJunctionDestiny()->getGNEOutgoingEdges().end()) {
if (report) {
WRITE_WARNING("Parameter 'Route' invalid. " + currentEdge->getTagStr() + " '" + currentEdge->getID() +
"' ins't consecutive to " + nextEdge->getTagStr() + " '" + nextEdge->getID() + "'");
}
return false;
}
it++;
}
}
return true;
}
示例2: switch
FXTreeItem*
GNEFrame::ACHierarchy::showAttributeCarrierParents() {
// Switch gl type of ac
switch (myAC->getTag()) {
case SUMO_TAG_EDGE: {
// obtain Edge
GNEEdge* edge = myFrameParent->getViewNet()->getNet()->retrieveEdge(myAC->getID(), false);
if(edge) {
// insert Junctions of edge in tree (Pararell because a edge has always two Junctions)
FXTreeItem* junctionSourceItem = myTreelist->insertItem(nullptr, nullptr, (edge->getGNEJunctionSource()->getHierarchyName() + " origin").c_str(), edge->getGNEJunctionSource()->getIcon(), edge->getGNEJunctionSource()->getIcon());
FXTreeItem* junctionDestinyItem = myTreelist->insertItem(nullptr, nullptr, (edge->getGNEJunctionSource()->getHierarchyName() + " destiny").c_str(), edge->getGNEJunctionSource()->getIcon(), edge->getGNEJunctionSource()->getIcon());
junctionDestinyItem->setExpanded(true);
// Save items in myTreeItemToACMap
myTreeItemToACMap[junctionSourceItem] = edge->getGNEJunctionSource();
myTreeItemToACMap[junctionDestinyItem] = edge->getGNEJunctionDestiny();
// return junction destiny Item
return junctionDestinyItem;
} else {
return nullptr;
}
}
case SUMO_TAG_LANE: {
// obtain lane
GNELane* lane = myFrameParent->getViewNet()->getNet()->retrieveLane(myAC->getID(), false);
if(lane) {
// obtain edge parent
GNEEdge* edge = myFrameParent->getViewNet()->getNet()->retrieveEdge(lane->getParentEdge().getID());
//inser Junctions of lane of edge in tree (Pararell because a edge has always two Junctions)
FXTreeItem* junctionSourceItem = myTreelist->insertItem(nullptr, nullptr, (edge->getGNEJunctionSource()->getHierarchyName() + " origin").c_str(), edge->getGNEJunctionSource()->getIcon(), edge->getGNEJunctionSource()->getIcon());
FXTreeItem* junctionDestinyItem = myTreelist->insertItem(nullptr, nullptr, (edge->getGNEJunctionSource()->getHierarchyName() + " destiny").c_str(), edge->getGNEJunctionSource()->getIcon(), edge->getGNEJunctionSource()->getIcon());
junctionDestinyItem->setExpanded(true);
// Create edge item
FXTreeItem* edgeItem = myTreelist->insertItem(nullptr, junctionDestinyItem, edge->getHierarchyName().c_str(), edge->getIcon(), edge->getIcon());
edgeItem->setExpanded(true);
// Save items in myTreeItemToACMap
myTreeItemToACMap[junctionSourceItem] = edge->getGNEJunctionSource();
myTreeItemToACMap[junctionDestinyItem] = edge->getGNEJunctionDestiny();
myTreeItemToACMap[edgeItem] = edge;
// return edge item
return edgeItem;
} else {
return nullptr;
}
}
case SUMO_TAG_POILANE: {
// Obtain POILane
GNEPOI* POILane = myFrameParent->getViewNet()->getNet()->retrievePOI(myAC->getID(), false);
if(POILane) {
// obtain lane parent
GNELane* lane = myFrameParent->getViewNet()->getNet()->retrieveLane(POILane->getLane()->getID());
// obtain edge parent
GNEEdge* edge = myFrameParent->getViewNet()->getNet()->retrieveEdge(lane->getParentEdge().getID());
//inser Junctions of lane of edge in tree (Pararell because a edge has always two Junctions)
FXTreeItem* junctionSourceItem = myTreelist->insertItem(nullptr, nullptr, (edge->getGNEJunctionSource()->getHierarchyName() + " origin").c_str(), edge->getGNEJunctionSource()->getIcon(), edge->getGNEJunctionSource()->getIcon());
FXTreeItem* junctionDestinyItem = myTreelist->insertItem(nullptr, nullptr, (edge->getGNEJunctionSource()->getHierarchyName() + " destiny").c_str(), edge->getGNEJunctionSource()->getIcon(), edge->getGNEJunctionSource()->getIcon());
junctionDestinyItem->setExpanded(true);
// Create edge item
FXTreeItem* edgeItem = myTreelist->insertItem(nullptr, junctionDestinyItem, edge->getHierarchyName().c_str(), edge->getIcon(), edge->getIcon());
edgeItem->setExpanded(true);
// Create lane item
FXTreeItem* laneItem = myTreelist->insertItem(0, edgeItem, lane->getHierarchyName().c_str(), lane->getIcon(), lane->getIcon());
laneItem->setExpanded(true);
// Save items in myTreeItemToACMap
myTreeItemToACMap[junctionSourceItem] = edge->getGNEJunctionSource();
myTreeItemToACMap[junctionDestinyItem] = edge->getGNEJunctionDestiny();
myTreeItemToACMap[edgeItem] = edge;
myTreeItemToACMap[laneItem] = lane;
// return Lane item
return laneItem;
} else {
return nullptr;
}
}
case SUMO_TAG_CROSSING: {
// obtain Crossing
GNECrossing* crossing = myFrameParent->getViewNet()->getNet()->retrieveCrossing(myAC->getID(), false);
if(crossing) {
// obtain junction
GNEJunction* junction = crossing->getParentJunction();
// create junction item
FXTreeItem* junctionItem = myTreelist->insertItem(nullptr, nullptr, junction->getHierarchyName().c_str(), junction->getIcon(), junction->getIcon());
junctionItem->setExpanded(true);
// Save items in myTreeItemToACMap
myTreeItemToACMap[junctionItem] = junction;
// return junction Item
return junctionItem;
} else {
return nullptr;
}
}
case SUMO_TAG_CONNECTION: {
// obtain Connection
GNEConnection* connection = myFrameParent->getViewNet()->getNet()->retrieveConnection(myAC->getID(), false);
if(connection) {
// create edge from item
FXTreeItem* edgeFromItem = myTreelist->insertItem(nullptr, nullptr, connection->getEdgeFrom()->getHierarchyName().c_str(), connection->getEdgeFrom()->getIcon(), connection->getEdgeFrom()->getIcon());
edgeFromItem->setExpanded(true);
// create edge to item
FXTreeItem* edgeToItem = myTreelist->insertItem(nullptr, nullptr, connection->getEdgeTo()->getHierarchyName().c_str(), connection->getEdgeTo()->getIcon(), connection->getEdgeTo()->getIcon());
edgeToItem->setExpanded(true);
//.........这里部分代码省略.........