segment_build Subroutine

private subroutine segment_build(self, viewer, group)

Create the chain of line buffers (sized for the segments now) under group.

Type Bound

SegmentArtist

Arguments

Type IntentOptional Attributes Name
class(SegmentArtist), intent(inout) :: self
type(c_ptr), intent(in) :: viewer

compiles nodes made later (may be null); the parent group

type(c_ptr), intent(in) :: group

compiles nodes made later (may be null); the parent group


Calls

proc~~segment_build~~CallsGraph proc~segment_build SegmentArtist%segment_build proc~init LineChain%init proc~segment_build->proc~init proc~reserve LineChain%reserve proc~segment_build->proc~reserve proc~segment_count segment_count proc~segment_build->proc~segment_count proc~set_compile LineChain%set_compile proc~segment_build->proc~set_compile proc~set_pattern LineChain%set_pattern proc~segment_build->proc~set_pattern proc~set_style LineChain%set_style proc~segment_build->proc~set_style interface~vkf_compile_node vkf_compile_node proc~reserve->interface~vkf_compile_node interface~vkf_line_create vkf_line_create proc~reserve->interface~vkf_line_create interface~vkf_line_create_colored vkf_line_create_colored proc~reserve->interface~vkf_line_create_colored interface~vkf_marker_create vkf_marker_create proc~reserve->interface~vkf_marker_create interface~vkf_node_add_child vkf_node_add_child proc~reserve->interface~vkf_node_add_child interface~vkf_ribbon_create vkf_ribbon_create proc~reserve->interface~vkf_ribbon_create proc~apply_style apply_style proc~reserve->proc~apply_style proc~check_status check_status proc~reserve->proc~check_status proc~line_set_segments line_set_segments proc~reserve->proc~line_set_segments proc~move_chunks move_chunks proc~reserve->proc~move_chunks proc~source_points source_points proc~segment_count->proc~source_points proc~set_pattern->proc~apply_style proc~set_style->proc~apply_style proc~apply_style->proc~check_status interface~vkf_line_set_dash_mode vkf_line_set_dash_mode proc~apply_style->interface~vkf_line_set_dash_mode interface~vkf_line_set_highlight vkf_line_set_highlight proc~apply_style->interface~vkf_line_set_highlight interface~vkf_line_set_trail vkf_line_set_trail proc~apply_style->interface~vkf_line_set_trail proc~line_set_pattern line_set_pattern proc~apply_style->proc~line_set_pattern proc~line_set_style line_set_style proc~apply_style->proc~line_set_style proc~marker_set_style marker_set_style proc~apply_style->proc~marker_set_style interface~vkf_line_style vkf_line_style proc~line_set_segments->interface~vkf_line_style interface~vkf_line_style_changed vkf_line_style_changed proc~line_set_segments->interface~vkf_line_style_changed proc~num_points Trajectory%num_points proc~source_points->proc~num_points proc~verify_data Trajectory%verify_data proc~source_points->proc~verify_data proc~line_set_pattern->interface~vkf_line_style proc~line_set_pattern->interface~vkf_line_style_changed proc~line_set_style->interface~vkf_line_style proc~line_set_style->interface~vkf_line_style_changed proc~marker_set_style->interface~vkf_line_style proc~marker_set_style->interface~vkf_line_style_changed

Source Code

    subroutine segment_build(self, viewer, group)
        class(SegmentArtist), intent(inout) :: self
        type(c_ptr), intent(in) :: viewer, group            !! compiles nodes made later (may be null); the parent group
        call self%chain%init(group, CHAIN_SEGMENTS)
        call self%chain%set_style(self%color_, self%width_)
        call self%chain%set_pattern(self%pattern_factor, self%pattern_)
        call self%chain%reserve(2 * segment_count(self))  ! compiled with the group
        call self%chain%set_compile(c_associated(viewer))
        self%seen_generation = -1
    end subroutine segment_build