Package gaiasky.util.camera
Class Proximity.NearbyRecord
java.lang.Object
gaiasky.util.camera.Proximity.NearbyRecord
- All Implemented Interfaces:
IFocus
- Enclosing class:
Proximity
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
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] position.void
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 ray.float
Gets the absolute magnitude.Returns the absolute position of this entity in the native coordinates (equatorial system).getAbsolutePosition
(String name, Vector3b out) Returns the absolute position of the entity identified by name within this entity in the native reference system.double
getAlpha()
Returns the right ascension angle of this focus object.float
Gets the apparent magnitude.long
Returns the id of the focus candidate of this object.Returns the name of the focus candidate of this object.double
Returns the candidate apparent view angle (view angle corrected with the field of view) of this entity, in radians.Same asIFocus.getAbsolutePosition(Vector3b)
.double
Same asIFocus.getDistToCamera()
.Same asIFocus.getName()
.float[]
getColor()
Gets the color of this object.getCt()
Returns the component types of this focus.double
getDelta()
Returns the declination angle of this focus object.double
Returns the current distance to the camera in internal units.Gets the first ancestor of this node that is of typeStar
.Prepares the candidate with the given name.double
Returns the height of the projected position of the current camera on this focus object, which is usually the radius plus a value lookup in the height texture (if exists).double
Same asIFocus.getHeight(Vector3b)
but with the option to use the future position of the body instead of the current one.double
Same asIFocus.getHeight(Vector3b)
but with the option to use the given future position of the body instead of the current one.double
Returns the height scale of this focus, or 0 if it has no height info.long
getId()
Returns the unique id of this focus.Returns the localized name of this focus.getName()
Returns the first name of this focus.String[]
getNames()
Returns all names of this focus.getNext
(ITimeFrameProvider time, ICamera camera, boolean force) Gets the octant this focus belongs to, if any.Returns the orientation matrix of this focus.Returns the orientation quaternion of this focus.getPos()
Returns the position.Gets the position in equatorial spherical coordinates.getPredictedPosition
(Vector3b 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.double
Returns the radius of this focus object in internal units.Returns the rotation component of this focus.int
Gets the depth of this focus object in the scene graph.double
getSize()
Returns the size (diameter) of this entity in internal units.double
Returns the current view angle of this entity, in radians.double
Returns the current apparent view angle (view angle corrected with the field of view) of this entity, in radians.boolean
Checks whether the focus has the given name.boolean
Checks whether the focus has the given name.boolean
isActive()
Returns whether this focus object is active or not.boolean
Checks whether this foucs is within its valid time range, so that it can be used as a focus.boolean
isCopy()
Whether this is a copy or not.boolean
isOther()
boolean
isStar()
boolean
boolean
void
Hook that runs when the candidate is actually made focus.
-
Field Details
-
distToCamera
public double distToCamera -
size
public double size -
radius
public double radius -
pos
-
pm
-
absolutePos
-
col
public float[] col -
name
-
type
public byte type -
index
public int index
-
-
Constructor Details
-
NearbyRecord
public NearbyRecord()
-
-
Method Details
-
isStar
public boolean isStar() -
isStarGroup
public boolean isStarGroup() -
isOther
public boolean isOther() -
isUndefined
public boolean isUndefined() -
getId
public long getId()Description copied from interface:IFocus
Returns the unique id of this focus. -
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.
-
getLocalizedName
Description copied from interface:IFocus
Returns the localized name of this focus. If it has no localized name, it returns the default name.- Specified by:
getLocalizedName
in interfaceIFocus
- Returns:
- The localized name.
-
getName
Description copied from interface:IFocus
Returns the first name of this focus. -
getNames
Description copied from interface:IFocus
Returns all names of this focus. -
hasName
Description copied from interface:IFocus
Checks whether the focus has the given name. -
hasName
Description copied from interface:IFocus
Checks whether the focus has the given name. -
getClosestName
Description copied from interface:IFocus
Same asIFocus.getName()
.- Specified by:
getClosestName
in interfaceIFocus
- Returns:
- The name.
-
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.
-
getCt
Description copied from interface:IFocus
Returns the component types of this focus. -
isActive
public boolean isActive()Description copied from interface:IFocus
Returns whether this focus object is active or not. Useful for particle groups. -
getPos
Description copied from interface:IFocus
Returns the position. -
getFirstStarAncestor
Description copied from interface:IFocus
Gets the first ancestor of this node that is of typeStar
.- Specified by:
getFirstStarAncestor
in interfaceIFocus
- Returns:
- The first ancestor of type
Star
.
-
getAbsolutePosition
Description copied from interface:IFocus
Returns the absolute position of this entity in the native coordinates (equatorial system).- Specified by:
getAbsolutePosition
in interfaceIFocus
- Parameters:
out
- Vector3d where to put the return value.- Returns:
- The absolute position, same as aux.
-
getAbsolutePosition
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
- 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.
-
getClosestAbsolutePos
Description copied from interface:IFocus
Same asIFocus.getAbsolutePosition(Vector3b)
.- Specified by:
getClosestAbsolutePos
in interfaceIFocus
- Parameters:
out
- Vector3d where to put the return value.- Returns:
- The absolute position, same as aux.
-
getPosSph
Description copied from interface:IFocus
Gets the position in equatorial spherical coordinates. -
getNext
-
getPredictedPosition
public Vector3b getPredictedPosition(Vector3b aux, ITimeFrameProvider time, ICamera camera, boolean force) Description copied from interface:IFocus
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
- 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.
-
getDistToCamera
public double getDistToCamera()Description copied from interface:IFocus
Returns the current distance to the camera in internal units.- Specified by:
getDistToCamera
in interfaceIFocus
- Returns:
- The current distance to the camera, in internal units.
-
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.
-
getViewAngle
public double getViewAngle()Description copied from interface:IFocus
Returns the current view angle of this entity, in radians.- Specified by:
getViewAngle
in interfaceIFocus
- Returns:
- The view angle in radians.
-
getViewAngleApparent
public double getViewAngleApparent()Description copied from interface:IFocus
Returns the current apparent view angle (view angle corrected with the field of view) of this entity, in radians.- Specified by:
getViewAngleApparent
in interfaceIFocus
- Returns:
- The apparent view angle in radians.
-
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.
-
getAlpha
public double getAlpha()Description copied from interface:IFocus
Returns the right ascension angle of this focus object. -
getDelta
public double getDelta()Description copied from interface:IFocus
Returns the declination angle of this focus object. -
getSize
public double getSize()Description copied from interface:IFocus
Returns the size (diameter) of this entity in internal units. -
getRadius
public double getRadius()Description copied from interface:IFocus
Returns the radius of this focus object in internal units. -
getHeight
Description copied from interface:IFocus
Returns the height of the projected position of the current camera on this focus object, which is usually the radius plus a value lookup in the height texture (if exists). -
getHeight
Description copied from interface:IFocus
Same asIFocus.getHeight(Vector3b)
but with the option to use the future position of the body instead of the current one. -
getHeight
Description copied from interface:IFocus
Same asIFocus.getHeight(Vector3b)
but with the option to use the given future position of the body instead of the current one. -
getHeightScale
public double getHeightScale()Description copied from interface:IFocus
Returns the height scale of this focus, or 0 if it has no height info.- Specified by:
getHeightScale
in interfaceIFocus
- Returns:
- The height scale 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. -
getOrientation
Description copied from interface:IFocus
Returns the orientation matrix of this focus.- Specified by:
getOrientation
in interfaceIFocus
- Returns:
- The orientation matrix. Can be null.
-
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
Description copied from interface:IFocus
Returns the orientation quaternion of this focus.- Specified by:
getOrientationQuaternion
in interfaceIFocus
- Returns:
- The orientation quaternion. Can be null.
-
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. -
makeFocus
public void makeFocus()Description copied from interface:IFocus
Hook that runs when the candidate is actually made focus. -
getFocus
Description copied from interface:IFocus
Prepares the candidate with the given name. -
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.
-
getSceneGraphDepth
public int getSceneGraphDepth()Description copied from interface:IFocus
Gets the depth of this focus object in the scene graph.- Specified by:
getSceneGraphDepth
in interfaceIFocus
- Returns:
- The depth of the scene graph.
-
getOctant
Description copied from interface:IFocus
Gets the octant this focus belongs to, if any. This will return null if this focus is not part of an octree. -
isCopy
public boolean isCopy()Description copied from interface:IFocus
Whether this is a copy or not. -
getColor
public float[] getColor()Description copied from interface:IFocus
Gets the color of this object.
-