TransformedBbox 和 LockableBbox 都是BboxBase的子类。TransformedBbox支持使用变换来初始化bbox, LockableBbox可实现锁定bbox的边不随子bbox变化。
2020-04-08 09:46:50 --Edit by yangray
TransformedBbox(BboxBase)
方法:
-
__init__(bbox, transform, **kwargs):
以[bbox]:bbox实例 和 [transform]:变换 初始化自身bbox。(并不执行变化)
- get_points():
执行变换并返回变换后bbox的((x0, y0), (x1, y1)) (满足x0<x1, y0<y1)
LockableBbox(BboxBase)
方法:
-
__init__(bbox, x0=None, y0=None, x1=None, y1=None, **kwargs):
以[bbox]初始化自身bbox,[x0], [y0], [x1], [y1]默认为None,若被赋值则将赋值给自身bbox相应属性并锁定。(被锁定的边不会随着子bbox更改而改变)
- get_points():
返回((x0, y0), (x1, y1))。(若有锁定的边则优先使用该条边锁定的值)
@property 修饰(此处作用为用方法代替属性,实现只读属性)
- locked_x0(), locked_x1(), locked_y0(), locked_y1():
返回锁定的 x0, x1, y0, y1。(若没有设置则返回None)
@property_name.setter修饰 (与property修饰器组合使用,用于修改property_name属性)
- locked_x0(), locked_x1(), locked_y0(), locked_y1():
设置锁定的 x0, x1, y0, y1的值。