2015-07-24 3 views
0

При использовании mxCircleLayout можно указать радиус. Кажется, однако, что радиус влияет только на график, где радиус БОЛЬШЕ, чем значение по умолчанию, основанное на границах графа. Глядя на исходный код (JGraphX ​​3.3.1.1) для mxCircleLayout, линия 230 имеет:В JGraphX ​​правильный радиус обрабатывается в mxCircleLayout?

 double r = Math.max(vertexCount * max/Math.PI, radius); 

, где «R» используется в качестве радиуса для компоновки окружности. Не должно быть

 double r = Math.min(vertexCount * max/Math.PI, radius); 

Если я хочу иметь меньший радиус? Возможно, я не понимаю, что означает «радиус», но для круга он должен иметь естественный смысл. И изменение линии дает мне (меньший) круг, который я хочу.

ответ

0

max Используется, чтобы убедиться, что вершины не перекрываются. Смотрите комментарий в начале execute заявления:

// Moves the vertices to build a circle. Makes sure the 
    // radius is large enough for the vertices to not 
    // overlap 

Однако это, кажется, используют границы наибольшей вершины, что не очень полезно, если вершины имеют различные размеры, где максимальное намного больше среднее.

 Смежные вопросы

  • Нет связанных вопросов^_^