码迷,mamicode.com
首页 > 其他好文 > 详细

7月23日

时间:2015-01-20 17:39:23      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

搞清楚平面布局类的各个参数

orthoLayout

此类的getBoundingBox()函数可以返回包围盒

separationcOverhangoptionsmargin结果
200.4
00
技术分享 

10.400技术分享 

可见separation控制线之间的距离

此值不能是0

20 
1000技术分享 
cOverhang似乎没什么影响,但是它的值也不能是0
200.40100技术分享 
margin对结果没有什么影响

当结果有多个连通分量时,margin控制不同连通分量之间的距离
200.410技术分享 

200.420技术分享 
发生了一些变化,但不知道有什么意义
200.440技术分享 
发生了一些变化,但不知道
有什么意义


一些参数的意义

pageRatio 放置不同的连通分量时,最终结果的要求宽高比,一般为1

margin 当结果有多个连通分量时,控制不同连通分量之间的距离


布局聚类图的代码


ClusterGraph   CG(G);

SList<node>     c1List, c2List, c3List;

for (int i = 0; i < nNodes/3; ++i)

c1List.pushBack(nodeArray[i]);

for (int i = nNodes/3; i < nNodes/3*2; ++i)

c2List.pushBack(nodeArray[i]);

for (int i = nNodes/3*2; i < nNodes; ++i)

c3List.pushBack(nodeArray[i]);

cluster c1 = CG.createCluster(c1List);

cluster c2 = CG.createCluster(c2List);

cluster c3 = CG.createCluster(c3List);

ClusterGraphAttributes   CGA(CG, 

ClusterGraphAttributes::nodeId|

ClusterGraphAttributes::nodeGraphics|

ClusterGraphAttributes::edgeGraphics);

CGA.setAllWidth(20);

CGA.setAllHeight(20);

CGA.clusterLineWidth(c1) = 5;

CGA.clusterLineWidth(c2) = 5;

CGA.clusterLineWidth(c3) = 5;


ClusterPlanarizationLayout cpl;

ClusterOrthoLayout* col = new ClusterOrthoLayout;

col->separation(10);

col->margin(30);

cpl.setPlanarLayouter(col);

cpl.call (G, CGA, CG,false);

结果如下:

技术分享 





7月23日

标签:

原文地址:http://www.cnblogs.com/dydx/p/4236159.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!