eval_revolution Function

private pure elemental function eval_revolution(this, pos) result(res)

Evaluation function for Revolution modifier.

Type Bound

revolution

Arguments

Type IntentOptional Attributes Name
class(revolution), intent(in) :: this
type(vector), intent(in) :: pos

Position to evaluate the modifier at

Return Value real(kind=wp)


Source Code

    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