Whether the trajectory changed since last drawn; redraw if everything
must be drawn again (cleared, or a new trajectory or data sources).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TrajectoryArtist), | intent(inout) | :: | self | |||
| logical, | intent(out) | :: | redraw |
true: everything must be drawn again |
logical function data_changed(self, redraw) result(changed) class(TrajectoryArtist), intent(inout) :: self logical, intent(out) :: redraw !! true: everything must be drawn again redraw = .false. changed = .false. if (.not. associated(self%traj)) return if (self%traj%generation() /= self%seen_generation) then redraw = .true. self%seen_generation = self%traj%generation() self%seen_revision = -1 end if call motion_changed(self, redraw) if (redraw) self%seen_revision = -1 changed = self%traj%revision() /= self%seen_revision self%seen_revision = self%traj%revision() end function data_changed