new_marker_artist Function

private function new_marker_artist(traj, markers, size, color) result(a)

A marker artist for traj (optional; without one, or with all data sources zero, a start marker at the origin: in a DrawableTrajectory that follows a trajectory, or is a child of a frame that does, it marks the current position, as in OpenFrames), drawing markers (an ior of MARKER_START, MARKER_INTERMEDIATE, MARKER_END; default start and end) of size window units (default 10) in color (all markers; default red start and end, white intermediate).

Arguments

Type IntentOptional Attributes Name
type(Trajectory), intent(in), optional, target :: traj

the trajectory to draw (not owned)

integer, intent(in), optional :: markers

an ior of MARKER_* flags (default start and end)

real(kind=wp), intent(in), optional :: size

window units (default 10); [r, g, b] or [r, g, b, a]

real(kind=wp), intent(in), optional :: color(:)

window units (default 10); [r, g, b] or [r, g, b, a]

Return Value type(MarkerArtist)


Calls

proc~~new_marker_artist~~CallsGraph proc~new_marker_artist new_marker_artist proc~marker_set_trajectory MarkerArtist%marker_set_trajectory proc~new_marker_artist->proc~marker_set_trajectory proc~position_sources position_sources proc~new_marker_artist->proc~position_sources proc~set_marker_color MarkerArtist%set_marker_color proc~new_marker_artist->proc~set_marker_color proc~marker_set_trajectory->proc~position_sources proc~dof Trajectory%dof proc~marker_set_trajectory->proc~dof proc~marker_style marker_style proc~set_marker_color->proc~marker_style proc~set_rgba set_rgba proc~set_marker_color->proc~set_rgba proc~is_colored LineChain%is_colored proc~marker_style->proc~is_colored proc~set_marker_style LineChain%set_marker_style proc~marker_style->proc~set_marker_style proc~apply_style apply_style proc~set_marker_style->proc~apply_style 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~check_status check_status proc~apply_style->proc~check_status 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_pattern->interface~vkf_line_style interface~vkf_line_style_changed vkf_line_style_changed 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

Called by

proc~~new_marker_artist~~CalledByGraph proc~new_marker_artist new_marker_artist interface~markerartist MarkerArtist interface~markerartist->proc~new_marker_artist

Source Code

    function new_marker_artist(traj, markers, size, color) result(a)
        type(Trajectory), intent(in), target, optional :: traj !! the trajectory to draw (not owned)
        integer, intent(in), optional :: markers            !! an ior of MARKER_* flags (default start and end)
        real(wp), intent(in), optional :: size, color(:)    !! window units (default 10); [r, g, b] or [r, g, b, a]
        type(MarkerArtist) :: a
        a%sources_ = position_sources(3)
        a%image_file = ''
        if (present(traj)) call a%set_trajectory(traj)
        if (present(markers)) a%markers_ = markers
        if (present(size)) a%size_ = size
        if (present(color)) call a%set_marker_color(ior(ior(MARKER_START, MARKER_INTERMEDIATE), MARKER_END), color)
    end function new_marker_artist