to_shown_at Subroutine

private subroutine to_shown_at(self, i1, v, stride)

Points i1, i1 + stride, ... (data frame; their times the trajectory's) into the drawable's coordinates, if transformed.

Arguments

Type IntentOptional Attributes Name
class(TrajectoryArtist), intent(in) :: self
integer, intent(in) :: i1

the first point

real(kind=wp), intent(inout) :: v(:,:)

(3, n): the points

integer, intent(in), optional :: stride

step between points (default 1)


Calls

proc~~to_shown_at~~CallsGraph proc~to_shown_at to_shown_at proc~to_shown to_shown proc~to_shown_at->proc~to_shown proc~transformed transformed proc~to_shown_at->proc~transformed proc~data_to_shown data_to_shown proc~to_shown->proc~data_to_shown proc~moves moves proc~to_shown->proc~moves proc~rigid_inverse rigid_inverse proc~data_to_shown->proc~rigid_inverse proc~world_matrix_at ReferenceFrame%world_matrix_at proc~data_to_shown->proc~world_matrix_at proc~moves->proc~moves proc~is_following ReferenceFrame%is_following proc~moves->proc~is_following proc~num_parents ReferenceFrame%num_parents proc~moves->proc~num_parents proc~parent ReferenceFrame%parent proc~moves->proc~parent proc~num_trajectories TrajectoryFollower%num_trajectories proc~is_following->proc~num_trajectories proc~world_matrix_at->proc~world_matrix_at proc~local_matrix_at ReferenceFrame%local_matrix_at proc~world_matrix_at->proc~local_matrix_at proc~followed_pose followed_pose proc~local_matrix_at->proc~followed_pose proc~frame_matrix frame_matrix proc~local_matrix_at->proc~frame_matrix proc~followed_pose->proc~rigid_inverse proc~followed_pose->proc~world_matrix_at proc~quat_from_matrix quat_from_matrix proc~followed_pose->proc~quat_from_matrix proc~quat_multiply quat_multiply proc~followed_pose->proc~quat_multiply proc~quat_normalize quat_normalize proc~followed_pose->proc~quat_normalize proc~state_at TrajectoryFollower%state_at proc~followed_pose->proc~state_at proc~quat_to_matrix quat_to_matrix proc~frame_matrix->proc~quat_to_matrix proc~chosen_trajectory chosen_trajectory proc~state_at->proc~chosen_trajectory proc~data_valid TrajectoryFollower%data_valid proc~state_at->proc~data_valid proc~interpolate_attitude interpolate_attitude proc~state_at->proc~interpolate_attitude proc~interpolate_position interpolate_position proc~state_at->proc~interpolate_position proc~time_index Trajectory%time_index proc~state_at->proc~time_index proc~wrapped_time wrapped_time proc~state_at->proc~wrapped_time proc~time_distance Trajectory%time_distance proc~chosen_trajectory->proc~time_distance proc~verify_data Trajectory%verify_data proc~data_valid->proc~verify_data proc~attitude~3 Trajectory%attitude proc~interpolate_attitude->proc~attitude~3 proc~num_attitudes Trajectory%num_attitudes proc~interpolate_attitude->proc~num_attitudes proc~quat_slerp quat_slerp proc~interpolate_attitude->proc~quat_slerp proc~num_points Trajectory%num_points proc~interpolate_position->proc~num_points proc~point_between Trajectory%point_between proc~interpolate_position->proc~point_between proc~point~2 Trajectory%point proc~interpolate_position->proc~point~2 proc~time_index->proc~time_distance proc~time_range~3 Trajectory%time_range proc~wrapped_time->proc~time_range~3 proc~point_between->proc~num_points proc~point_between->proc~point~2 proc~time_fraction Trajectory%time_fraction proc~point_between->proc~time_fraction

Called by

proc~~to_shown_at~~CalledByGraph proc~to_shown_at to_shown_at proc~art_point art_point proc~art_point->proc~to_shown_at proc~art_points art_points proc~art_points->proc~to_shown_at proc~marker_point marker_point proc~marker_point->proc~to_shown_at proc~marker_point->proc~art_point proc~write_segments write_segments proc~write_segments->proc~to_shown_at proc~curve_pick curve_pick proc~curve_pick->proc~art_point proc~intermediates_by_data intermediates_by_data proc~intermediates_by_data->proc~art_point proc~intermediates_by_distance intermediates_by_distance proc~intermediates_by_distance->proc~art_point proc~marker_update MarkerArtist%marker_update proc~marker_update->proc~marker_point proc~update_bounds update_bounds proc~marker_update->proc~update_bounds proc~add_intermediates add_intermediates proc~marker_update->proc~add_intermediates proc~segment_update SegmentArtist%segment_update proc~segment_update->proc~write_segments proc~update_bounds->proc~art_points proc~update_ribbon_tail RibbonArtist%update_ribbon_tail proc~update_ribbon_tail->proc~art_point proc~update_tail CurveArtist%update_tail proc~update_tail->proc~art_point proc~write_curve CurveArtist%write_curve proc~write_curve->proc~art_points proc~write_ribbon RibbonArtist%write_ribbon proc~write_ribbon->proc~art_points proc~add_intermediates->proc~intermediates_by_data proc~add_intermediates->proc~intermediates_by_distance proc~drawable_pick DrawableTrajectory%drawable_pick proc~drawable_pick->proc~curve_pick

Source Code

    subroutine to_shown_at(self, i1, v, stride)
        class(TrajectoryArtist), intent(in) :: self
        integer, intent(in) :: i1                           !! the first point
        real(wp), intent(inout) :: v(:,:)                   !! (3, n): the points
        integer, intent(in), optional :: stride             !! step between points (default 1)
        real(wp) :: times(size(v, 2))
        integer :: k, st
        if (.not. transformed(self)) return
        st = 1
        if (present(stride)) st = stride
        do k = 1, size(v, 2)
            times(k) = self%traj%time(i1 + (k - 1) * st)
        end do
        call to_shown(self, times, v)
    end subroutine to_shown_at