API Docs for: TWaver HTML5 5.7.5
Show:

twaver.layout.AutoLayouter Class

自动布局对象

给类可对指定网元容器的网元进行自动布局,使网元按一定的规则自动排列,预定义的布局类型有如下几种:

round 圆形布局 symmetry 对称布局 hierarchic 层次布局 topbottom 从上到下布局 bottomtop 从下到上布局 rightleft 从右到左布局 leftright 从左到右布局

Constructor

twaver.layout.AutoLayouter

(
  • elementBox
)
twaver.layout.AutoLayouter

Parameters:

Example:

var autoLayouter = new twaver.layout.AutoLayouter(box); autoLayouter.doLayout('round');

Methods

twaver.layout.AutoLayouter.doLayout

(
  • type
  • [finishFunction]
)
Boolean

对拓扑按指定布局类型布局。 布局类型有如下几种: round 圆形布局 symmetry 对称布局 hierarchic 层次布局 topbottom 从上到下布局 bottomtop 从下到上布局 rightleft 从右到左布局 leftright 从左到右布局

Parameters:

  • type String

    布局类型

  • [finishFunction] Function optional

    布局完后,执行的回调函数,可选,默认值为null

Returns:

Boolean:

如果布局成功,则返回true,否者返回false

Example:

var autoLayouter = new twaver.layout.AutoLayouter(network); autoLayouter.doLayout('round', function(){ network.zoomOverview(); });

twaver.layout.AutoLayouter.doLayoutImpl

(
  • type
  • [finishFunction]
  • [result]
)
Boolean

调用doLayout或getLayoutResult方法时,内部调用此方法,用指定布局类型对拓扑布局,或者根据指定布局类型获取布局后网元新的中心点 布局类型有如下几种: round 圆形布局 symmetry 对称布局 hierarchic 层次布局 topbottom 从上到下布局 bottomtop 从下到上布局 rightleft 从右到左布局 leftright 从左到右布局

Parameters:

  • type String

    布局类型

  • [finishFunction] Function optional

    布局完后,执行的回调函数,可选,默认值为null

  • [result] Object optional

    空对象,用于保存布局结果(key为网元id,值为网元的新中心位置),可选,默认值为null

Returns:

Boolean:

如果布局成功,则返回true,否者返回false

twaver.layout.AutoLayouter.getClassName

() String

返回字符串类名

Returns:

String:

返回类名

twaver.layout.AutoLayouter.getDimension

(
  • node
)
Object

获取指定节点的大小,默认如果accountAttachments为true则返回网元视图的viewRect大小,否则返回网元的rect大小

Parameters:

Returns:

Object:

返回指定节点的大小,值为包含width和height属性的Object对象

twaver.layout.AutoLayouter.getElementBox

() twaver.ElementBox

获取网元容器

Returns:

twaver.ElementBox:

返回网元容器

twaver.layout.AutoLayouter.getElements

() twaver.List

获取参与自动布局的网元,默认不可见,不可移动的网元不参与布局

Returns:

twaver.List:

返回参与自动布局的网元

twaver.layout.AutoLayouter.getExplicitXOffset

() Number

获取x轴偏移量,布局后,所有网元x坐标将偏移指定像素值,默认值为50

Returns:

Number:

返回x轴偏移量

twaver.layout.AutoLayouter.getExplicitYOffset

() Number

获取y轴偏移量,布局后,所有网元y坐标将偏移指定像素值,默认值为50

Returns:

Number:

返回y轴偏移量

twaver.layout.AutoLayouter.getGroupLayoutType

(
  • group
)
String

获取指定组的布局类型, 默认为自动布局的布局类型, 可以重写此方法对指定的组用特殊的布局类型布局

Parameters:

Returns:

String:

返回指定组的布局类型

twaver.layout.AutoLayouter.getLayoutResult

(
  • type
)
Object

根据指定布局类型,获取布局后网元新的中心位置 布局类型有如下几种: round 圆形布局 symmetry 对称布局 hierarchic 层次布局 topbottom 从上到下布局 bottomtop 从下到上布局 rightleft 从右到左布局 leftright 从左到右布局

Parameters:

  • type String

    布局类型

Returns:

Object:

返回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:

Number:

返回网元之间的排斥系数

twaver.layout.AutoLayouter.getType

() String

获取布局类型

Returns:

String:

返回布局类型

twaver.layout.AutoLayouter.isAnimate

() Boolean

获取自动布局是否有动画效果,默认值为true

Returns:

Boolean:

返回自动布局是否有动画效果

twaver.layout.AutoLayouter.isExpandGroup

() Boolean

获取自动布局是否展开组,默认值为false

Returns:

Boolean:

返回自动布局是否展开组

twaver.layout.AutoLayouter.isMovable

(
  • element
)
Boolean

判断指定网元是否可移动, 也即是否参与自动布局

Parameters:

Returns:

Boolean:

如果网元可移动, 也即参与自动布局, 则返回true, 否则返回false

twaver.layout.AutoLayouter.isVisible

(
  • element
)
Boolean

判断指定网元是否可见, 不可见的网元不参与自动布局

Parameters:

Returns:

Boolean:

如果指定网元可见, 则返回true, 否则返回false

twaver.layout.AutoLayouter.setAnimate

(
  • value
)

设置自动布局是否有动画效果,默认值为true

Parameters:

  • value Boolean

    是否有动画效果

twaver.layout.AutoLayouter.setExpandGroup

(
  • value
)

设置自动布局是否展开组,默认值为false

Parameters:

  • value Boolean

    返回自动布局是否展开组

twaver.layout.AutoLayouter.setExplicitXOffset

(
  • value
)

设置x轴偏移量,布局后,所有网元x坐标将偏移指定像素值,默认值为50

Parameters:

  • value Number

    x轴偏移量

twaver.layout.AutoLayouter.setExplicitYOffset

(
  • value
)

设置y轴偏移量,布局后,所有网元y坐标将偏移指定像素值,默认值为50

Parameters:

  • value Number

    y轴偏移量

twaver.layout.AutoLayouter.setRepulsion

(
  • value
)

设置网元之间的排斥系数,默认值为1,排斥系数越大,布局后网元之间的间距越大,反之越小

Parameters:

  • value Number

    网元之间的排斥系数