class DMJ_TrapShapeSpiral(common.ulb:TrapShape) {
public:
import "common.ulb"
func DMJ_TrapShapeSpiral(Generic pparent)
TrapShape.TrapShape(pparent)
endfunc
float func Iterate(complex pz)
TrapShape.Iterate(pz)
float d = 1/cabs(pz) * @p_tightness
complex r = (0,1) ^ d
complex zt = pz * r
return atan(abs(imag(zt)/real(zt)))
endfunc
default:
title = "Spiral"
int param v_dmj_trapshapespiral
caption = "Version (DMJ_TrapShapeSpiral)"
default = 100
hint = "This version parameter is used to detect when a change has been made to the formula that is incompatible with the previous version. When that happens, this field will reflect the old version number to alert you to the fact that an alternate rendering is being used."
visible = @v_dmj_trapshapespiral < 100
endparam
float param p_tightness
caption = "Tightness"
default = 4.0
hint = "Sets how 'tight' the spiral is. Higher values will place loops of the spiral closer together."
endparam
}