Class KeyframesManager

java.lang.Object
gaiasky.util.camera.rec.KeyframesManager
All Implemented Interfaces:
IObserver

public class KeyframesManager extends Object implements IObserver
  • Field Details

  • Constructor Details

    • KeyframesManager

      public KeyframesManager()
  • Method Details

    • initialize

      public static void initialize()
    • regenerateCameraPath

      public void regenerateCameraPath()
      Re-generates the camera path object from the current keyframes list.
    • clean

      public void clean()
      Cleans the current configuration of keyframes.
    • getFrameNumber

      public long getFrameNumber(Keyframe kf)
      Gets the frame number of the given keyframe using the current target frame rate setting.
      Parameters:
      kf - The keyframe.
      Returns:
      The frame number corresponding to exactly this keyframe if the keyframe is valid and in the keyframes list, otherwise -1. The frame number is in [0,n-1].
    • loadKeyframesFile

      public List<Keyframe> loadKeyframesFile(Path file) throws RuntimeException
      Throws:
      RuntimeException
    • saveKeyframesFile

      public void saveKeyframesFile(List<Keyframe> keyframes, String fileName, boolean notification)
    • samplePaths

      public double[] samplePaths(com.badlogic.gdx.utils.Array<com.badlogic.gdx.utils.Array<Vector3d>> pointsSep, double[] points, int samplesPerSegment, KeyframesManager.PathType pathType)
    • exportKeyframesFile

      public void exportKeyframesFile(List<Keyframe> keyframes, String fileName)
    • play

      public void play()
      Sets the manager in play mode.
    • isPlaying

      public boolean isPlaying()
    • pause

      public void pause()
      Sets the manager in pause mode.
    • isIdle

      public boolean isIdle()
    • stepping

      public void stepping()
      Sets the manager in stepping mode.
    • isStepping

      public boolean isStepping()
    • skip

      public void skip(long frame)
      Skips to the given frame.
      Parameters:
      frame - The frame number.
    • checkKeyframeTimings

      public boolean checkKeyframeTimings()
      Checks that all keyframe timings fall perfectly on a frame, so that t(kf) * FPS % 1 = 0 holds.
      Returns:
      True if the keyframe timings are consistent with the camcorder FPS setting.
    • runOptFlowCamScript

      public void runOptFlowCamScript(Path loc, Path outputFile)
      Runs the OptFlowCam script at the given location with the current keyframes, with the given output file.
      Parameters:
      loc - The location of the OptFlowCam script. This location must contain a optflowcam_convert.py file.
      outputFile - Path to the output camera path (.gsc) file.
    • notify

      public void notify(Event event, Object source, Object... data)
      Description copied from interface: IObserver
      Event notification call.
      Specified by:
      notify in interface IObserver
      Parameters:
      event - The event type.
      source - The source object, if any.
      data - The data associated with this event.