Class ParticleGroup
- java.lang.Object
-
- gaia.cu9.ari.gaiaorbit.scenegraph.SceneGraphNode
-
- gaia.cu9.ari.gaiaorbit.scenegraph.AbstractPositionEntity
-
- gaia.cu9.ari.gaiaorbit.scenegraph.FadeNode
-
- gaia.cu9.ari.gaiaorbit.scenegraph.ParticleGroup
-
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable
,IObserver
,I3DTextRenderable
,IRenderable
,IFocus
,IStarContainer
,IPosition
- Direct Known Subclasses:
StarGroup
public class ParticleGroup extends FadeNode implements I3DTextRenderable, IFocus, IObserver
This class represents a vgroup of non-focusable particles, all with the same luminosity. The contents of this vgroup will be sent once to GPU memory and stay there, so all particles get rendered directly in the GPU from the GPU with no CPU intervention. This allows for much faster rendering. Use this for large groups of particles.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ParticleGroup.ParticleBean
-
Nested classes/interfaces inherited from class gaia.cu9.ari.gaiaorbit.scenegraph.SceneGraphNode
SceneGraphNode.RenderGroup, SceneGraphNode.TLV3, SceneGraphNode.TLV3D
-
-
Field Summary
Fields Modifier and Type Field Description protected float[]
ccMax
Mapping colorsprotected float[]
ccMin
Mapping colorsfloat
colorNoise
Noise factor for the color in [0,1]int
count
protected java.lang.String
datafile
Path of data fileboolean
disposed
protected java.lang.Double
factor
Factor to apply to the data points, usually to normalise distancesprotected boolean
fixedMeanPosition
This flag indicates whether the mean position is already given by the JSON injectorboolean
inGpu
Are the data of this vgroup in the GPU memory?protected long
lastSortTime
Stores the time when the last sort operation finished, in msprotected double
maxDistance
protected double
meanDistance
The mean distance from the origin of all points in this group.protected double
minDistance
int
offset
protected com.badlogic.gdx.utils.Array<? extends ParticleGroup.ParticleBean>
pointData
List that contains the point data.float
profileDecay
Profile decay of the particles in the shaderprotected java.lang.String
provider
Fully qualified name of data provider class-
Fields inherited from class gaia.cu9.ari.gaiaorbit.scenegraph.FadeNode
catalogInfo, highlighted, hlci, hlColor, hlColorFloat, hli, inSceneGraph, labelColour, labelPosition
-
Fields inherited from class gaia.cu9.ari.gaiaorbit.scenegraph.AbstractPositionEntity
cc, coordinates, copy, distToCamera, octant, octantId, pos, posSph, size, viewAngle, viewAngleApparent
-
Fields inherited from class gaia.cu9.ari.gaiaorbit.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 ParticleGroup()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addFocusableObjects(com.badlogic.gdx.utils.Array<IFocus> list)
Adds all the children that are focusable objects to the list.void
addHit(int screenX, int screenY, int w, int h, int pxdist, NaturalCamera camera, com.badlogic.gdx.utils.Array<IFocus> hits)
Adds this focus to the hits list if it is hit by the [screenX, screenY] positionvoid
addHit(Vector3d p0, Vector3d p1, NaturalCamera camera, com.badlogic.gdx.utils.Array<IFocus> hits)
Adds this focus to the hits list if it is hit by the given rayprotected 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.Vector3d
computeGeomCentre()
Computes the geometric centre of this data cloudVector3d
computeGeomCentre(boolean forceRecompute)
Computes the geometric centre of this data cloudcom.badlogic.gdx.utils.Array<? extends ParticleGroup.ParticleBean>
data()
Returns the data listvoid
dispose()
void
doneLoading(com.badlogic.gdx.assets.AssetManager manager)
protected Vector3d
fetchPosition(ParticleGroup.ParticleBean pb, Vector3d campos, Vector3d dest, double deltaYears)
Fetches the real position of the particle.float
getAbsmag()
Gets the absolute magnitudeVector3d
getAbsolutePosition(Vector3d out)
Returns the absolute position of this entity in the native coordinates (equatorial system)Vector3d
getAbsolutePosition(java.lang.String name, Vector3d out)
Returns the absolute position of the entity identified by name within this entity in the native reference systemdouble
getAlpha()
Returns the right ascension angle of this focus objectfloat
getAppmag()
Gets the apparent magnitudeprotected float
getBaseOpacity()
long
getCandidateId()
Returns the id of the focus candidate of this object.int
getCandidateIndex()
java.lang.String
getCandidateName()
Returns the name of the focus candidate of this object.double
getCandidateViewAngleApparent()
Returns the candidate apparent view angle (view angle corrected with the field of view) of this entity, in radiansVector3d
getClosestAbsolutePos(Vector3d out)
double
getClosestDistToCamera()
Same asIFocus.getDistToCamera()
java.lang.String
getClosestName()
Same asIFocus.getName()
float[]
getColor()
float[]
getColorMax()
float[]
getColorMin()
AbstractPositionEntity
getComputedAncestor()
double
getDelta()
Returns the declination angle of this focus objectprotected double
getDeltaYears()
Returns the delta years to integrate the proper motion.double
getDistToCamera()
Returns the current distance to the camera in internal units.SceneGraphNode
getFirstStarAncestor()
Gets the first ancestor of this node that is of typeStar
IFocus
getFocus(java.lang.String name)
Prepares the candidate with the given namedouble
getFocusSize()
Default size if not in data, 1e5 kmlong
getId()
Returns the iddouble
getMaxDistance()
double
getMeanDistance()
double
getMinDistance()
java.lang.String
getName()
Returns name of focusQuaterniond
getOrientationQuaternion()
Returns the orientation quaternion of this focusVector2d
getPosSph()
Gets the position in equatorial spherical coordinatesVector3d
getPredictedPosition(Vector3d aux, ITimeFrameProvider time, ICamera camera, boolean force)
Gets the position of this entity in the next time step in the internal reference system using the given time provider and the given camera.java.lang.String
getProvider()
LABELdouble
getRadius()
Returns the radius in internal unitsdouble
getRadius(int i)
RotationComponent
getRotationComponent()
Returns the rotation component of this focusdouble
getSize()
Returns the size (diameter) of this entity in internal units.double
getSize(int i)
Returns the size of the particle at index iint
getStarCount()
float
getTextOpacity()
Gets the text opacitydouble
getViewAngle()
Returns the current view angle of this entity, in radians.double
getViewAngleApparent()
Returns the current apparent view angle (view angle corrected with the field of view) of this entity, in radians.void
highlight(boolean hl)
void
highlight(boolean hl, int index)
float
highlightedSizeFactor()
void
initialize()
boolean
isActive()
Returns whether this focus object is active or not.boolean
isCoordinatesTimeOverflow()
Checks whether this foucs is within its valid time range, so that it can be used as a focusboolean
isLabel()
Is it a label or another kind of text?void
makeFocus()
Hook that runs when the candidate is actually made focusboolean
mustAddToIndex()
Whether to add this node to the indexvoid
notify(Events event, java.lang.Object... data)
void
render(ExtSpriteBatch batch, ExtShaderProgram shader, FontRenderSystem sys, RenderingContext rc, ICamera camera)
Label rendering.boolean
renderText()
Tells whether the text must be rendered or not for this entityvoid
setColorMax(double[] colorMax)
void
setColorMax(float[] colorMax)
void
setColorMin(double[] colorMin)
void
setColorMin(float[] colorMin)
void
setColornoise(java.lang.Double colorNoise)
void
setDatafile(java.lang.String datafile)
void
setFactor(java.lang.Double factor)
void
setFocusIndex(int index)
void
setPosition(double[] pos)
Returns position of focusvoid
setProfiledecay(java.lang.Double profiledecay)
void
setProvider(java.lang.String provider)
int
size()
Number of objects of this vgroupjava.lang.String
text()
Returns the textfloat[]
textColour()
Returns an array with the text colour in the fashion [r, g, b, a]void
textDepthBuffer()
Executes the blending for the textvoid
textPosition(ICamera cam, Vector3d out)
Sets the position of this text in the out vectorfloat
textScale()
Returns the text scale for the scale varying in the shaderfloat
textSize()
Returns the text sizevoid
update(ITimeFrameProvider time, Vector3d parentTransform, ICamera camera)
void
update(ITimeFrameProvider time, Vector3d parentTransform, ICamera camera, float opacity)
void
updateFocus(ITimeFrameProvider time, ICamera camera)
Updates the parameters of the focus, if the focus is active in this vgroupvoid
updateLocalValues(ITimeFrameProvider time, ICamera camera)
This function updates all the local values before the localTransform is updated.void
updateSorter(ITimeFrameProvider time, ICamera camera)
boolean
withinMagLimit()
Returns true if the focus is within the magnitude limit defined inGlobalConf
-
Methods inherited from class gaia.cu9.ari.gaiaorbit.scenegraph.FadeNode
getCatalogInfo, isHighlighted, isVisible, nextHightlightColorIndex, setCataloginfo, setCatalogInfo, setFadein, setFadeout, setLabelcolor, setLabelposition, setPositionobjectname, setSize, setSize, setUp, setVisible, updateLocal
-
Methods inherited from class gaia.cu9.ari.gaiaorbit.scenegraph.AbstractPositionEntity
computeFuturePosition, getAbsoluteOrientation, getHeight, getHeight, getHeight, getHeightScale, getNext, getOctant, getPos, getPosition, getPosition, getSimpleCopy, isCopy, mustUpdatePosition, render2DLabel, render2DLabel, render2DLabel, render2DLabel, render3DLabel, setColor, setColor, setCoordinates
-
Methods inherited from class gaia.cu9.ari.gaiaorbit.scenegraph.SceneGraphNode
add, add, addChild, addChild, addNodes, addToIndex, addToRender, getAggregatedChildren, getChildByName, getChildByNameAndType, getChildrenByType, getComponentType, getCt, getLineCopy, getNode, getNode, getOpacity, getOrientation, getRoot, getSceneGraphDepth, getVelocity, insert, isInRender, isInRender, isValidPosition, isVisibilityOn, removeChild, removeFromIndex, removeFromRender, returnToPool, setComputedFlag, setCt, setCt, setId, setName, setNamekey, setParent, setParentkey, toString, updateNames, updateNamesRec
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gaia.cu9.ari.gaiaorbit.scenegraph.IFocus
getCt, getHeight, getHeight, getHeight, getHeightScale, getNext, getOctant, getOrientation, getPos, getSceneGraphDepth, isCopy
-
Methods inherited from interface gaia.cu9.ari.gaiaorbit.render.IRenderable
getComponentType, getOpacity
-
-
-
-
Field Detail
-
pointData
protected com.badlogic.gdx.utils.Array<? extends ParticleGroup.ParticleBean> pointData
List that contains the point data. It contains only [x y z]
-
provider
protected java.lang.String provider
Fully qualified name of data provider class
-
datafile
protected java.lang.String datafile
Path of data file
-
profileDecay
public float profileDecay
Profile decay of the particles in the shader
-
colorNoise
public float colorNoise
Noise factor for the color in [0,1]
-
inGpu
public boolean inGpu
Are the data of this vgroup in the GPU memory?
-
offset
public int offset
-
count
public int count
-
fixedMeanPosition
protected boolean fixedMeanPosition
This flag indicates whether the mean position is already given by the JSON injector
-
factor
protected java.lang.Double factor
Factor to apply to the data points, usually to normalise distances
-
ccMin
protected float[] ccMin
Mapping colors
-
ccMax
protected float[] ccMax
Mapping colors
-
lastSortTime
protected long lastSortTime
Stores the time when the last sort operation finished, in ms
-
meanDistance
protected double meanDistance
The mean distance from the origin of all points in this group. Gives a sense of the scale.
-
maxDistance
protected double maxDistance
-
minDistance
protected double minDistance
-
disposed
public boolean disposed
-
-
Method Detail
-
initialize
public void initialize()
- Overrides:
initialize
in classSceneGraphNode
-
doneLoading
public void doneLoading(com.badlogic.gdx.assets.AssetManager manager)
- Overrides:
doneLoading
in classFadeNode
-
data
public com.badlogic.gdx.utils.Array<? extends ParticleGroup.ParticleBean> data()
Returns the data list- Returns:
- The data list
-
computeGeomCentre
public Vector3d computeGeomCentre()
Computes the geometric centre of this data cloud
-
computeGeomCentre
public Vector3d computeGeomCentre(boolean forceRecompute)
Computes the geometric centre of this data cloud- Parameters:
forceRecompute
- Recomputes the geometric centre even if it has been already computed
-
size
public int size()
Number of objects of this vgroup- Returns:
- The number of objects
-
update
public void update(ITimeFrameProvider time, Vector3d parentTransform, ICamera camera, float opacity)
-
update
public void update(ITimeFrameProvider time, Vector3d parentTransform, ICamera camera)
- Overrides:
update
in classSceneGraphNode
-
updateFocus
public void updateFocus(ITimeFrameProvider time, ICamera camera)
Updates the parameters of the focus, if the focus is active in this vgroup- Parameters:
time
- The time frame providercamera
- The current camera
-
updateSorter
public void updateSorter(ITimeFrameProvider time, ICamera camera)
-
addToRenderLists
protected void addToRenderLists(ICamera camera)
Description copied from class:AbstractPositionEntity
Adds this entity to the necessary render lists after the distance to the camera and the view angle have been determined.- Overrides:
addToRenderLists
in classFadeNode
-
render
public void render(ExtSpriteBatch batch, ExtShaderProgram shader, FontRenderSystem sys, RenderingContext rc, ICamera camera)
Label rendering.- Specified by:
render
in interfaceI3DTextRenderable
- Parameters:
batch
- The sprite batchshader
- The shadersys
- The font render systemrc
- The render contextcamera
- The camera
-
getProvider
public java.lang.String getProvider()
LABEL
-
setProvider
public void setProvider(java.lang.String provider)
-
setDatafile
public void setDatafile(java.lang.String datafile)
-
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.- Overrides:
updateLocalValues
in classFadeNode
-
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
- Returns:
- True if text must be rendered
-
textColour
public float[] textColour()
Description copied from interface:I3DTextRenderable
Returns an array with the text colour in the fashion [r, g, b, a]- Specified by:
textColour
in interfaceI3DTextRenderable
- Returns:
- Array with the colour
-
textSize
public float textSize()
Description copied from interface:I3DTextRenderable
Returns the text size- Specified by:
textSize
in interfaceI3DTextRenderable
- Returns:
- The text size
-
textScale
public float textScale()
Description copied from interface:I3DTextRenderable
Returns the text scale for the scale varying in the shader- Specified by:
textScale
in interfaceI3DTextRenderable
- Returns:
- The scale
-
textPosition
public void textPosition(ICamera cam, Vector3d out)
Description copied from interface:I3DTextRenderable
Sets the position of this text in the out vector- Specified by:
textPosition
in interfaceI3DTextRenderable
out
- The out parameter with the result
-
text
public java.lang.String text()
Description copied from interface:I3DTextRenderable
Returns the text- Specified by:
text
in interfaceI3DTextRenderable
- Returns:
- The text
-
textDepthBuffer
public void textDepthBuffer()
Description copied from interface:I3DTextRenderable
Executes the blending for the text- Specified by:
textDepthBuffer
in interfaceI3DTextRenderable
-
isLabel
public boolean isLabel()
Description copied from interface:I3DTextRenderable
Is it a label or another kind of text?- Specified by:
isLabel
in interfaceI3DTextRenderable
- Returns:
- Whether this is a label
-
setFactor
public void setFactor(java.lang.Double factor)
-
setProfiledecay
public void setProfiledecay(java.lang.Double profiledecay)
-
setColornoise
public void setColornoise(java.lang.Double colorNoise)
-
getFocusSize
public double getFocusSize()
Default size if not in data, 1e5 km- Returns:
- The size
-
getId
public long getId()
Returns the id- Specified by:
getId
in interfaceIFocus
- Overrides:
getId
in classSceneGraphNode
- Returns:
- The id
-
getName
public java.lang.String getName()
Returns name of focus- Specified by:
getName
in interfaceIFocus
- Overrides:
getName
in classSceneGraphNode
- Returns:
- The name
-
getClosestName
public java.lang.String getClosestName()
Description copied from interface:IFocus
Same asIFocus.getName()
- Specified by:
getClosestName
in interfaceIFocus
- Returns:
- The name
-
getClosestDistToCamera
public double getClosestDistToCamera()
Description copied from interface:IFocus
Same asIFocus.getDistToCamera()
- Specified by:
getClosestDistToCamera
in interfaceIFocus
- Returns:
- The distance to the camera in internal units
-
getClosestAbsolutePos
public Vector3d getClosestAbsolutePos(Vector3d out)
Description copied from interface:IFocus
- Specified by:
getClosestAbsolutePos
in interfaceIFocus
- Parameters:
out
- Vector3d where to put the return value- Returns:
- The absolute position, same as aux
-
getStarCount
public int getStarCount()
- Specified by:
getStarCount
in interfaceIStarContainer
- Overrides:
getStarCount
in classSceneGraphNode
-
isActive
public boolean isActive()
Description copied from interface:IFocus
Returns whether this focus object is active or not. Useful for particle groups
-
setPosition
public void setPosition(double[] pos)
Returns position of focus- Overrides:
setPosition
in classFadeNode
-
addFocusableObjects
public void addFocusableObjects(com.badlogic.gdx.utils.Array<IFocus> list)
Adds all the children that are focusable objects to the list.- Overrides:
addFocusableObjects
in classSceneGraphNode
- Parameters:
list
-
-
getComputedAncestor
public AbstractPositionEntity getComputedAncestor()
-
getFirstStarAncestor
public SceneGraphNode getFirstStarAncestor()
Description copied from class:SceneGraphNode
Gets the first ancestor of this node that is of typeStar
- Specified by:
getFirstStarAncestor
in interfaceIFocus
- Overrides:
getFirstStarAncestor
in classSceneGraphNode
- Returns:
- The first ancestor of type
Star
-
getAbsolutePosition
public Vector3d getAbsolutePosition(Vector3d out)
Description copied from class:AbstractPositionEntity
Returns the absolute position of this entity in the native coordinates (equatorial system)- Specified by:
getAbsolutePosition
in interfaceIFocus
- Overrides:
getAbsolutePosition
in classAbstractPositionEntity
- Parameters:
out
- Auxiliary vector to put the result in- Returns:
- The vector with the position
-
getAbsolutePosition
public Vector3d getAbsolutePosition(java.lang.String name, Vector3d out)
Description copied from interface:IFocus
Returns the absolute position of the entity identified by name within this entity in the native reference system- Specified by:
getAbsolutePosition
in interfaceIFocus
- Overrides:
getAbsolutePosition
in classAbstractPositionEntity
- Parameters:
name
- The name (lowercase) of the entity to get the position from (useful in case of star groups)out
- Vector3d to put the return value- Returns:
- The absolute position of the entity if it exists, null otherwise
-
getPredictedPosition
public Vector3d getPredictedPosition(Vector3d aux, ITimeFrameProvider time, ICamera camera, boolean force)
Description copied from class:AbstractPositionEntity
Gets the position of this entity in the next time step in the internal reference system using the given time provider and the given camera.- Specified by:
getPredictedPosition
in interfaceIFocus
- Overrides:
getPredictedPosition
in classAbstractPositionEntity
- Parameters:
aux
- The out vector where the result will be stored.time
- The time frame provider.camera
- The camera.force
- Whether to force the computation if time is off.- Returns:
- The aux vector for chaining.
-
getPosSph
public Vector2d getPosSph()
Description copied from interface:IFocus
Gets the position in equatorial spherical coordinates- Specified by:
getPosSph
in interfaceIFocus
- Overrides:
getPosSph
in classAbstractPositionEntity
- Returns:
- The position in alpha, delta
-
getDistToCamera
public double getDistToCamera()
Description copied from class:AbstractPositionEntity
Returns the current distance to the camera in internal units.- Specified by:
getDistToCamera
in interfaceIFocus
- Specified by:
getDistToCamera
in interfaceIRenderable
- Overrides:
getDistToCamera
in classAbstractPositionEntity
- Returns:
- The current distance to the camera, in internal units.
-
getViewAngle
public double getViewAngle()
Description copied from class:AbstractPositionEntity
Returns the current view angle of this entity, in radians.- Specified by:
getViewAngle
in interfaceIFocus
- Overrides:
getViewAngle
in classAbstractPositionEntity
- Returns:
- The view angle in radians.
-
getViewAngleApparent
public double getViewAngleApparent()
Description copied from class:AbstractPositionEntity
Returns the current apparent view angle (view angle corrected with the field of view) of this entity, in radians.- Specified by:
getViewAngleApparent
in interfaceIFocus
- Overrides:
getViewAngleApparent
in classAbstractPositionEntity
- Returns:
- The apparent view angle in radians.
-
getSize
public double getSize()
Description copied from class:AbstractPositionEntity
Returns the size (diameter) of this entity in internal units.- Specified by:
getSize
in interfaceIFocus
- Overrides:
getSize
in classAbstractPositionEntity
- Returns:
- The size in internal units.
-
getAppmag
public float getAppmag()
Description copied from interface:IFocus
Gets the apparent magnitude
-
getAbsmag
public float getAbsmag()
Description copied from interface:IFocus
Gets the absolute magnitude
-
getSize
public double getSize(int i)
Returns the size of the particle at index i- Parameters:
i
- The index- Returns:
- The size
-
getRadius
public double getRadius(int i)
-
getRadius
public double getRadius()
Description copied from class:AbstractPositionEntity
Returns the radius in internal units- Specified by:
getRadius
in interfaceIFocus
- Overrides:
getRadius
in classAbstractPositionEntity
- Returns:
- The radius of the object, in internal units
-
withinMagLimit
public boolean withinMagLimit()
Description copied from interface:IFocus
Returns true if the focus is within the magnitude limit defined inGlobalConf
- Specified by:
withinMagLimit
in interfaceIFocus
- Returns:
- True if focus within magnitude limit
-
getRotationComponent
public RotationComponent getRotationComponent()
Description copied from interface:IFocus
Returns the rotation component of this focus- Specified by:
getRotationComponent
in interfaceIFocus
- Returns:
- The rotation component. Can be null
-
getOrientationQuaternion
public Quaterniond getOrientationQuaternion()
Description copied from interface:IFocus
Returns the orientation quaternion of this focus- Specified by:
getOrientationQuaternion
in interfaceIFocus
- Returns:
- The orientation quaternion. Can be null
-
getColor
public float[] getColor()
-
highlightedSizeFactor
public float highlightedSizeFactor()
-
addHit
public void addHit(int screenX, int screenY, int w, int h, int pxdist, NaturalCamera camera, com.badlogic.gdx.utils.Array<IFocus> hits)
Description copied from interface:IFocus
Adds this focus to the hits list if it is hit by the [screenX, screenY] position
-
addHit
public void addHit(Vector3d p0, Vector3d p1, NaturalCamera camera, com.badlogic.gdx.utils.Array<IFocus> hits)
Description copied from interface:IFocus
Adds this focus to the hits list if it is hit by the given ray
-
notify
public void notify(Events event, java.lang.Object... data)
-
setFocusIndex
public void setFocusIndex(int index)
-
makeFocus
public void makeFocus()
Description copied from interface:IFocus
Hook that runs when the candidate is actually made focus
-
getCandidateIndex
public int getCandidateIndex()
-
getCandidateId
public long getCandidateId()
Description copied from interface:IFocus
Returns the id of the focus candidate of this object. Defaults toIFocus.getId()
- Specified by:
getCandidateId
in interfaceIFocus
- Returns:
- The id of the candidate
-
getCandidateName
public java.lang.String getCandidateName()
Description copied from interface:IFocus
Returns the name of the focus candidate of this object. Defaults toIFocus.getName()
- Specified by:
getCandidateName
in interfaceIFocus
- Returns:
- The name of the candidate
-
getCandidateViewAngleApparent
public double getCandidateViewAngleApparent()
Description copied from interface:IFocus
Returns the candidate apparent view angle (view angle corrected with the field of view) of this entity, in radians- Specified by:
getCandidateViewAngleApparent
in interfaceIFocus
- Returns:
- The apparent view angle in radians
-
getFocus
public IFocus getFocus(java.lang.String name)
Description copied from interface:IFocus
Prepares the candidate with the given name
-
getAlpha
public double getAlpha()
Description copied from interface:IFocus
Returns the right ascension angle of this focus object- Specified by:
getAlpha
in interfaceIFocus
- Overrides:
getAlpha
in classAbstractPositionEntity
- Returns:
- The right ascension angle in degrees
-
getDelta
public double getDelta()
Description copied from interface:IFocus
Returns the declination angle of this focus object- Specified by:
getDelta
in interfaceIFocus
- Overrides:
getDelta
in classAbstractPositionEntity
- Returns:
- The declination angle in degrees
-
getBaseOpacity
protected float getBaseOpacity()
- Overrides:
getBaseOpacity
in classFadeNode
-
fetchPosition
protected Vector3d fetchPosition(ParticleGroup.ParticleBean pb, Vector3d campos, Vector3d dest, double deltaYears)
Fetches the real position of the particle. It will apply the necessary integrations (i.e. proper motion).- Parameters:
pb
- The particle beancampos
- The position of the camera. If null, the camera position is not subtracted so that the coordinates are given in the global reference system instead of the camera reference system.dest
- The destination fectordeltaYears
- The delta years- Returns:
- The vector for chaining
-
getMeanDistance
public double getMeanDistance()
-
getMinDistance
public double getMinDistance()
-
getMaxDistance
public double getMaxDistance()
-
getDeltaYears
protected double getDeltaYears()
Returns the delta years to integrate the proper motion.- Returns:
-
isCoordinatesTimeOverflow
public boolean isCoordinatesTimeOverflow()
Description copied from interface:IFocus
Checks whether this foucs is within its valid time range, so that it can be used as a focus- Specified by:
isCoordinatesTimeOverflow
in interfaceIFocus
- Returns:
- Whether the focus object is within its valid time range
-
mustAddToIndex
public boolean mustAddToIndex()
Description copied from class:SceneGraphNode
Whether to add this node to the index- Overrides:
mustAddToIndex
in classSceneGraphNode
- Returns:
- True if the node needs to be added to the index.
-
dispose
public void dispose()
- Specified by:
dispose
in interfacecom.badlogic.gdx.utils.Disposable
- Overrides:
dispose
in classSceneGraphNode
-
getTextOpacity
public float getTextOpacity()
Description copied from interface:I3DTextRenderable
Gets the text opacity- Specified by:
getTextOpacity
in interfaceI3DTextRenderable
- Returns:
- Text opacity
-
setColorMin
public void setColorMin(double[] colorMin)
-
setColorMin
public void setColorMin(float[] colorMin)
-
setColorMax
public void setColorMax(double[] colorMax)
-
setColorMax
public void setColorMax(float[] colorMax)
-
getColorMin
public float[] getColorMin()
-
getColorMax
public float[] getColorMax()
-
-