Реализация верстки в C ++ - PullRequest
       32

Реализация верстки в C ++

8 голосов
/ 03 апреля 2009

Вам известна реализация с открытым исходным кодом принудительной компоновки в C ++, используемой для графических интерфейсов? Предпочтительно BSD / MIT / Apache или другая (не GPL) лицензия.

Ответы [ 4 ]

11 голосов
/ 15 апреля 2009

Отличная библиотека Boost.Graph предоставляет широкий спектр алгоритмов, среди которых несколько алгоритмов компоновки. Я бы порекомендовал использовать компоновку пружины Камада-Каваи или принудительно направленную компоновку Фрухтермана-Рейнгольда .

Повышенная лицензия очень разрешительна, так что не беспокойтесь об этом.

9 голосов
/ 03 апреля 2009

Первый результат Google: VTK . Другой переводит меня на vtkGraphLayoutView .

4 голосов
/ 17 апреля 2009

Вы смотрели на neato от graphviz . Это руководство даже подробно описывает использование graphviz в качестве библиотеки. Руководство включает в себя использование алгоритма разметки fdp, который, как представляется, именно то, что вам нужно. Весь графвиз подпадает под Общедоступную лицензию .

2 голосов
/ 15 апреля 2009

OverView

https://www.kitware.com/InfovisWiki/index.php/Main_Page

Есть несколько шагов установки, если вы хотите это приложение, вся информация находится на этой вики. Это приложение, построенное на ВТК. Специфическая функция, которую имеет OverView - это возможность представлять график информации (не обязательно геометрической) в двух измерениях.

Как указывает Dirkgently, ВТК имеет макет принудительно ориентированного графа. Преимущество использования чего-то вроде OverView заключается в том, что вы можете легко создать собственный плагин для OverView, который вы бы сделали для чтения ваших данных и их отображения с использованием стратегии принудительной компоновки.

Если вы не хотите зависеть от OverView, очень просто извлечь код вашего плагина и ссылаться только на OverView, поскольку весь рендеринг обрабатывается вне вашего плагина.

...