grid_set_parameters Subroutine

private subroutine grid_set_parameters(self, radius_x, radius_y, radius_z, lat_spacing, lon_spacing)

The ellipsoid's semi-axes (> 0; e.g. a Sphere's radii, a little larger to draw above its surface) and the line spacings (radians; 0 for no latitude or longitude lines), as OpenFrames' setParameters.

Type Bound

LatLonGrid

Arguments

Type IntentOptional Attributes Name
class(LatLonGrid), intent(inout) :: self
real(kind=wp), intent(in) :: radius_x

scene units (<= 0: unchanged)

real(kind=wp), intent(in) :: radius_y

scene units (<= 0: unchanged)

real(kind=wp), intent(in) :: radius_z

scene units (<= 0: unchanged)

real(kind=wp), intent(in) :: lat_spacing

radians (< 0: unchanged)

real(kind=wp), intent(in) :: lon_spacing

radians (< 0: unchanged)


Calls

proc~~grid_set_parameters~~CallsGraph proc~grid_set_parameters LatLonGrid%grid_set_parameters proc~make_grid make_grid proc~grid_set_parameters->proc~make_grid proc~place_grid_axes place_grid_axes proc~grid_set_parameters->proc~place_grid_axes interface~vkf_switch_create vkf_switch_create proc~make_grid->interface~vkf_switch_create proc~add add proc~make_grid->proc~add proc~append append proc~make_grid->proc~append proc~closed_segments closed_segments proc~make_grid->proc~closed_segments proc~color~2 ReferenceFrame%color proc~make_grid->proc~color~2 proc~line_node line_node proc~make_grid->proc~line_node proc~open_segments open_segments proc~make_grid->proc~open_segments proc~replace ShapeNodes%replace proc~make_grid->proc~replace proc~surface_point surface_point proc~make_grid->proc~surface_point proc~move_x_axis ReferenceFrame%move_x_axis proc~place_grid_axes->proc~move_x_axis proc~move_y_axis ReferenceFrame%move_y_axis proc~place_grid_axes->proc~move_y_axis proc~move_z_axis ReferenceFrame%move_z_axis proc~place_grid_axes->proc~move_z_axis interface~vkf_node_add_child vkf_node_add_child proc~add->interface~vkf_node_add_child interface~vkf_node_delete vkf_node_delete proc~add->interface~vkf_node_delete proc~check_status check_status proc~add->proc~check_status interface~vkf_line_create vkf_line_create proc~line_node->interface~vkf_line_create proc~line_node->proc~check_status proc~line_set_points line_set_points proc~line_node->proc~line_set_points proc~line_set_segments line_set_segments proc~line_node->proc~line_set_segments proc~line_set_style line_set_style proc~line_node->proc~line_set_style proc~move_axis move_axis proc~move_x_axis->proc~move_axis proc~move_y_axis->proc~move_axis proc~move_z_axis->proc~move_axis interface~vkf_compile_node vkf_compile_node proc~replace->interface~vkf_compile_node proc~replace->interface~vkf_node_add_child proc~replace->interface~vkf_node_delete interface~vkf_node_remove_child vkf_node_remove_child proc~replace->interface~vkf_node_remove_child proc~replace->proc~check_status interface~vkf_line_points vkf_line_points proc~line_set_points->interface~vkf_line_points interface~vkf_line_points_changed vkf_line_points_changed proc~line_set_points->interface~vkf_line_points_changed 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~line_set_style->interface~vkf_line_style proc~line_set_style->interface~vkf_line_style_changed proc~make_axis make_axis proc~move_axis->proc~make_axis proc~arrow_create arrow_create proc~make_axis->proc~arrow_create proc~axis_label ReferenceFrame%axis_label proc~make_axis->proc~axis_label proc~label_create label_create proc~make_axis->proc~label_create proc~label_font ReferenceFrame%label_font proc~make_axis->proc~label_font proc~replace_child replace_child proc~make_axis->proc~replace_child proc~update_switches update_switches proc~make_axis->proc~update_switches interface~vkf_mesh_create vkf_mesh_create proc~arrow_create->interface~vkf_mesh_create proc~arrow arrow proc~arrow_create->proc~arrow proc~arrow_size arrow_size proc~arrow_create->proc~arrow_size proc~mesh_arrays mesh_arrays proc~arrow_create->proc~mesh_arrays interface~vkf_label_create vkf_label_create proc~label_create->interface~vkf_label_create proc~get_font get_font proc~label_create->proc~get_font proc~vsg_alignment vsg_alignment proc~label_create->proc~vsg_alignment proc~replace_child->interface~vkf_compile_node proc~replace_child->interface~vkf_node_add_child proc~replace_child->interface~vkf_node_delete proc~replace_child->interface~vkf_node_remove_child proc~replace_child->proc~check_status proc~update_switches->proc~check_status interface~vkf_switch_set vkf_switch_set proc~update_switches->interface~vkf_switch_set proc~cross cross proc~arrow->proc~cross interface~vkf_font_read vkf_font_read proc~get_font->interface~vkf_font_read proc~find_font find_font proc~get_font->proc~find_font interface~vkf_mesh_array vkf_mesh_array proc~mesh_arrays->interface~vkf_mesh_array proc~find_in_dirs find_in_dirs proc~find_font->proc~find_in_dirs

Source Code

    subroutine grid_set_parameters(self, radius_x, radius_y, radius_z, lat_spacing, lon_spacing)
        class(LatLonGrid), intent(inout) :: self
        real(wp), intent(in) :: radius_x, radius_y, radius_z  !! scene units (<= 0: unchanged)
        real(wp), intent(in) :: lat_spacing, lon_spacing    !! radians (< 0: unchanged)
        if (radius_x > 0.0_wp) self%radii_(1) = radius_x
        if (radius_y > 0.0_wp) self%radii_(2) = radius_y
        if (radius_z > 0.0_wp) self%radii_(3) = radius_z
        if (lat_spacing >= 0.0_wp) self%lat_spacing = lat_spacing
        if (lon_spacing >= 0.0_wp) self%lon_spacing = lon_spacing
        call place_grid_axes(self)
        call make_grid(self)
    end subroutine grid_set_parameters