java.lang.Object
com.marginallyclever.ro3.node.Node
com.marginallyclever.ro3.node.nodes.pose.Pose
com.marginallyclever.ro3.node.nodes.pose.poses.space.CelestialBody
All Implemented Interfaces:
PoseChangeListener, EventListener

public class CelestialBody extends Pose
Represents a celestial body - star, planet, moon, etc. Celestial bodies are assumed to be so large that the player can't alter their course. As such their movement should be deterministic and predictable no matter the time step.
  • Field Details

    • mass

      public double mass
    • radius

      public double radius
    • rotationalPeriod

      public double rotationalPeriod
    • perihelion

      public double perihelion
    • aphelion

      public double aphelion
    • orbitalPeriod

      public double orbitalPeriod
    • orbitalVelocity

      public double orbitalVelocity
    • orbitalInclination

      public double orbitalInclination
    • orbitalEccentricity

      public double orbitalEccentricity
    • obliquityToOrbit

      public double obliquityToOrbit
  • Constructor Details

    • CelestialBody

      public CelestialBody()
    • CelestialBody

      public CelestialBody(String name)
  • Method Details

    • getComponents

      public void getComponents(List<JPanel> list)
      Description copied from class: Pose
      Build a Swing Component that represents this Node.
      Overrides:
      getComponents in class Pose
      Parameters:
      list - the list to add components to.
    • getIcon

      public Icon getIcon()
      Description copied from class: Node
      Set a custom icon for this node.
      Overrides:
      getIcon in class Pose
      Returns:
      the icon, or null if none.
    • updateSize

      public void updateSize()
    • toJSON

      public org.json.JSONObject toJSON()
      Description copied from class: Node
      Serialize this node and its children to a JSON object and its children. Classes that override this method should call super.toJSON() first, then add to the object returned.
      Overrides:
      toJSON in class Pose
      Returns:
      the JSON object.
    • fromJSON

      public void fromJSON(org.json.JSONObject json)
      Description copied from class: Node
      Deserialize this node and its children from a JSON object and its children. Classes that override this method should call super.fromJSON(). When they do it will trigger the creation of child nodes. The child nodes will then call their own fromJSON() methods.
      Overrides:
      fromJSON in class Pose
      Parameters:
      json - the JSON object to read from.