line_buffer Subroutine

public subroutine line_buffer(line, p)

The point buffer of a line or marker node: (xyz and distance, high/low, point).

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in) :: line

line or marker node

real(kind=c_float), intent(out), dimension(:,:,:), pointer :: p

(4, 2, capacity); null if none


Calls

proc~~line_buffer~~CallsGraph proc~line_buffer line_buffer interface~vkf_line_points vkf_line_points proc~line_buffer->interface~vkf_line_points

Called by

proc~~line_buffer~~CalledByGraph proc~line_buffer line_buffer proc~distance~2 LineChain%distance proc~distance~2->proc~line_buffer proc~measure measure proc~measure->proc~line_buffer proc~point LineChain%point proc~point->proc~line_buffer proc~ribbon_trace_end RibbonArtist%ribbon_trace_end proc~ribbon_trace_end->proc~line_buffer proc~slice LineChain%slice proc~slice->proc~line_buffer proc~trace_end CurveArtist%trace_end proc~trace_end->proc~line_buffer proc~update_lod update_lod proc~update_lod->proc~line_buffer proc~update_ribbon_tail RibbonArtist%update_ribbon_tail proc~update_ribbon_tail->proc~line_buffer proc~update_tail CurveArtist%update_tail proc~update_tail->proc~line_buffer proc~drawn_marker MarkerArtist%drawn_marker proc~drawn_marker->proc~point proc~drawn_segment SegmentArtist%drawn_segment proc~drawn_segment->proc~point proc~drawn_segment~2 CustomLineSegments%drawn_segment proc~drawn_segment~2->proc~point proc~write_intermediates write_intermediates proc~write_intermediates->proc~slice proc~written LineChain%written proc~write_intermediates->proc~written proc~write_marker write_marker proc~write_marker->proc~slice proc~write_marker->proc~written proc~write_segments write_segments proc~write_segments->proc~slice proc~write_segments->proc~written proc~write_segments~2 write_segments proc~write_segments~2->proc~slice proc~write_segments~2->proc~written proc~written->proc~measure proc~written->proc~update_lod proc~add_intermediates add_intermediates proc~add_intermediates->proc~write_intermediates proc~marker_pick marker_pick proc~marker_pick->proc~drawn_marker proc~marker_update MarkerArtist%marker_update proc~marker_update->proc~write_marker proc~marker_update->proc~add_intermediates proc~segment_artist_pick segment_artist_pick proc~segment_artist_pick->proc~drawn_segment proc~segment_update SegmentArtist%segment_update proc~segment_update->proc~write_segments proc~segments_late_update CustomLineSegments%segments_late_update proc~segments_late_update->proc~write_segments~2 proc~drawable_pick DrawableTrajectory%drawable_pick proc~drawable_pick->proc~marker_pick proc~drawable_pick->proc~segment_artist_pick

Source Code

    subroutine line_buffer(line, p)
        type(c_ptr), intent(in) :: line                             !! line or marker node
        real(c_float), dimension(:,:,:), pointer, intent(out) :: p  !! (4, 2, capacity); null if none
        integer(c_int) :: capacity
        type(c_ptr) :: data
        p => null()
        data = vkf_line_points(line, capacity)
        if (c_associated(data)) call c_f_pointer(data, p, [4, 2, int(capacity)])
    end subroutine line_buffer