Class CelestialBody
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
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 Summary
Modifier and TypeFieldDescriptiondouble
double
double
double
double
double
double
double
double
double
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
fromJSON
(org.json.JSONObject json) Deserialize this node and its children from a JSON object and its children.void
getComponents
(List<JPanel> list) Build a Swing Component that represents this Node.getIcon()
Set a custom icon for this node.org.json.JSONObject
toJSON()
Serialize this node and its children to a JSON object and its children.void
Methods inherited from class com.marginallyclever.ro3.node.nodes.pose.Pose
addPoseChangeListener, getLocal, getParentPose, getPosition, getRotationEuler, getRotationIndex, getWorld, onPoseChange, removePoseChangeListener, setLocal, setPosition, setRotationEuler, setRotationIndex, setWorld
Methods inherited from class com.marginallyclever.ro3.node.Node
addAttachListener, addChild, addChild, addDetachListener, addReadyListener, addRenameListener, findByPath, findChild, findChild, findFirstChild, findFirstSibling, findNodeByID, findParent, findParent, getAbsolutePath, getChildren, getName, getParent, getRootNode, getUniqueID, hasParent, isNameUsedBySibling, removeAttachListener, removeChild, removeDetachListener, removeReadyListener, removeRenameListener, setName, update, witnessProtection
-
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
-
-
Method Details
-
getComponents
Description copied from class:Pose
Build a Swing Component that represents this Node.- Overrides:
getComponents
in classPose
- Parameters:
list
- the list to add components to.
-
getIcon
Description copied from class:Node
Set a custom icon for this node. -
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. -
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.
-