ht.layout.AutoLayout(modelOrView, options)

new AutoLayout(modelOrView, options)

自动布局类,提供2D的自动布局,即3D的xz面的布局
自动布局不是银弹,复杂的情况还是需要手工布局,或业务上做必要的妥协,甚至根据业务编写特殊的排布算法才能达到最佳效果。
使用徐引入 ht-autolayout.js

Parameters:
Name Type Attributes Description
modelOrView ht.graph.GraphView | ht.graph3d.Graph3dView | ht.DataModel

拓扑组件或者数据容器

options Object <optional>

选项, 目前选项有:gap布局间距、hgap横向布局间距、vgap纵向布局间距。

Methods

getDuration() → {Number}

获取动画周期毫秒数

Returns:
Number

getEasing() → {function}

获取动画缓动函数

Returns:
function

getInterval() → {Number}

获取帧间隔毫秒数

Returns:
Number

getNodeSize(node)

自动布局时根据getNodeSize(node)函数的返回值,如{width: 100, height: 100}结构决定图元大小,可重载自定义

Parameters:
Name Type Description
node ht.Data

节点

getOffsetX() → {Number}

获取布局横偏移

Returns:
Number

getOffsetY() → {Number}

获取布局纵偏移

Returns:
Number

getType() → {String}

获取当前布局类型

Returns:
String -

circular|symmetric|towardnorth|towardsouth|towardeast|towardwest|hierarchical

isAnimate() → {Boolean}

获取是否使用动画

Returns:
Boolean

layout(type, finishFunc)

Parameters:
Name Type Attributes Description
type String

布局类型,可为circular|symmetric|towardnorth|towardsouth|towardeast|towardwest|hierarchical七种自动布局类型

finishFunc function <optional>

布局结束的回调函数

setAnimate(animate)

设置是否使用动画

Parameters:
Name Type Description
animate Boolean

是否使用动画

setDuration(duration)

设置动画周期毫秒数控制Time-Based的动画效果

Parameters:
Name Type Description
duration Number

动画周期毫秒数

setEasing(easing)

设置缓动函数

Parameters:
Name Type Description
easing function

缓动函数

setInterval(interval)

设置帧间隔毫秒数控制Frame-Based的动画效果

Parameters:
Name Type Description
interval Number

帧间隔毫秒数

setOffsetX(easing)

设置横偏移值

Parameters:
Name Type Description
easing function

横偏移值

setOffsetY(offsetY)

设置纵偏移值

Parameters:
Name Type Description
offsetY function

纵偏移值