Package gaiasky.data.util
Class PointCloudData
java.lang.Object
gaiasky.data.util.PointCloudData
public class PointCloudData
extends java.lang.Object
-
Field Summary
-
Constructor Summary
Constructors Constructor Description PointCloudData()
PointCloudData(int capacity)
-
Method Summary
Modifier and Type Method Description void
addPoint(double x, double y, double z)
Adds a single point to the cloudvoid
addPoint(Vector3d point)
Adds a single point o this point cloudvoid
addPoints(double[] points)
Adds the given vector to the current points.void
addPoints(java.util.ArrayList points)
Same asaddPoints(double[])
but with an array listvoid
clear()
Clears all datajava.time.Instant
getDate(int index)
java.time.Instant
getEnd()
long
getEndMs()
int
getIndex(long wrappedTimeMs)
int
getIndex(java.time.Instant instant)
Gets the bounding indices for the given date.int
getNumPoints()
java.time.Instant
getStart()
long
getStartMs()
java.time.Instant
getWrapTime(java.time.Instant instant)
long
getWrapTimeMs(java.time.Instant instant)
double
getX(int index)
double
getY(int index)
double
getZ(int index)
boolean
isEmpty()
void
loadPoint(Vector3b v, int index)
boolean
loadPoint(Vector3b v, long timeMs)
boolean
loadPoint(Vector3b v, java.time.Instant instant)
void
loadPoint(Vector3d v, int index)
Loads the data point at the index in the vector in the Orbit reference systemboolean
loadPoint(Vector3d v, long timeMs)
Returns a vector with the data point at the given time.boolean
loadPoint(Vector3d v, java.time.Instant instant)
Returns a vector with the data point at the given time.void
loadPointF(com.badlogic.gdx.math.Vector3 v, int index)
Loads the data point at the index in the vector in the world reference systemjava.time.Instant
loadTime(int index)
void
setX(int index, double value)
void
setY(int index, double value)
void
setZ(int index, double value)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
x
public java.util.List<java.lang.Double> x -
y
public java.util.List<java.lang.Double> y -
z
public java.util.List<java.lang.Double> z -
time
public java.util.List<java.time.Instant> time -
period
public double period
-
-
Constructor Details
-
PointCloudData
public PointCloudData() -
PointCloudData
public PointCloudData(int capacity)
-
-
Method Details
-
clear
public void clear()Clears all data -
isEmpty
public boolean isEmpty() -
addPoints
public void addPoints(double[] points)Adds the given vector to the current points. The vector is of the form [x0, y0, z0, x1, y1, z1, ..., xn, yn, zn]. If the size of the vector is not a multiple of 3, no points are added- Parameters:
points
- The points to add to this point cloud
-
addPoints
public void addPoints(java.util.ArrayList points)Same asaddPoints(double[])
but with an array list- Parameters:
points
- The points to add to this point cloud
-
addPoint
Adds a single point o this point cloud- Parameters:
point
- The point
-
addPoint
public void addPoint(double x, double y, double z)Adds a single point to the cloud- Parameters:
x
- The x componenty
- The y componentz
- The z component
-
loadPoint
Loads the data point at the index in the vector in the Orbit reference system- Parameters:
v
-index
-
-
loadPoint
-
loadTime
public java.time.Instant loadTime(int index) -
getNumPoints
public int getNumPoints() -
getX
public double getX(int index) -
setX
public void setX(int index, double value) -
getY
public double getY(int index) -
setY
public void setY(int index, double value) -
getZ
public double getZ(int index) -
setZ
public void setZ(int index, double value) -
getDate
public java.time.Instant getDate(int index) -
getStart
public java.time.Instant getStart() -
getStartMs
public long getStartMs() -
getEnd
public java.time.Instant getEnd() -
getEndMs
public long getEndMs() -
loadPointF
public void loadPointF(com.badlogic.gdx.math.Vector3 v, int index)Loads the data point at the index in the vector in the world reference system- Parameters:
v
-index
-
-
loadPoint
Returns a vector with the data point at the given time. It uses linear interpolation. The time instant must be within the bounds of this point cloud's times- Parameters:
v
- The vectorinstant
- The time as an instant- Returns:
- Whether the operation completes successfully
-
loadPoint
-
loadPoint
Returns a vector with the data point at the given time. It uses linear interpolation. The time instant must be within the bounds of this point cloud's times- Parameters:
v
- The vectortimeMs
- The time in milliseconds- Returns:
- Whether the operation completes successfully
-
loadPoint
-
getWrapTime
public java.time.Instant getWrapTime(java.time.Instant instant) -
getWrapTimeMs
public long getWrapTimeMs(java.time.Instant instant) -
getIndex
public int getIndex(java.time.Instant instant)Gets the bounding indices for the given date. If the date is out of range, it wraps.- Parameters:
instant
- The date- Returns:
- The two indices
-
getIndex
public int getIndex(long wrappedTimeMs)
-