GitHub開源推薦 | 節(jié)點編輯器

Github 開源推薦
專注分享 GitHub 上有趣、好玩的開源項目,以幫助大家提高編程技巧,找到編程樂趣。
如果你對開源感興趣,想和大家分享一些優(yōu)質項目,隨時歡迎投稿(微信號:iwaleon)。
NodeEditor 是一個可視化的數(shù)據(jù)流編輯工具,基于 Qt 圖形視圖框架。Nodes 表示具有特定輸入/輸出的算法,Connections 將數(shù)據(jù)從第一個節(jié)點的輸出(源)傳輸?shù)降诙€節(jié)點的輸入(接收器)。
Github 地址:https://github.com/paceholder/nodeeditor
Star:1.4K+
基本原理:客戶端定義模型并將其注冊到數(shù)據(jù)模型注冊表中,隨后的工作由 DataModels 和 Node 中發(fā)生的事件驅動。在任何新的輸入數(shù)據(jù)到達時會觸發(fā)模型計算,計算結果將傳播到輸出連接, 每個新連接都會獲取可用數(shù)據(jù)并進一步傳播。
1
樣式效果
NodeEditor 中附帶了幾個示例,如果想查看效果,可以直接運行它們。比如計算器:

也有一些項目已經(jīng)使用了 NodeEditor,像 Spkgen - SPARK 粒子引擎編輯器:

2
源碼編譯
下載 NodeEditor 源碼,打開 CMakeLists.txt 作為項目。
由于其中的單元測試使用了 Catch2 庫,所以需要安裝它;如果不想下載,可在“構建設置”中禁用掉 BUILD_TESTING。

執(zhí)行 CMake -> 構建,便會生成相應的庫和示例程序:

如果想做節(jié)點編輯器或者是流程圖,這個庫非常有參考價值。
·················· END ··················
關注后回復「1024」,獲取海量學習資源

