closed_segments Function

private pure function closed_segments(p) result(s)

Points along a closed curve, as separate segments: pairs (p(i), p(i+1)).

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: p(:,:)

(3, n) points of the curve

Return Value real(kind=wp), (3,2*size(p,2))


Called by

proc~~closed_segments~~CalledByGraph proc~closed_segments closed_segments proc~make_cone make_cone proc~make_cone->proc~closed_segments proc~make_grid make_grid proc~make_grid->proc~closed_segments proc~make_plane make_plane proc~make_plane->proc~closed_segments proc~cone_build_contents PolyhedralCone%cone_build_contents proc~cone_build_contents->proc~make_cone proc~cone_set_line_color PolyhedralCone%cone_set_line_color proc~cone_set_line_color->proc~make_cone proc~elliptic_set_primary_angles EllipticCone%elliptic_set_primary_angles proc~elliptic_set_primary_angles->proc~make_cone proc~grid_build_contents LatLonGrid%grid_build_contents proc~grid_build_contents->proc~make_grid proc~grid_set_color LatLonGrid%grid_set_color proc~grid_set_color->proc~make_grid proc~grid_set_parameters LatLonGrid%grid_set_parameters proc~grid_set_parameters->proc~make_grid proc~plane_build_contents RadialPlane%plane_build_contents proc~plane_build_contents->proc~make_plane proc~plane_set_line_color RadialPlane%plane_set_line_color proc~plane_set_line_color->proc~make_plane proc~plane_set_parameters RadialPlane%plane_set_parameters proc~plane_set_parameters->proc~make_plane proc~rect_set_primary_angles RectangularCone%rect_set_primary_angles proc~rect_set_primary_angles->proc~make_cone proc~set_cone_color PolyhedralCone%set_cone_color proc~set_cone_color->proc~make_cone proc~set_cone_length PolyhedralCone%set_cone_length proc~set_cone_length->proc~make_cone proc~set_draw_mode PolyhedralCone%set_draw_mode proc~set_draw_mode->proc~make_cone proc~set_line_widths LatLonGrid%set_line_widths proc~set_line_widths->proc~make_grid proc~set_plane_color RadialPlane%set_plane_color proc~set_plane_color->proc~make_plane proc~set_vertex_angles PolyhedralCone%set_vertex_angles proc~set_vertex_angles->proc~make_cone

Source Code

    pure function closed_segments(p) result(s)
        real(wp), intent(in) :: p(:,:)                      !! (3, n) points of the curve
        real(wp) :: s(3, 2 * size(p, 2))
        integer :: i, n
        n = size(p, 2)
        do i = 1, n
            s(:, 2*i-1) = p(:, i)
            s(:, 2*i) = p(:, modulo(i, n) + 1)
        end do
    end function closed_segments