All Projects → paceholder → Nodeeditor

paceholder / Nodeeditor

Licence: bsd-3-clause
Qt Node Editor. Dataflow programming framework

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to Nodeeditor

Quickqanava
C++14 network/graph visualization library / Qt node editor.
Stars: ✭ 611 (-64.76%)
Mutual labels:  graph, dataflow-programming, qt5
Ugene
UGENE is free open-source cross-platform bioinformatics software
Stars: ✭ 112 (-93.54%)
Mutual labels:  qt5
Hydra
A simple customizable cross-platform IDE
Stars: ✭ 109 (-93.71%)
Mutual labels:  qt5
Qpdf
PDF viewer widget for Qt
Stars: ✭ 111 (-93.6%)
Mutual labels:  qt5
Handwriter
A smart program to convert digital document to hand-written document
Stars: ✭ 108 (-93.77%)
Mutual labels:  qt5
Open Graph
Library that assists in building Open Graph meta tags
Stars: ✭ 112 (-93.54%)
Mutual labels:  graph
Bipolar
Free your data from Polar FlowSync
Stars: ✭ 108 (-93.77%)
Mutual labels:  qt5
Qmlnotify
Awesome notification server in QML
Stars: ✭ 114 (-93.43%)
Mutual labels:  qt5
Sielo Legacy
An open source browser made with Qt and WebEngine
Stars: ✭ 113 (-93.48%)
Mutual labels:  qt5
Misp Maltego
Set of Maltego transforms to inferface with a MISP Threat Sharing instance, and also to explore the whole MITRE ATT&CK dataset.
Stars: ✭ 112 (-93.54%)
Mutual labels:  graph
Ni Pyt
Materiály k předmětu NI-PYT na FIT ČVUT
Stars: ✭ 112 (-93.54%)
Mutual labels:  qt5
Android Ratingreviews
Simple star rating system bars, a view similar to the ones seen on Google Playstore. ⭐🌟✨
Stars: ✭ 110 (-93.66%)
Mutual labels:  graph
Autoannotationtool
A label tool aim to reduce semantic segmentation label time, rectangle and polygon annotation is supported
Stars: ✭ 113 (-93.48%)
Mutual labels:  qt5
Vue Plotly
A vue wrapper for plotly.js chart library
Stars: ✭ 109 (-93.71%)
Mutual labels:  graph
Bio4j
Bio4j abstract model and general entry point to the project
Stars: ✭ 113 (-93.48%)
Mutual labels:  graph
Diagrammer
Graph and network visualization using tabular data in R.
Stars: ✭ 1,497 (-13.67%)
Mutual labels:  graph
Graphquery
GraphQuery is a query language and execution engine tied to any backend service.
Stars: ✭ 112 (-93.54%)
Mutual labels:  graph
Qhttpengine
HTTP server for Qt applications
Stars: ✭ 112 (-93.54%)
Mutual labels:  qt5
Pi Temp
Web server using a Raspberry Pi and DHT22 sensor to graph the humidity and temperature in my apartment over time.
Stars: ✭ 114 (-93.43%)
Mutual labels:  graph
Galacteek
Browser for the distributed web
Stars: ✭ 114 (-93.43%)
Mutual labels:  qt5

Purpose

NodeEditor is conceived as a general-purpose Qt-based library aimed at graph-controlled data processing. Nodes represent algorithms with certain inputs and outputs. Connections transfer data from the output (source) of the first node to the input (sink) of the second one.

NodeEditor framework is a Visual Dataflow Programming tool. A library client defines models and registers them in the data model registry. Further work is driven by events taking place in DataModels and Nodes. The model computing is triggered upon arriving of any new input data. The computed result is propagated to the output connections. Each new connection fetches available data and propagates is further.

Each change in the source node is immediately propagated through all the connections updating the whole graph.

Platforms

  • OSX (Apple Clang - LLVM 3.6), Linux (x64, gcc-7.0, clang-7): Build Status
  • Windows (Win32, x64, msvc2017, MinGW 5.3): Build status

Dependencies

  • Qt >5.2
  • CMake 3.2
  • Catch2

Current state

  • Model-based nodes
  • Automatic data propagation
  • Datatype-aware connections
  • Embedded Qt widgets
  • One-output to many-input connections
  • JSON-based interface styles
  • Saving scenes to JSON files

Building

Linux

git clone [email protected]:paceholder/nodeeditor.git
cd nodeeditor
mkdir build
cd build
cmake ..
make -j && make install

Qt Creator

  1. Open CMakeLists.txt as project.
  2. If you don't have the Catch2 library installed, go to Build Settings, disable the checkbox BUILD_TESTING.
  3. Build -> Run CMake
  4. Build -> Build All
  5. Click the button Run

Roadmap

  1. Extend set of examples
  2. GUI: fix scrolling for scene view window scrolling
  3. Implement grouping nodes
  4. Split graph and GUI parts
  5. Build data propagation on top of the graph code

Citing

Dmitry Pinaev et al, Qt5 Node Editor, (2017), GitHub repository, https://github.com/paceholder/nodeeditor

BibTeX

@misc{Pinaev2017,
  author = {Dmitry Pinaev et al},
  title = {Qt5 Node Editor},
  year = {2017},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/paceholder/nodeeditor}},
  commit = {1d1757d09b03cea0e4921bc19659465fe6e65b9b}
}

Youtube video:

Youtube demonstration

Now with styles

Styles

Buy me a beer

Donate

Showcase

Chigraph

Chigraph is a programming language for beginners that is unique in that it is an intuitive flow graph:

chigraph screenshot

It features easy bindings to C/C++, package management, and a cool interface.

Spkgen particle engine editor

spkgen screenshot

Spkgen is an editor for the SPARK particles engine using a node-based interface to create particles effects for games.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].