package com.momega.spacesimulator.service; import com.momega.spacesimulator.model.Model; import com.momega.spacesimulator.model.MovingObject; import com.momega.spacesimulator.model.RunStep; /** * Created by martin on 5/21/14. */ public interface Propagator { /** * Computes the position of and object in the time newTimestamp. The set new position, velocity and orientation. * Some propagator may also set new timestamp * @param model the model * @param movingObject the moving object * @param step new timestamp */ void computePosition(Model model, MovingObject movingObject, RunStep step); /** * Indicates whether or not the propagator supports the trajectory of the moving object * @param movingObject the moving object * @return returns boolean value */ boolean supports(MovingObject movingObject); }