twaver.layout.AutoLayouter Class
自动布局对象
给类可对指定网元容器的网元进行自动布局,使网元按一定的规则自动排列,预定义的布局类型有如下几种:
round 圆形布局 symmetry 对称布局 hierarchic 层次布局 topbottom 从上到下布局 bottomtop 从下到上布局 rightleft 从右到左布局 leftright 从左到右布局
Constructor
twaver.layout.AutoLayouter
-
elementBox
Parameters:
-
elementBoxtwaver.ElementBox网元容器
Returns:
Example:
var autoLayouter = new twaver.layout.AutoLayouter(box); autoLayouter.doLayout('round');
Item Index
Methods
- twaver.layout.AutoLayouter.doLayout
- twaver.layout.AutoLayouter.doLayoutImpl
- twaver.layout.AutoLayouter.getClassName
- twaver.layout.AutoLayouter.getDimension
- twaver.layout.AutoLayouter.getElementBox
- twaver.layout.AutoLayouter.getElements
- twaver.layout.AutoLayouter.getExplicitXOffset
- twaver.layout.AutoLayouter.getExplicitYOffset
- twaver.layout.AutoLayouter.getGroupLayoutType
- twaver.layout.AutoLayouter.getLayoutResult
- twaver.layout.AutoLayouter.getRepulsion
- twaver.layout.AutoLayouter.getType
- twaver.layout.AutoLayouter.isAnimate
- twaver.layout.AutoLayouter.isExpandGroup
- twaver.layout.AutoLayouter.isMovable
- twaver.layout.AutoLayouter.isVisible
- twaver.layout.AutoLayouter.setAnimate
- twaver.layout.AutoLayouter.setExpandGroup
- twaver.layout.AutoLayouter.setExplicitXOffset
- twaver.layout.AutoLayouter.setExplicitYOffset
- twaver.layout.AutoLayouter.setRepulsion
Methods
twaver.layout.AutoLayouter.doLayout
-
type -
[finishFunction]
对拓扑按指定布局类型布局。 布局类型有如下几种: round 圆形布局 symmetry 对称布局 hierarchic 层次布局 topbottom 从上到下布局 bottomtop 从下到上布局 rightleft 从右到左布局 leftright 从左到右布局
Parameters:
-
typeString布局类型
-
[finishFunction]Function optional布局完后,执行的回调函数,可选,默认值为null
Returns:
如果布局成功,则返回true,否者返回false
Example:
var autoLayouter = new twaver.layout.AutoLayouter(network); autoLayouter.doLayout('round', function(){ network.zoomOverview(); });
twaver.layout.AutoLayouter.doLayoutImpl
-
type -
[finishFunction] -
[result]
调用doLayout或getLayoutResult方法时,内部调用此方法,用指定布局类型对拓扑布局,或者根据指定布局类型获取布局后网元新的中心点 布局类型有如下几种: round 圆形布局 symmetry 对称布局 hierarchic 层次布局 topbottom 从上到下布局 bottomtop 从下到上布局 rightleft 从右到左布局 leftright 从左到右布局
Parameters:
-
typeString布局类型
-
[finishFunction]Function optional布局完后,执行的回调函数,可选,默认值为null
-
[result]Object optional空对象,用于保存布局结果(key为网元id,值为网元的新中心位置),可选,默认值为null
Returns:
如果布局成功,则返回true,否者返回false
twaver.layout.AutoLayouter.getClassName
()
String
返回字符串类名
Returns:
返回类名
twaver.layout.AutoLayouter.getDimension
-
node
获取指定节点的大小,默认如果accountAttachments为true则返回网元视图的viewRect大小,否则返回网元的rect大小
Parameters:
-
nodetwaver.Node节点
Returns:
返回指定节点的大小,值为包含width和height属性的Object对象
twaver.layout.AutoLayouter.getElementBox
()
twaver.ElementBox
获取网元容器
Returns:
返回网元容器
twaver.layout.AutoLayouter.getElements
()
twaver.List
获取参与自动布局的网元,默认不可见,不可移动的网元不参与布局
Returns:
返回参与自动布局的网元
twaver.layout.AutoLayouter.getExplicitXOffset
()
Number
获取x轴偏移量,布局后,所有网元x坐标将偏移指定像素值,默认值为50
Returns:
返回x轴偏移量
twaver.layout.AutoLayouter.getExplicitYOffset
()
Number
获取y轴偏移量,布局后,所有网元y坐标将偏移指定像素值,默认值为50
Returns:
返回y轴偏移量
twaver.layout.AutoLayouter.getGroupLayoutType
-
group
获取指定组的布局类型, 默认为自动布局的布局类型, 可以重写此方法对指定的组用特殊的布局类型布局
Parameters:
-
grouptwaver.Group组
Returns:
返回指定组的布局类型
twaver.layout.AutoLayouter.getLayoutResult
-
type
根据指定布局类型,获取布局后网元新的中心位置 布局类型有如下几种: round 圆形布局 symmetry 对称布局 hierarchic 层次布局 topbottom 从上到下布局 bottomtop 从下到上布局 rightleft 从右到左布局 leftright 从左到右布局
Parameters:
-
typeString布局类型
Returns:
返回key为网元id,值为新中心位置的对象
Example:
var autoLayouter = new twaver.layout.AutoLayouter(network); var result = autoLayouter.getLayoutResult('round'); for(var id in result){ console.log(id, result[id].x, result[id].y); }
twaver.layout.AutoLayouter.getRepulsion
()
Number
获取网元之间的排斥系数,默认值为1,排斥系数越大,布局后网元之间的间距越大,反之越小
Returns:
返回网元之间的排斥系数
twaver.layout.AutoLayouter.getType
()
String
获取布局类型
Returns:
返回布局类型
twaver.layout.AutoLayouter.isAnimate
()
Boolean
获取自动布局是否有动画效果,默认值为true
Returns:
返回自动布局是否有动画效果
twaver.layout.AutoLayouter.isExpandGroup
()
Boolean
获取自动布局是否展开组,默认值为false
Returns:
返回自动布局是否展开组
twaver.layout.AutoLayouter.isMovable
-
element
判断指定网元是否可移动, 也即是否参与自动布局
Parameters:
-
elementtwaver.Element网元
Returns:
如果网元可移动, 也即参与自动布局, 则返回true, 否则返回false
twaver.layout.AutoLayouter.isVisible
-
element
判断指定网元是否可见, 不可见的网元不参与自动布局
Parameters:
-
elementtwaver.Element网元
Returns:
如果指定网元可见, 则返回true, 否则返回false
twaver.layout.AutoLayouter.setAnimate
-
value
设置自动布局是否有动画效果,默认值为true
Parameters:
-
valueBoolean是否有动画效果
twaver.layout.AutoLayouter.setExpandGroup
-
value
设置自动布局是否展开组,默认值为false
Parameters:
-
valueBoolean返回自动布局是否展开组
twaver.layout.AutoLayouter.setExplicitXOffset
-
value
设置x轴偏移量,布局后,所有网元x坐标将偏移指定像素值,默认值为50
Parameters:
-
valueNumberx轴偏移量
twaver.layout.AutoLayouter.setExplicitYOffset
-
value
设置y轴偏移量,布局后,所有网元y坐标将偏移指定像素值,默认值为50
Parameters:
-
valueNumbery轴偏移量
twaver.layout.AutoLayouter.setRepulsion
-
value
设置网元之间的排斥系数,默认值为1,排斥系数越大,布局后网元之间的间距越大,反之越小
Parameters:
-
valueNumber网元之间的排斥系数
