函数名

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 })