void createEdge(Linked_list* linked_list, Point* new_point, Point* marked_point, Point* previous_point) { Edge* edge; Point* second_point; second_point = new_point; if (previous_point != NULL) { if (marked_point != NULL) { second_point = marked_point; } edge = saveEdge(previous_point, second_point); addNode(linked_list, edge); printf("%p\n", previous_point->edges_list); printf("%d %d\n", previous_point->x, previous_point->y); addNode(previous_point->edges_list, edge); //addNode(second_point->edges_list, edge); } else if ((previous_point == NULL) && (mapState.IsCursorOnPoint == true)) { previous_point = marked_point; edge = saveEdge(previous_point, second_point); addNode(linked_list, edge); } }
bool SQLiteDatabaseConnection::saveEdge(const RoutingEdge &edge, const QString& name) { if (!saveEdge(edge)) return false; int rc; if(_saveEdgeStreetnameStatement == NULL) { rc = sqlite3_prepare_v2(_db, "INSERT OR IGNORE INTO EDGES_STREETNAME VALUES (@ID, @STREETNAME);", -1, &_saveEdgeStreetnameStatement, NULL); if (rc != SQLITE_OK) { std::cerr << "Failed to create saveEdgeStreetnameStatement." << " Resultcode: " << rc << std::endl; return false; } } // Parameter an das Statement binden sqlite3_bind_int64(_saveEdgeStreetnameStatement, 1, edge.getID()); sqlite3_bind_text(_saveEdgeStreetnameStatement, 2, name.toLatin1(), -1, SQLITE_TRANSIENT); // Statement ausfuehren rc = sqlite3_step(_saveEdgeStreetnameStatement); if (rc != SQLITE_DONE) { std::cerr << "Failed to execute saveEdgeStreetnameStatement." << " Resultcode: " << rc << std::endl; return false; } rc = sqlite3_reset(_saveEdgeStreetnameStatement); if(rc != SQLITE_OK) { std::cerr << "Failed to reset saveEdgeStreetnameStatement." << " Resultcode: " << rc << std::endl; } return true; }
bool AnimationSaver::saveDifferenceEdges(std::unique_ptr<Frame::Diff>& diff, FileManager& writer) { if (!writer.writeToFile<unsigned int>(diff->edges.size())) { return false; } std::set<std::pair<std::pair<long int, long int>, Frame::Diff::status>>::iterator edgeIter = diff->edges.begin(); while (edgeIter != diff->edges.end()) { if (!saveEdge(edgeIter->first.first, edgeIter->first.second, edgeIter->second,writer)) { return false; } ++edgeIter; } return true; }