marker_set_style Function

public function marker_set_style(marker, rgba, size, shape, radius) result(status)

Set the color (rgba), size (window units), shape (see shaders/ marker.frag) and attenuation radius (scene units; 0 for none) of markers. Returns 0, or -1 on failure.

Arguments

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

marker handle (vkf_marker_create)

real(kind=c_float), intent(in), dimension(4) :: rgba

color (rgba, 0 to 1)

real(kind=c_float), intent(in) :: size
integer, intent(in) :: shape
real(kind=c_float), intent(in) :: radius

Return Value integer(kind=c_int)


Calls

proc~~marker_set_style~~CallsGraph proc~marker_set_style marker_set_style interface~vkf_line_style vkf_line_style proc~marker_set_style->interface~vkf_line_style interface~vkf_line_style_changed vkf_line_style_changed proc~marker_set_style->interface~vkf_line_style_changed

Called by

proc~~marker_set_style~~CalledByGraph proc~marker_set_style marker_set_style proc~apply_style apply_style proc~apply_style->proc~marker_set_style proc~marker_node marker_node proc~marker_node->proc~marker_set_style proc~time_show_state TimeHandle%time_show_state proc~time_show_state->proc~marker_set_style proc~make_axes make_axes proc~make_axes->proc~marker_node proc~make_polyhedron make_polyhedron proc~make_polyhedron->proc~marker_node proc~reserve LineChain%reserve proc~reserve->proc~apply_style proc~set_dash_mode LineChain%set_dash_mode proc~set_dash_mode->proc~apply_style proc~set_highlight LineChain%set_highlight proc~set_highlight->proc~apply_style proc~set_marker_shape TimeHandle%set_marker_shape proc~set_marker_shape->proc~time_show_state proc~set_marker_size TimeHandle%set_marker_size proc~set_marker_size->proc~time_show_state proc~set_marker_style LineChain%set_marker_style proc~set_marker_style->proc~apply_style proc~set_pattern LineChain%set_pattern proc~set_pattern->proc~apply_style proc~set_style LineChain%set_style proc~set_style->proc~apply_style proc~style_node LineChain%style_node proc~style_node->proc~apply_style proc~time_build_contents TimeHandle%time_build_contents proc~time_build_contents->proc~time_show_state proc~time_grab TimeHandle%time_grab proc~time_grab->proc~time_show_state proc~time_set_color TimeHandle%time_set_color proc~time_set_color->proc~time_show_state proc~apply_highlight apply_highlight proc~apply_highlight->proc~set_highlight proc~apply_style~2 apply_style proc~apply_style~2->proc~set_pattern proc~apply_style~2->proc~set_style proc~axes_build_contents CoordinateAxes%axes_build_contents proc~axes_build_contents->proc~make_axes proc~axes_set_color CoordinateAxes%axes_set_color proc~axes_set_color->proc~make_axes proc~build_marker_nodes build_marker_nodes proc~build_marker_nodes->proc~reserve proc~marker_style marker_style proc~build_marker_nodes->proc~marker_style proc~chain_build ChainArtist%chain_build proc~chain_build->proc~reserve proc~marker_style->proc~set_marker_style proc~poly_build_contents Polyhedron%poly_build_contents proc~poly_build_contents->proc~make_polyhedron proc~poly_set_draw_mode Polyhedron%poly_set_draw_mode proc~poly_set_draw_mode->proc~make_polyhedron proc~poly_set_line_color Polyhedron%poly_set_line_color proc~poly_set_line_color->proc~make_polyhedron proc~poly_set_line_width Polyhedron%poly_set_line_width proc~poly_set_line_width->proc~make_polyhedron proc~poly_set_opacity Polyhedron%poly_set_opacity proc~poly_set_opacity->proc~make_polyhedron proc~remove_vertex_colors Polyhedron%remove_vertex_colors proc~remove_vertex_colors->proc~make_polyhedron proc~segment_build SegmentArtist%segment_build proc~segment_build->proc~reserve proc~segment_build->proc~set_pattern proc~segment_build->proc~set_style proc~segment_set_color SegmentArtist%segment_set_color proc~segment_set_color->proc~set_style proc~segment_set_dash_mode SegmentArtist%segment_set_dash_mode proc~segment_set_dash_mode->proc~set_dash_mode proc~segment_set_pattern SegmentArtist%segment_set_pattern proc~segment_set_pattern->proc~set_pattern proc~segment_set_width SegmentArtist%segment_set_width proc~segment_set_width->proc~set_style proc~segment_update SegmentArtist%segment_update proc~segment_update->proc~reserve proc~segments_build_contents CustomLineSegments%segments_build_contents proc~segments_build_contents->proc~reserve proc~segments_build_contents->proc~apply_style~2 proc~set_axis_length CoordinateAxes%set_axis_length proc~set_axis_length->proc~make_axes proc~set_axis_width CoordinateAxes%set_axis_width proc~set_axis_width->proc~make_axes proc~set_draw_axes CoordinateAxes%set_draw_axes proc~set_draw_axes->proc~make_axes proc~set_edges Polyhedron%set_edges proc~set_edges->proc~make_polyhedron proc~set_face_color Polyhedron%set_face_color proc~set_face_color->proc~make_polyhedron proc~set_faces Polyhedron%set_faces proc~set_faces->proc~make_polyhedron proc~set_grid Polyhedron%set_grid proc~set_grid->proc~make_polyhedron proc~set_lit Polyhedron%set_lit proc~set_lit->proc~make_polyhedron proc~set_point_color Polyhedron%set_point_color proc~set_point_color->proc~make_polyhedron proc~set_point_size Polyhedron%set_point_size proc~set_point_size->proc~make_polyhedron proc~set_smooth Polyhedron%set_smooth proc~set_smooth->proc~make_polyhedron proc~set_tick_image CoordinateAxes%set_tick_image proc~set_tick_image->proc~make_axes proc~set_tick_shape CoordinateAxes%set_tick_shape proc~set_tick_shape->proc~make_axes proc~set_tick_size CoordinateAxes%set_tick_size proc~set_tick_size->proc~make_axes proc~set_tick_spacing CoordinateAxes%set_tick_spacing proc~set_tick_spacing->proc~make_axes proc~set_triangles Polyhedron%set_triangles proc~set_triangles->proc~make_polyhedron proc~set_two_sided Polyhedron%set_two_sided proc~set_two_sided->proc~make_polyhedron proc~set_vertex_colors Polyhedron%set_vertex_colors proc~set_vertex_colors->proc~make_polyhedron proc~set_vertices Polyhedron%set_vertices proc~set_vertices->proc~make_polyhedron proc~write_changed write_changed proc~write_changed->proc~reserve proc~write_intermediates write_intermediates proc~write_intermediates->proc~reserve proc~write_segments~2 write_segments proc~write_segments~2->proc~reserve proc~add_intermediates add_intermediates proc~add_intermediates->proc~write_intermediates proc~chain_update ChainArtist%chain_update proc~chain_update->proc~write_changed proc~curve_style CurveArtist%curve_style proc~curve_style->proc~apply_highlight proc~curve_update CurveArtist%curve_update proc~curve_update->proc~write_changed proc~marker_build MarkerArtist%marker_build proc~marker_build->proc~build_marker_nodes proc~new_segment_artist new_segment_artist proc~new_segment_artist->proc~segment_set_color proc~rebuild_markers rebuild_markers proc~rebuild_markers->proc~build_marker_nodes proc~segment_set_highlight SegmentArtist%segment_set_highlight proc~segment_set_highlight->proc~apply_highlight proc~segments_late_update CustomLineSegments%segments_late_update proc~segments_late_update->proc~write_segments~2 proc~set_auto_attenuate MarkerArtist%set_auto_attenuate proc~set_auto_attenuate->proc~marker_style proc~set_line_width CustomLineSegments%set_line_width proc~set_line_width->proc~apply_style~2 proc~set_marker_color MarkerArtist%set_marker_color proc~set_marker_color->proc~marker_style proc~set_marker_shape~2 MarkerArtist%set_marker_shape proc~set_marker_shape~2->proc~marker_style proc~set_marker_size~2 MarkerArtist%set_marker_size proc~set_marker_size~2->proc~marker_style proc~set_pattern~2 CustomLineSegments%set_pattern proc~set_pattern~2->proc~apply_style~2 proc~update_bounds update_bounds proc~update_bounds->proc~marker_style interface~segmentartist SegmentArtist interface~segmentartist->proc~new_segment_artist proc~curve_set_color CurveArtist%curve_set_color proc~curve_set_color->proc~curve_style proc~curve_set_highlight CurveArtist%curve_set_highlight proc~curve_set_highlight->proc~curve_style proc~curve_set_pattern CurveArtist%curve_set_pattern proc~curve_set_pattern->proc~curve_style proc~curve_set_width CurveArtist%curve_set_width proc~curve_set_width->proc~curve_style proc~marker_set_point_colors MarkerArtist%marker_set_point_colors proc~marker_set_point_colors->proc~rebuild_markers proc~marker_update MarkerArtist%marker_update proc~marker_update->proc~add_intermediates proc~marker_update->proc~rebuild_markers proc~marker_update->proc~update_bounds proc~new_marker_artist new_marker_artist proc~new_marker_artist->proc~set_marker_color proc~set_marker_image MarkerArtist%set_marker_image proc~set_marker_image->proc~rebuild_markers interface~markerartist MarkerArtist interface~markerartist->proc~new_marker_artist proc~new_curve_artist new_curve_artist proc~new_curve_artist->proc~curve_set_color interface~curveartist CurveArtist interface~curveartist->proc~new_curve_artist

Source Code

    integer(c_int) function marker_set_style(marker, rgba, size, shape, radius) result(status)
        type(c_ptr), intent(in) :: marker                !! marker handle (vkf_marker_create)
        real(c_float), dimension(4), intent(in) :: rgba  !! color (rgba, 0 to 1)
        real(c_float), intent(in) :: size, radius
        integer, intent(in) :: shape
        real(c_float), dimension(:), pointer :: style
        type(c_ptr) :: buffer
        buffer = vkf_line_style(marker)
        if (.not. c_associated(buffer)) then
            status = -1
            return
        end if
        call c_f_pointer(buffer, style, [8])
        style(1:4) = rgba
        style(5:7) = [size, real(shape, c_float), radius]
        status = vkf_line_style_changed(marker)
    end function marker_set_style