Evaluation function for Revolution modifier.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(revolution), | intent(in) | :: | this | |||
type(vector), | intent(in) | :: | pos |
Position to evaluate the modifier at |
pure elemental function eval_revolution(this, pos) result(res) !! Evaluation function for Revolution modifier. class(revolution), intent(in) :: this !> Position to evaluate the modifier at type(vector), intent(IN) :: pos real(kind=wp) :: res type(vector) :: pxz, q pxz = vector(pos%x, pos%z, 0._wp) q = vector(length(pxz) - this%o, pos%y, 0._wp) res = this%prim%evaluate(q) end function eval_revolution