Я использую Graphviz как библиотеку (C++). Мне нужен Graphviz для вычисления координат для моих узлов и соответствующих ребер. Я делаю рендеринг (т. Е. Не используя рендереры Graphviz). Мои узлы представляют собой прямоугольники с определенной шириной и высотой (в пикселях).Вопросы о API Graphviz (Graphviz как библиотека)
Я создаю график с agopen. Затем я создаю узлы с agnode и краями с в возрасте. Тогда для вычисления координат следует, насколько мне известно, использовать gvLayout.
Теперь мне нужно знать:
Как задать ширину и высоту узлов прямоугольники, перед использованием gvLayout?
gvLayout, как получить рассчитанные координаты для узлов и сплайнов для ребер?
Как удалить узел (и соответствующие ребра) или ребра из графика (Agraph_t), это можно сделать вообще?
Когда я создаю узлы и ребра с agnode и agedge, мне не нужно, чтобы освободить/удалить их для очистки (когда я закончу с графиком)? Или agclose обрабатывать это неявно?
Важно: Я не хочу использовать текстовый интерфейс (т.е. получить параметры в виде текста), я хочу, чтобы получить доступ указанные параметры (ширину и высоту узла, шлицы края, координаты узла ...) непосредственно как переменные данных.
Спасибо за ваш ответ :) Но ... Q1 - agset и agsafeset задают параметры как текстовые значения. Как я уже говорил, мне нужно другое решение. Q2 -/* что-то делать с n */хорошо, что делать (и как это сделать) был мой вопрос. Q3 - Удалены ли ребра при удалении одного из соответствующих узлов? –