Package gaiasky.scenegraph
Class Satellite
- java.lang.Object
-
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable
,I3DTextRenderable
,IModelRenderable
,IQuadRenderable
,IRenderable
,IFocus
,IStarContainer
,IPosition
- Direct Known Subclasses:
Gaia
,GenericSpacecraft
public abstract class Satellite extends ModelBody
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class gaiasky.scenegraph.SceneGraphNode
SceneGraphNode.RenderGroup, SceneGraphNode.TLV3, SceneGraphNode.TLV3D
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
hidden
protected com.badlogic.gdx.math.Matrix4
orientationf
protected boolean
parentOrientation
protected RotationComponent
parentrc
protected static double
TH_ANGLE_NONE
protected static double
TH_ANGLE_POINT
protected static double
TH_ANGLE_QUAD
-
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.AbstractPositionEntity
cc, coordinates, copy, distToCamera, octant, octantId, pos, posSph, size, viewAngle, viewAngleApparent
-
Fields inherited from class gaiasky.scenegraph.SceneGraphNode
aux3d1, aux3d2, aux3d3, aux3d4, aux3f1, aux3f2, aux3f3, aux3f4, children, computed, ct, id, localTransform, name, namekey, numChildren, opacity, orientation, parent, parentkey, parentName, ROOT_NAME, sg, translation
-
-
Constructor Summary
Constructors Constructor Description Satellite()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
doneLoading(com.badlogic.gdx.assets.AssetManager manager)
protected void
forceUpdatePosition(ITimeFrameProvider time, boolean force)
Default implementation, only sets the result of the coordinates call to posfloat
getFuzzyRenderSize(ICamera camera)
RotationComponent
getRotationComponent()
Returns the rotation component of this focusprotected float
getThOverFactorScl()
protected float
getViewAnglePow()
void
initialize()
protected float
labelFactor()
protected float
labelMax()
boolean
renderText()
Tells whether the text must be rendered or not for this entityvoid
setHidden(java.lang.String hidden)
void
setParentorientation(java.lang.String parentorientation)
void
setSize(java.lang.Double size)
Sets the size of this entity in kilometersvoid
setSize(java.lang.Long size)
Sets the absolute size (diameter) of this entityvoid
setToLocalTransform(float sizeFactor, com.badlogic.gdx.math.Matrix4 localTransform, boolean forceUpdate)
Sets the local transform of this satellitedouble
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.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, addToRenderLists, dispose, getHeight, getHeight, getHeight, getHeightScale, getInnerRad, getPositionAboveSurface, getRadius, getSize, getThOverFactor, getWikiname, isShadow, labelSizeConcrete, prepareShadowEnvironment, render, render, render, renderTessellated, setLocthoverfactor, setLocvamultiplier, setModel, setRefplane, setShadowvalues, setSizescalefactor, setToLocalTransform, setTransformations, setWikiname, textScale, updateLocal, withinMagLimit
-
Methods inherited from class gaiasky.scenegraph.CelestialBody
addFocusableObjects, addToIndex, checkClickDistance, checkHitCondition, computeViewAngle, getAbsmag, getAltname, getAppmag, getCandidateId, getCandidateName, getCandidateViewAngleApparent, getClosestAbsolutePos, getClosestDistToCamera, getClosestName, getFocus, getOrientationQuaternion, getPmX, getPmY, getPmZ, getSimpleCopy, getTextOpacity, getViewAngle, hasAtmosphere, isActive, isCoordinatesTimeOverflow, isLabel, isStar, isValidPosition, makeFocus, removeFromIndex, render, setAbsmag, setAltname, setAppmag, setColor2Data, setMag, setRotation, text, textColour, textDepthBuffer, textPosition, textSize, timeCondition, update, updateTransitNumber
-
Methods inherited from class gaiasky.scenegraph.AbstractPositionEntity
computeFuturePosition, getAbsoluteOrientation, getAbsolutePosition, getAbsolutePosition, getAlpha, getDelta, getDistToCamera, getNext, getOctant, getPos, getPosition, getPosition, getPosSph, getPredictedPosition, getViewAngleApparent, isCopy, mustUpdatePosition, render2DLabel, render2DLabel, render2DLabel, render2DLabel, render3DLabel, setColor, setColor, setCoordinates
-
Methods inherited from class gaiasky.scenegraph.SceneGraphNode
add, add, addChild, addChild, addNodes, addToRender, getAggregatedChildren, getChildByName, getChildByNameAndType, getChildrenByType, getComponentType, getCt, getFirstStarAncestor, getId, getLineCopy, getName, getNode, getNode, getOpacity, getOrientation, getRoot, getSceneGraphDepth, getStarCount, getVelocity, insert, isInRender, isInRender, isVisibilityOn, mustAddToIndex, removeChild, removeFromRender, returnToPool, setComputedFlag, setCt, setCt, setId, setName, setNamekey, setParent, setParentkey, 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, getNext, getOctant, getOrientation, getPos, getPosSph, getPredictedPosition, getSceneGraphDepth, getViewAngleApparent, isCopy
-
Methods inherited from interface gaiasky.render.IRenderable
getComponentType, getDistToCamera, getOpacity
-
-
-
-
Field Detail
-
TH_ANGLE_NONE
protected static final double TH_ANGLE_NONE
-
TH_ANGLE_POINT
protected static final double TH_ANGLE_POINT
-
TH_ANGLE_QUAD
protected static final double TH_ANGLE_QUAD
-
parentOrientation
protected boolean parentOrientation
-
hidden
protected boolean hidden
-
orientationf
protected com.badlogic.gdx.math.Matrix4 orientationf
-
parentrc
protected RotationComponent parentrc
-
-
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
-
doneLoading
public void doneLoading(com.badlogic.gdx.assets.AssetManager manager)
- Overrides:
doneLoading
in classModelBody
-
updateLocalValues
public void updateLocalValues(ITimeFrameProvider time, ICamera camera)
Description copied from class:AbstractPositionEntity
This function updates all the local values before the localTransform is updated. Position, rotations and scale must be updated in here.- Specified by:
updateLocalValues
in classAbstractPositionEntity
-
forceUpdatePosition
protected void forceUpdatePosition(ITimeFrameProvider time, boolean force)
Default implementation, only sets the result of the coordinates call to pos- Parameters:
time
- Time to get the coordinatesforce
- Whether to force the update
-
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
-
setToLocalTransform
public void setToLocalTransform(float sizeFactor, com.badlogic.gdx.math.Matrix4 localTransform, boolean forceUpdate)
Sets the local transform of this satellite- Overrides:
setToLocalTransform
in classModelBody
-
labelFactor
protected float labelFactor()
- Specified by:
labelFactor
in classCelestialBody
-
renderText
public boolean renderText()
Description copied from interface:I3DTextRenderable
Tells whether the text must be rendered or not for this entity- Specified by:
renderText
in interfaceI3DTextRenderable
- Overrides:
renderText
in classCelestialBody
- Returns:
- True if text must be rendered
-
getViewAnglePow
protected float getViewAnglePow()
- Overrides:
getViewAnglePow
in classModelBody
-
getThOverFactorScl
protected float getThOverFactorScl()
- Overrides:
getThOverFactorScl
in classModelBody
-
getFuzzyRenderSize
public float getFuzzyRenderSize(ICamera camera)
- Overrides:
getFuzzyRenderSize
in classModelBody
-
setParentorientation
public void setParentorientation(java.lang.String parentorientation)
-
setHidden
public void setHidden(java.lang.String hidden)
-
getRotationComponent
public RotationComponent getRotationComponent()
Description copied from interface:IFocus
Returns the rotation component of this focus- Specified by:
getRotationComponent
in interfaceIFocus
- Overrides:
getRotationComponent
in classCelestialBody
- Returns:
- The rotation component. Can be null
-
setSize
public void setSize(java.lang.Long size)
Description copied from class:AbstractPositionEntity
Sets the absolute size (diameter) of this entity- Overrides:
setSize
in classAbstractPositionEntity
- Parameters:
size
- The diameter in internal units
-
setSize
public void setSize(java.lang.Double size)
Description copied from class:CelestialBody
Sets the size of this entity in kilometers- Overrides:
setSize
in classCelestialBody
- Parameters:
size
- The size in km
-
-