Class Invisible

java.lang.Object
All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable, I3DTextRenderable, IModelRenderable, IQuadRenderable, IRenderable, IFocus, IStarContainer, IVisibilitySwitch, IPosition

public class Invisible
extends CelestialBody
The sole purpose of this class is to act as an invisible focus. It can also optionally include a connection to a ray marching shader, implemented in screen space.
  • Constructor Details

    • Invisible

      public Invisible()
    • Invisible

      public Invisible​(java.lang.String name)
    • Invisible

      public Invisible​(java.lang.String name, double size)
  • Method Details

    • doneLoading

      public void doneLoading​(com.badlogic.gdx.assets.AssetManager manager)
      Overrides:
      doneLoading in class SceneGraphNode
    • render

      public void render​(IntModelBatch modelBatch, float alpha, double t, RenderingContext rc)
    • THRESHOLD_NONE

      public double THRESHOLD_NONE()
      Description copied from class: CelestialBody
      radius/distance limit for rendering at all. If angle is smaller than this quantity, no rendering happens.
      Specified by:
      THRESHOLD_NONE in class CelestialBody
    • THRESHOLD_QUAD

      public double THRESHOLD_QUAD()
      Description copied from class: CelestialBody
      radius/distance limit for rendering as shader. If angle is any bigger, we render as a model.
      Specified by:
      THRESHOLD_QUAD in class CelestialBody
    • THRESHOLD_POINT

      public double THRESHOLD_POINT()
      Description copied from class: CelestialBody
      radius/distance limit for rendering as point. If angle is any bigger, we render with shader.
      Specified by:
      THRESHOLD_POINT in class CelestialBody
    • getInnerRad

      public float getInnerRad()
      Specified by:
      getInnerRad in class CelestialBody
    • labelFactor

      protected float labelFactor()
      Specified by:
      labelFactor in class CelestialBody
    • labelMax

      protected float labelMax()
      Specified by:
      labelMax in class CelestialBody
    • addToRenderLists

      protected void addToRenderLists​(ICamera camera)
      Description copied from class: SceneGraphNode
      Adds this entity to the necessary render lists after the distance to the camera and the view angle have been determined.
      Overrides:
      addToRenderLists in class SceneGraphNode
    • updateLocalValues

      public void updateLocalValues​(ITimeFrameProvider time, ICamera camera)
      Description copied from class: SceneGraphNode
      This function updates all the local values before the localTransform is updated. Position, rotations and scale must be updated in here.
      Overrides:
      updateLocalValues in class SceneGraphNode
    • forceUpdateLocalValues

      protected void forceUpdateLocalValues​(ITimeFrameProvider time, boolean force)
    • addHit

      public void addHit​(Vector3d p0, Vector3d p1, NaturalCamera camera, com.badlogic.gdx.utils.Array<IFocus> hits)
      Description copied from interface: IFocus
      Adds this focus to the hits list if it is hit by the given ray
      Specified by:
      addHit in interface IFocus
      Overrides:
      addHit in class CelestialBody
      Parameters:
      p0 - Start point of the ray
      p1 - End point of the ray
      camera - The camera
      hits - The list where the focus is to be added
    • setShader

      public void setShader​(java.lang.String shader)