int main(int argc, char **argv) { // A QApplication must always be declared at the beginning of the main function if you intend to // use the tulip-gui library // This must be done before calling tlp::initTulipSoftware() QApplication app(argc, argv); // Initialize the library and load all plugins tlp::initTulipSoftware(); Graph *g = nullptr; if (QApplication::arguments().size() == 2) { // Load the file passed as first argument into a graph. // This method will select the default Tulip algorithm plugin (TLP) QString filename = QApplication::arguments()[1]; if (!((filename.endsWith(".tlp")) || (filename.endsWith(".tlp.gz")))) { cout << "File " << QStringToTlpString(filename) << " not compatible. Use a tlp file or a tlp.gz file" << endl; exit(EXIT_FAILURE); } g = tlp::loadGraph(QStringToTlpString(filename)); } else { // If no arguments were given to the command, create a complete tree of depth 5 // and degree 2 for demo purpose g = createCompleteTree(5, 2); // Set some visual properties in order to visualize the tree setTreeVisualProperties(g); } // Creates the main widget that will display our graph GlMainWidget *mainWidget = new GlMainWidget(nullptr); // Adds a layer to the scene GlLayer *mainLayer = mainWidget->getScene()->createLayer("Main"); // Adds the graph to this layer mainLayer->addGraph(g, "graph"); // Sets some rendering parameters on the graph to visualize setGraphRenderingParameters(mainWidget->getScene()->getGlGraphComposite()); // Display the widget mainWidget->show(); // Flush event loop in order to let paint events pass through in order for the scene to be // initialized. QApplication::processEvents(); // Center the camera and draw the graph mainWidget->centerScene(); mainWidget->draw(); // Adds Zoom and pan navigation to the widget mainWidget->installEventFilter(new MouseNKeysNavigator); return app.exec(); }
int main(int argc, char **argv) { /* A QApplication must always be declared at the beginning of the main function in order for Tulip to work. This must be done before calling tlp::initTulipSoftware() */ QApplication app(argc, argv); /* Initialize the library, load plugins and set application runtime pathes accordingly to the host operating system This method should always be called if you intend to use plugins in your application. */ tlp::initTulipSoftware(); /* Load the file passed as first argument into a graph. This method will select the default Tulip algorithm plugin (TLP) */ // Graph* g = tlp::loadGraph(argv[1]); Graph *g = newGraph(); TulipProject *_project = TulipProject::openProject(QString::fromLatin1(argv[1])); // std::cout << QString::fromLatin1(argv[1]) << std::endl; if (_project->exists("/data/graphs/0/graph.tlp")) { std::cout << "pouet pouet" << std::endl; DataSet data; data.set<std::string>("file::filename", QStringToTlpString(_project->toAbsolutePath("/data/graphs/0/graph.tlp"))); g = tlp::importGraph("TLP Import", data); std::cout << g << std::endl; } // Creates the main widget that will display our graph GlMainWidget *mainWidget = new GlMainWidget(); // Adds a layer to the scene GlLayer *mainLayer = mainWidget->getScene()->createLayer("Main"); // Adds the graph to this layer mainLayer->addGraph(g, "graph"); // Display the widget mainWidget->show(); // Flush event loop in order to let paint events pass through in order for the scene to be // initialized. QApplication::processEvents(); // Center the camera and draw the graph mainWidget->centerScene(); mainWidget->draw(); // Adds Zoom and pan navigation to the widget mainWidget->installEventFilter(new MouseNKeysNavigator); return app.exec(); }