Class RelativisticEffectsManager

All Implemented Interfaces:

public class RelativisticEffectsManager extends Object implements IObserver
Central hub where the parameters of the current relativistic effects (aberration, doppler, grav waves) are updated and served to the renderers.
  • Field Details

    • velDir

      public com.badlogic.gdx.math.Vector3 velDir
      Camera velocity direction vector
    • vc

      public float vc
    • gw

      public com.badlogic.gdx.math.Vector3 gw
      Cartesian coordinates from the origin of the grav wave. Unit vector
    • gwmat3

      public com.badlogic.gdx.math.Matrix3 gwmat3
      Rotation of gw
    • gwmat4

      public com.badlogic.gdx.math.Matrix4 gwmat4
      Rotation of gw
    • gwtime

      public float gwtime
      Time in seconds, synced to the simulation time. Ready to pass to the shader
    • omgw

      public float omgw
      Wave frequency
    • hterms

      public float[] hterms
      Hterms: hpluscos, hplussin, htimescos, htimessin
  • Method Details

    • getInstance

      public static RelativisticEffectsManager getInstance()
    • initialize

      public static void initialize(ITimeFrameProvider time)
    • relAberrationOn

      public boolean relAberrationOn()
    • gravWavesOn

      public boolean gravWavesOn()
    • update

      public void update(ITimeFrameProvider time, ICamera camera)
      This must be called every cycle, it updates the needed parameters for the gravitational waves
      time -
    • gravitationalWavePos

      public Vector3d gravitationalWavePos(Vector3d pos)
      Applies the gravitational wave transformation to the given position
      pos - The position for chaining
    • notify

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