void exercicio1(){ GraphViewer *gv = new GraphViewer(600, 600, true); gv->createWindow(600, 600); gv->defineVertexColor("blue"); gv->defineEdgeColor("black"); gv->addNode(0); gv->addNode(1); gv->addEdge(0, 0, 1, EdgeType::UNDIRECTED); Sleep(100); // use sleep(1) in linux ; Sleep(100) on Windows gv->removeEdge(0); gv->removeNode(1); gv->addNode(2); gv->rearrange(); Sleep(100); gv->addEdge(1, 0, 2, EdgeType::UNDIRECTED); gv->setVertexLabel(0, "Isto e um no"); gv->setEdgeLabel(1, "Isto e uma aresta"); gv->setVertexColor(2, "green"); gv->setEdgeColor(1, "yellow"); gv->rearrange(); }
void exercicio1() { GraphViewer *gv = new GraphViewer(600, 600, true); gv->setBackground("background.jpg"); gv->createWindow(600, 600); gv->defineEdgeDashed(true); gv->defineVertexColor("blue"); gv->defineEdgeColor("black"); gv->addNode(0); gv->addNode(1); gv->addEdge(0, 0, 1, EdgeType::UNDIRECTED); Sleep(2000); // use sleep(1) in linux ; Sleep(2000) on Windows gv->removeEdge(0); gv->removeNode(1); gv->addNode(2); gv->rearrange(); Sleep(2000); gv->addEdge(1, 0, 2, EdgeType::UNDIRECTED); gv->defineEdgeCurved(false); gv->setVertexLabel(0, "Isto e um no"); gv->setEdgeLabel(1, "Isto e uma aresta"); gv->setVertexColor(2, "green"); gv->setEdgeColor(1, "yellow"); gv->setVertexSize(2, 40); gv->setVertexIcon(0, "icon.gif"); gv->setEdgeDashed(1, false); gv->rearrange(); }
void exercicio2() { GraphViewer *gv = new GraphViewer(600, 600, false); gv->createWindow(600, 600); gv->defineEdgeColor("blue"); gv->defineVertexColor("yellow"); gv->addNode(0,300,50); gv->addNode(1,318,58); gv->addNode(4,300,100); gv->addNode(7,282,58); gv->addNode(2,325,75); gv->addNode(3,318,93); gv->addNode(6,275,75); gv->addNode(5,282,93); gv->addNode(8,150,200); gv->setVertexColor(8, "green"); gv->setVertexColor(9, "blue"); gv->setVertexColor(10, "green"); gv->setVertexColor(11, "blue"); gv->setVertexColor(12, "green"); gv->setVertexColor(13, "green"); gv->addNode(9,300,200); gv->addNode(10,450,200); gv->addNode(11,300,400); gv->addNode(12,200,550); gv->addNode(13,400,550); gv->addEdge(0, 0, 1, EdgeType::UNDIRECTED); gv->addEdge(1, 1, 2, EdgeType::UNDIRECTED); gv->addEdge(2, 2, 3, EdgeType::UNDIRECTED); gv->addEdge(3, 3, 4, EdgeType::UNDIRECTED); gv->addEdge(4, 4, 5, EdgeType::UNDIRECTED); gv->addEdge(5, 5, 6, EdgeType::UNDIRECTED); gv->addEdge(6, 6, 7, EdgeType::UNDIRECTED); gv->addEdge(7, 7, 0, EdgeType::UNDIRECTED); gv->addEdge(8, 4, 9, EdgeType::UNDIRECTED); gv->addEdge(9, 9, 8, EdgeType::UNDIRECTED); gv->addEdge(10, 9, 10, EdgeType::UNDIRECTED); gv->addEdge(11, 9, 11, EdgeType::UNDIRECTED); gv->addEdge(12, 11, 12, EdgeType::UNDIRECTED); gv->addEdge(13, 11, 13, EdgeType::UNDIRECTED); gv->rearrange(); bool first=true; while(1) { Sleep(2000); if (first) { gv->removeNode(12); gv->removeNode(13); first=false; } else { gv->removeNode(20); gv->removeNode(21); } gv->addNode(14,250,550); gv->addNode(15,350,550); gv->addEdge(14, 11, 14, EdgeType::UNDIRECTED); gv->addEdge(15, 11, 15, EdgeType::UNDIRECTED); gv->rearrange(); Sleep(2000); gv->removeNode(14); gv->removeNode(15); gv->addNode(16,300,550); gv->addNode(17,300,550); gv->addEdge(16, 11, 16, EdgeType::UNDIRECTED); gv->addEdge(17, 11, 17, EdgeType::UNDIRECTED); gv->rearrange(); Sleep(2000); gv->removeNode(16); gv->removeNode(17); gv->addNode(18,250,550); gv->addNode(19,350,550); gv->addEdge(18, 11, 18, EdgeType::UNDIRECTED); gv->addEdge(19, 11, 19, EdgeType::UNDIRECTED); gv->rearrange(); Sleep(2000); gv->removeNode(18); gv->removeNode(19); gv->addNode(20,200,550); gv->addNode(21,400,550); gv->addEdge(20, 11, 20, EdgeType::UNDIRECTED); gv->addEdge(21, 11, 21, EdgeType::UNDIRECTED); gv->rearrange(); } }