Package gaiasky.scenegraph
Class Billboard
- java.lang.Object
-
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable,I3DTextRenderable,IModelRenderable,IQuadRenderable,IRenderable,IFocus,IStarContainer,IPosition
- Direct Known Subclasses:
BillboardGalaxy
public class Billboard 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 double[]fadeprotected booleanhiddenprotected com.badlogic.gdx.math.Quaternionqprotected static doubleTH_ANGLE_NONEprotected static doubleTH_ANGLE_POINTprotected static doubleTH_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, namekey, names, numChildren, opacity, orientation, parent, parentkey, parentName, ROOT_NAME, sg, translation
-
-
Constructor Summary
Constructors Constructor Description Billboard()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddToRenderLists(ICamera camera)Adds this entity to the necessary render lists after the distance to the camera and the view angle have been determined.voiddoneLoading(com.badlogic.gdx.assets.AssetManager manager)protected voidforceUpdatePosition(ITimeFrameProvider time, boolean force)Default implementation, only sets the result of the coordinates call to posfloatgetFuzzyRenderSize(ICamera camera)floatgetTextOpacity()Gets the text opacityprotected floatgetThOverFactorScl()protected floatgetViewAnglePow()voidinitialize()protected floatlabelFactor()floatlabelSizeConcrete()voidrender(IntModelBatch modelBatch, float alpha, double t, RenderingContext rc)Model renderingbooleanrenderText()Tells whether the text must be rendered or not for this entityvoidsetFade(double[] fadein)voidsetHidden(java.lang.String hidden)voidsetSizepc(java.lang.Double sizePc)Sets the size of this entity in parsecsvoidsetToLocalTransform(com.badlogic.gdx.math.Matrix4 localTransform, boolean forceUpdate)Sets the local transform of this satellitefloattextScale()Returns the text scale for the scale varying in the shaderdoubleTHRESHOLD_NONE()radius/distance limit for rendering at all.doubleTHRESHOLD_POINT()Angle limit for rendering as point.doubleTHRESHOLD_QUAD()radius/distance limit for rendering as shader.protected voidupdateLocalTransform()Update the local transform with the transform and the rotations/scales necessary.voidupdateLocalValues(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, dispose, getHeight, getHeight, getHeight, getHeightScale, getInnerRad, getPositionAboveSurface, getRadius, getSize, getThOverFactor, getWikiname, isShadow, labelMax, prepareShadowEnvironment, render, render, renderTessellated, setLocthoverfactor, setLocvamultiplier, setModel, setRefplane, setShadowvalues, setSizescalefactor, setToLocalTransform, setToLocalTransform, setTransformations, setWikiname, updateLocal, withinMagLimit
-
Methods inherited from class gaiasky.scenegraph.CelestialBody
addFocusableObjects, checkClickDistance, checkHitCondition, computeViewAngle, getAbsmag, getAppmag, getCandidateId, getCandidateName, getCandidateViewAngleApparent, getClosestAbsolutePos, getClosestDistToCamera, getClosestName, getFocus, getOrientationQuaternion, getPmX, getPmY, getPmZ, getRotationComponent, getSimpleCopy, getViewAngle, hasAtmosphere, isActive, isCoordinatesTimeOverflow, isLabel, isStar, isValidPosition, makeFocus, render, setAbsmag, setAltname, setAppmag, setColor2Data, setMag, setRotation, setSize, 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, setLabelcolor, setLabelcolor, setSize
-
Methods inherited from class gaiasky.scenegraph.SceneGraphNode
add, add, addChild, addChild, addName, addNodes, addToIndex, addToRender, getAggregatedChildren, getChildByName, getChildByNameAndType, getChildrenByType, getComponentType, getCt, getFirstStarAncestor, getId, getLineCopy, getName, getNames, getNode, getNode, getOpacity, getOrientation, getRoot, getSceneGraphDepth, getStarCount, getVelocity, hasName, hasName, insert, insert, isInRender, isInRender, isVisibilityOn, mustAddToIndex, namesConcat, removeChild, removeFromIndex, removeFromRender, returnToPool, setComputedFlag, setCt, setCt, setId, setName, setNamekey, setNames, 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, getNames, getNext, getOctant, getOrientation, getPos, getPosSph, getPredictedPosition, getSceneGraphDepth, getViewAngleApparent, hasName, hasName, isCopy
-
Methods inherited from interface gaiasky.render.IRenderable
getComponentType, getDistToCamera, getOpacity
-
-
-
-
Field Detail
-
TH_ANGLE_NONE
protected static final double TH_ANGLE_NONE
- See Also:
- Constant Field Values
-
TH_ANGLE_POINT
protected static final double TH_ANGLE_POINT
-
TH_ANGLE_QUAD
protected static final double TH_ANGLE_QUAD
-
hidden
protected boolean hidden
-
fade
protected double[] fade
-
q
protected com.badlogic.gdx.math.Quaternion q
-
-
Method Detail
-
THRESHOLD_NONE
public double THRESHOLD_NONE()
Description copied from class:CelestialBodyradius/distance limit for rendering at all. If angle is smaller than this quantity, no rendering happens.- Specified by:
THRESHOLD_NONEin classCelestialBody
-
THRESHOLD_POINT
public double THRESHOLD_POINT()
Description copied from class:ModelBodyAngle limit for rendering as point. If angle is any bigger, we render with shader.- Overrides:
THRESHOLD_POINTin classModelBody
-
THRESHOLD_QUAD
public double THRESHOLD_QUAD()
Description copied from class:CelestialBodyradius/distance limit for rendering as shader. If angle is any bigger, we render as a model.- Specified by:
THRESHOLD_QUADin classCelestialBody
-
initialize
public void initialize()
- Overrides:
initializein classModelBody
-
doneLoading
public void doneLoading(com.badlogic.gdx.assets.AssetManager manager)
- Overrides:
doneLoadingin classModelBody
-
updateLocalValues
public void updateLocalValues(ITimeFrameProvider time, ICamera camera)
Description copied from class:AbstractPositionEntityThis function updates all the local values before the localTransform is updated. Position, rotations and scale must be updated in here.- Specified by:
updateLocalValuesin 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:ModelBodyUpdate the local transform with the transform and the rotations/scales necessary. Override if your model contains more than just the position and size.- Overrides:
updateLocalTransformin classModelBody
-
setToLocalTransform
public void setToLocalTransform(com.badlogic.gdx.math.Matrix4 localTransform, boolean forceUpdate)Sets the local transform of this satellite
-
addToRenderLists
protected void addToRenderLists(ICamera camera)
Description copied from class:AbstractPositionEntityAdds this entity to the necessary render lists after the distance to the camera and the view angle have been determined.- Overrides:
addToRenderListsin classModelBody
-
render
public void render(IntModelBatch modelBatch, float alpha, double t, RenderingContext rc)
Model rendering- Specified by:
renderin interfaceIModelRenderable- Overrides:
renderin classModelBody
-
labelFactor
protected float labelFactor()
- Specified by:
labelFactorin classCelestialBody
-
renderText
public boolean renderText()
Description copied from interface:I3DTextRenderableTells whether the text must be rendered or not for this entity- Specified by:
renderTextin interfaceI3DTextRenderable- Overrides:
renderTextin classCelestialBody- Returns:
- True if text must be rendered
-
getTextOpacity
public float getTextOpacity()
Description copied from interface:I3DTextRenderableGets the text opacity- Specified by:
getTextOpacityin interfaceI3DTextRenderable- Overrides:
getTextOpacityin classCelestialBody- Returns:
- Text opacity
-
labelSizeConcrete
public float labelSizeConcrete()
- Overrides:
labelSizeConcretein classModelBody
-
getViewAnglePow
protected float getViewAnglePow()
- Overrides:
getViewAnglePowin classModelBody
-
getThOverFactorScl
protected float getThOverFactorScl()
- Overrides:
getThOverFactorSclin classModelBody
-
textScale
public float textScale()
Description copied from interface:I3DTextRenderableReturns the text scale for the scale varying in the shader- Specified by:
textScalein interfaceI3DTextRenderable- Overrides:
textScalein classModelBody- Returns:
- The scale
-
getFuzzyRenderSize
public float getFuzzyRenderSize(ICamera camera)
- Overrides:
getFuzzyRenderSizein classModelBody
-
setHidden
public void setHidden(java.lang.String hidden)
-
setSizepc
public void setSizepc(java.lang.Double sizePc)
Sets the size of this entity in parsecs- Parameters:
sizePc- The size in parsecs
-
setFade
public void setFade(double[] fadein)
-
-