Copy the positions and attitudes of this frame and its descendants to their transform nodes (only those that changed since the last sync).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ReferenceFrame), | intent(inout) | :: | self |
recursive subroutine sync(self) class(ReferenceFrame), intent(inout) :: self integer :: k if (.not. self%realized) return if (.not. (self%synced .and. all(self%position_ == self%synced_position) .and. & all(self%attitude_ == self%synced_attitude))) then call check_status(vkf_transform_set_matrix(self%node_, self%local_matrix())) self%synced_position = self%position_ self%synced_attitude = self%attitude_ self%synced = .true. end if do k = 1, self%n_children call self%children(k)%p%sync() end do end subroutine sync