函数名
envelope
类型:
envelope(direction, maxHeight, frontBaseHeight, frontAngle)
envelope(direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle)
envelope(direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle, sideBaseHeight, sideAngle)
envelope(direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle, rightBaseHeight, rightAngle, leftBaseHeight, leftAngle)
envelope(direction, maxHeight, baseHeights, angles)
参数
Direction—selector
{正常| world.up }-沿其竖立信封的方向。
maxHeight —float
信封的最大高度(以米为单位)。如果达到此高度,则将体积切开并水平密封。
frontBaseHeight —float
前侧的基础高度(以米为单位)。
frontAngle —float
前侧的倾斜角度,以度为单位。
backBaseHeight —float
背面的基础高度(以米为单位)。
backAngle —float
背面的倾斜角度,以度为单位。
sideBaseHeight —float
左右两侧的基准高度(以米为单位)。
sideAngle —float
左右两侧的倾斜角度,以度为单位。
rightBaseHeight —float
右侧的基准高度,以米为单位。
rightAngle —float
右侧的倾斜角度,以度为单位。
leftBaseHeight —float
左侧的基准高度,以米为单位。
leftAngle —float
左侧的倾斜角度,以度为单位。
baseHeights — float []
基本高度,每条边一个值。
角度— float []
倾斜角度,每边一个值。
Demo
Lot–> setback(10) { street.front : color(0,1,0) FrontYard | remainder : Building } Building–> envelope(normal, 50, 15, 30)
envelope(direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle)
envelope(direction, maxHeight, comp(fe) { street.front = frontBaseHeight | street.back = backBaseHeight }, comp(fe) { street.front = frontAngle | street.back = backAngle | all = 90 })