Package gaiasky.scenegraph
Class Planet
- java.lang.Object
-
- gaiasky.scenegraph.SceneGraphNode
-
- gaiasky.scenegraph.CelestialBody
-
- gaiasky.scenegraph.ModelBody
-
- gaiasky.scenegraph.Planet
-
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable
,I3DTextRenderable
,IAtmosphereRenderable
,ICloudRenderable
,ILineRenderable
,IModelRenderable
,IQuadRenderable
,IRenderable
,IFocus
,IStarContainer
,IPosition
public class Planet extends ModelBody implements IAtmosphereRenderable, ICloudRenderable, ILineRenderable
-
-
Field Summary
-
Fields inherited from class gaiasky.scenegraph.ModelBody
fadeOpacity, inverseRefPlaneTransform, locThOverFactor, locVaMultiplier, mc, refPlane, refPlaneTransform, shadow, shadowMapValues, sizeScaleFactor, transformations, wikiname
-
Fields inherited from class gaiasky.scenegraph.CelestialBody
absmag, appmag, ccPale, ccTransit, colorbv, compalpha, coordinatesTimeOverflow, lastTransitIncrease, rc, TH_OVER_FACTOR, transits
-
Fields inherited from class gaiasky.scenegraph.SceneGraphNode
aux3d1, aux3d2, aux3d3, aux3d4, aux3f1, aux3f2, aux3f3, aux3f4, cc, children, computed, coordinates, copy, ct, distToCamera, id, localTransform, namekey, names, numChildren, octant, octantId, opacity, orientation, parent, parentkey, parentName, pos, posSph, ROOT_NAME, sg, size, translation, viewAngle, viewAngleApparent
-
-
Constructor Summary
Constructors Constructor Description Planet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addToRenderLists(ICamera camera)
Adds this entity to the necessary render lists after the distance to the camera and the view angle have been determined.protected boolean
checkClickDistance(int screenX, int screenY, com.badlogic.gdx.math.Vector3 pos, NaturalCamera camera, com.badlogic.gdx.graphics.PerspectiveCamera pcamera, double pixelSize)
void
dispose()
void
doneLoading(com.badlogic.gdx.assets.AssetManager manager)
protected void
forceUpdateLocalValues(ITimeFrameProvider time, boolean force)
int
getGlPrimitive()
float
getLineWidth()
boolean
hasAtmosphere()
void
initialize()
protected float
labelFactor()
void
render(LineRenderSystem renderer, ICamera camera, float alpha)
void
render(IntModelBatch modelBatch, float alpha, double t, RenderingContext rc)
Renders modelvoid
renderAtmosphere(IntModelBatch modelBatch, float alpha, double t, Vector3d vroffset)
Renders the atmospherevoid
renderClouds(IntModelBatch modelBatch, float alpha, double t)
Renders the cloudsvoid
setAtmosphere(AtmosphereComponent ac)
void
setCloud(CloudComponent clc)
protected void
setColor2Data()
double
THRESHOLD_NONE()
radius/distance limit for rendering at all.double
THRESHOLD_POINT()
Angle limit for rendering as point.double
THRESHOLD_QUAD()
radius/distance limit for rendering as shader.void
updateLocal(ITimeFrameProvider time, ICamera camera)
Updates the transform matrix with the transformations that will apply to the children and the local transform matrix with the transformations that will apply only to this object.protected void
updateLocalTransform()
Update the local transform with the transform and the rotations/scales necessary.void
updateLocalValues(ITimeFrameProvider time, ICamera camera)
This function updates all the local values before the localTransform is updated.-
Methods inherited from class gaiasky.scenegraph.ModelBody
addHit, addHit, getFuzzyRenderSize, getHeight, getHeight, getHeight, getHeightScale, getInnerRad, getPositionAboveSurface, getRadius, getSize, getThOverFactor, getThOverFactorScl, getViewAnglePow, getWikiname, isShadow, labelMax, labelSizeConcrete, prepareShadowEnvironment, render, render, renderTessellated, setLocthoverfactor, setLocvamultiplier, setModel, setRefplane, setShadowvalues, setSizescalefactor, setToLocalTransform, setToLocalTransform, setTransformations, setWikiname, textScale, withinMagLimit
-
Methods inherited from class gaiasky.scenegraph.CelestialBody
addFocusableObjects, checkHitCondition, computeViewAngle, getAbsmag, getAppmag, getCandidateId, getCandidateName, getCandidateViewAngleApparent, getClosestAbsolutePos, getClosestDistToCamera, getClosestName, getFocus, getOrientationQuaternion, getPmX, getPmY, getPmZ, getRotationComponent, getSimpleCopy, getTextOpacity, getViewAngle, isActive, isCoordinatesTimeOverflow, isLabel, isStar, isValidPosition, makeFocus, render, renderText, setAbsmag, setAltname, setAppmag, setMag, setRotation, setSize, text, textColour, textDepthBuffer, textPosition, textSize, update
-
Methods inherited from class gaiasky.scenegraph.SceneGraphNode
add, add, addChild, addChild, addName, addNodes, addToIndex, addToRender, computeFuturePosition, getAbsoluteOrientation, getAbsolutePosition, getAbsolutePosition, getAggregatedChildren, getAlpha, getChildByName, getChildByNameAndType, getChildrenByType, getComponentType, getCt, getDelta, getDistToCamera, getFirstStarAncestor, getId, getLineCopy, getName, getNames, getNext, getNode, getNode, getOctant, getOpacity, getOrientation, getPos, getPosition, getPosition, getPosSph, getPredictedPosition, getRoot, getSceneGraphDepth, getStarCount, getUnrotatedPos, getVelocity, getViewAngleApparent, hasName, hasName, insert, insert, isCopy, isInRender, isInRender, isVisibilityOn, mustAddToIndex, mustUpdatePosition, namesConcat, removeChild, removeFromIndex, removeFromRender, render2DLabel, render2DLabel, render2DLabel, render2DLabel, render3DLabel, render3DLabel, returnToPool, setColor, setColor, setComputedFlag, setCoordinates, setCt, setCt, setId, setLabelcolor, setLabelcolor, setName, setNamekey, setNames, setParent, setParentkey, setSize, setUp, toString, update, updateNames, updateNamesRec
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gaiasky.scenegraph.IFocus
getAbsolutePosition, getAbsolutePosition, getAlpha, getCt, getDelta, getDistToCamera, getFirstStarAncestor, getId, getName, getNames, getNext, getOctant, getOrientation, getPos, getPosSph, getPredictedPosition, getSceneGraphDepth, getViewAngleApparent, hasName, hasName, isCopy
-
Methods inherited from interface gaiasky.render.IRenderable
getComponentType, getDistToCamera, getOpacity
-
-
-
-
Method Detail
-
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 classCelestialBody
-
THRESHOLD_POINT
public double THRESHOLD_POINT()
Description copied from class:ModelBody
Angle limit for rendering as point. If angle is any bigger, we render with shader.- Overrides:
THRESHOLD_POINT
in classModelBody
-
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 classCelestialBody
-
initialize
public void initialize()
- Overrides:
initialize
in classModelBody
-
setColor2Data
protected void setColor2Data()
- Overrides:
setColor2Data
in classCelestialBody
-
doneLoading
public void doneLoading(com.badlogic.gdx.assets.AssetManager manager)
- Overrides:
doneLoading
in classModelBody
-
updateLocal
public void updateLocal(ITimeFrameProvider time, ICamera camera)
Description copied from class:SceneGraphNode
Updates the transform matrix with the transformations that will apply to the children and the local transform matrix with the transformations that will apply only to this object.- Overrides:
updateLocal
in classModelBody
-
updateLocalTransform
protected void updateLocalTransform()
Description copied from class:ModelBody
Update the local transform with the transform and the rotations/scales necessary. Override if your model contains more than just the position and size.- Overrides:
updateLocalTransform
in classModelBody
-
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 classSceneGraphNode
-
forceUpdateLocalValues
protected void forceUpdateLocalValues(ITimeFrameProvider time, boolean force)
-
render
public void render(IntModelBatch modelBatch, float alpha, double t, RenderingContext rc)
Renders model- Specified by:
render
in interfaceIModelRenderable
- Overrides:
render
in classModelBody
-
renderAtmosphere
public void renderAtmosphere(IntModelBatch modelBatch, float alpha, double t, Vector3d vroffset)
Renders the atmosphere- Specified by:
renderAtmosphere
in interfaceIAtmosphereRenderable
- Parameters:
modelBatch
- The model batch to use.alpha
- The opacity.t
- The time in seconds since the start.vroffset
- Positional offset in vr mode, if any.
-
renderClouds
public void renderClouds(IntModelBatch modelBatch, float alpha, double t)
Renders the clouds- Specified by:
renderClouds
in interfaceICloudRenderable
- Parameters:
modelBatch
- The model batch to use.alpha
- The opacity.t
- The time in seconds since the start.
-
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 classModelBody
-
hasAtmosphere
public boolean hasAtmosphere()
- Specified by:
hasAtmosphere
in interfaceIModelRenderable
- Overrides:
hasAtmosphere
in classCelestialBody
-
setAtmosphere
public void setAtmosphere(AtmosphereComponent ac)
-
setCloud
public void setCloud(CloudComponent clc)
-
labelFactor
protected float labelFactor()
- Specified by:
labelFactor
in classCelestialBody
-
dispose
public void dispose()
-
render
public void render(LineRenderSystem renderer, ICamera camera, float alpha)
- Specified by:
render
in interfaceILineRenderable
-
getGlPrimitive
public int getGlPrimitive()
- Specified by:
getGlPrimitive
in interfaceILineRenderable
-
checkClickDistance
protected boolean checkClickDistance(int screenX, int screenY, com.badlogic.gdx.math.Vector3 pos, NaturalCamera camera, com.badlogic.gdx.graphics.PerspectiveCamera pcamera, double pixelSize)
- Overrides:
checkClickDistance
in classCelestialBody
-
getLineWidth
public float getLineWidth()
- Specified by:
getLineWidth
in interfaceILineRenderable
-
-