Class KeyframesManager

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

public class KeyframesManager extends Object implements IObserver
  • Field Details

    • instance

      public static KeyframesManager instance
      Singleton
    • keyframes

      public final com.badlogic.gdx.utils.Array<Keyframe> keyframes
      Current keyframes
    • pos

      public Vector3b pos
      Reference to current camera position.
    • dir

      public Vector3d dir
      Reference to current camera orientation.
    • up

      public Vector3d up
      Reference to current camera orientation.
    • t

      Reference to current time.
    • currentPath

      public CameraPath currentPath
      The current camera path, used for direct playback.
    • state

      Play state.
  • 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 com.badlogic.gdx.utils.Array<Keyframe> loadKeyframesFile(Path file) throws RuntimeException
      Throws:
      RuntimeException
    • saveKeyframesFile

      public void saveKeyframesFile(com.badlogic.gdx.utils.Array<Keyframe> keyframes, String fileName)
    • 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(com.badlogic.gdx.utils.Array<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.
    • 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.