Place axis k (as move_x_axis), made again if the frame is shown.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ReferenceFrame), | intent(inout) | :: | self | |||
| integer, | intent(in) | :: | k |
the axis: 1 (x), 2 (y) or 3 (z) |
||
| real(kind=wp), | intent(in) | :: | base(3) |
(base: frame's coordinates) |
||
| real(kind=wp), | intent(in) | :: | length |
(base: frame's coordinates) |
||
| real(kind=wp), | intent(in), | optional | :: | head_ratio |
defaults: 0.3; 0.05 and 0.1 of the length |
|
| real(kind=wp), | intent(in), | optional | :: | body_radius |
defaults: 0.3; 0.05 and 0.1 of the length |
|
| real(kind=wp), | intent(in), | optional | :: | head_radius |
defaults: 0.3; 0.05 and 0.1 of the length |
subroutine move_axis(self, k, base, length, head_ratio, body_radius, head_radius) class(ReferenceFrame), intent(inout) :: self integer, intent(in) :: k !! the axis: 1 (x), 2 (y) or 3 (z) real(wp), intent(in) :: base(3), length !! (base: frame's coordinates) real(wp), intent(in), optional :: head_ratio, body_radius, head_radius !! defaults: 0.3; 0.05 and 0.1 of the length self%axis_base(:, k) = base self%axis_len(k) = length self%axis_head_ratio(k) = 0.3_wp self%axis_body_radius(k) = 0.0_wp self%axis_head_radius(k) = 0.0_wp if (present(head_ratio)) self%axis_head_ratio(k) = head_ratio if (present(body_radius)) self%axis_body_radius(k) = body_radius if (present(head_radius)) self%axis_head_radius(k) = head_radius self%axes_moved = .true. if (self%realized) call make_axis(self, k) ! shown: made again end subroutine move_axis