Знаете ли вы о реализации с открытым исходным кодом force-directed layout в C++, используемом для графических интерфейсов? Предпочтительно BSD/MIT/Apache или другая (не GPL) лицензия.Принудительная реализация макета в C++
ответ
Отличный Boost.Graph library предлагает широкий спектр алгоритмов, среди которых несколько алгоритмов компоновки. Я бы рекомендовал использовать либо Kamada-Kawai spring layout, либо Fruchterman-Reingold force-directed layout.
Boost licence очень разрешительный, поэтому не беспокойтесь об этом.
Первый результат Google: VTK. Другой ведет меня к vtkGraphLayoutView.
OverView
https://www.kitware.com/InfovisWiki/index.php/Main_Page
Есть некоторые шаги установки, если вы хотите, чтобы это приложение, всю информацию на этой вики. Это приложение, построенное на ВТК. Специфической функцией OverView является возможность представлять график информации (не обязательно геометрический) в двух измерениях.
Как указано в директиве, VTK имеет схему направленного графика силы. Преимущество использования чего-то вроде OverView заключается в том, что вы можете легко сделать собственный плагин для OverView, который вы бы сделали, чтобы читать ваши данные и отображать их с помощью стратегии направленного макета.
Если вы не хотите зависеть от OverView, очень легко извлечь ваш код подключаемого модуля и ссылаться только на OverView, поскольку весь рендеринг обрабатывается вне вашего плагина.
Вы просматривали neato от graphviz. Это guide даже в деталях для использования graphviz в качестве библиотеки. guide включает в себя алгоритм компоновки fdp, который, как представляется, является именно тем, что вы хотите. Весь graphviz попадает под Common Public License.
- 1. Принудительная реализация макета в Java
- 2. PHP Принудительная реализация интерфейса
- 3. Принудительная реализация toString() в подклассах
- 4. Принудительная реализация/определение функции Объявление
- 5. Java - принудительная реализация реализованного метода
- 6. Принудительная реализация метода во всех классах наследования
- 7. Реализация динамического макета Android
- 8. Java, принудительная реализация метода без знания параметров
- 9. Реализация макета администратора NopCommerce?
- 10. Принудительная реализация REST-сервиса для сервлета
- 11. Реализация этого макета
- 12. реализация графического макета
- 13. принудительная реализация свойства на производных классах
- 14. Реализация макета, такая как Eclipse
- 15. Реализация макета для Dojo MVC
- 16. Принудительная принудительная остановка приложения
- 17. Реализация макета плитки с компонентом
- 18. Реализация правила лексического макета Haskell
- 19. C# Принудительная Неиспользованные DataGridView клетки
- 20. Вложенная реализация макета в Zend Framework 2
- 21. принудительная строка в Fixnum
- 22. Внедрение/принудительная арифметика обхода в C
- 23. Принудительная необходимость оператора dynamic_cast в C++
- 24. Java - принудительная реализация метода для каждого дочернего объекта абстрактного класса
- 25. Принудительная потеря пакетов
- 26. Реализация автоматического макета в уже разработанном приложении в Xcode 6
- 27. Реализация макета RTL для листов свойств (MFC)
- 28. Реализация многоколоночного макета с независимыми высотами строк
- 29. Android - Реализация пользовательского макета с вводом текста
- 30. Принудительная выплата PayFlow
Почему это запрещено? Это Open Source, бесплатно и имеет лицензию BSD. – dirkgently
+1 потому что анонимные голоса меня огорчают. –
Используя VTK, я думаю, что это действительно хорошее решение вашей проблемы. Кроме того, это полностью перекрестная платформа Linux/Mac/Windows. И он имеет привязку для Python/Java и tcl/tk, если они вам понадобятся. –