Fully extracted satellite data calculation to Predictor class

This commit is contained in:
Arty Bishop committed 2021-09-18 12:41:41 +01:00
1 parent e6d0671816
commit f295b3b224
8 files changed
+109 -72

No files matched your search

@@ -90,7 +90,7 @@ class DeepSpaceSat(params: TLE) : Satellite(params) {
deep = DeepSpaceCalculator(dsv)
}
fun calculateSDP4(tSince: Double) {
internal fun calculateSDP4(tSince: Double) {
synchronized(this) {
val temp = DoubleArray(12)
val xmdf = params.xmo + dsv.xmdot * tSince
@@ -135,7 +135,7 @@ class NearEarthSat(params: TLE) : Satellite(params) {
}
}
fun calculateSGP4(tSince: Double) {
internal fun calculateSGP4(tSince: Double) {
synchronized(this) {
val temp = DoubleArray(9)
val xmdf = params.xmo + xmdot * tSince
@@ -42,7 +42,7 @@ abstract class Satellite(val params: TLE) {
var qoms24 = 0.0
var s4 = 0.0
fun willBeSeen(pos: GeoPos): Boolean {
internal fun willBeSeen(pos: GeoPos): Boolean {
return if (params.meanmo < 1e-8) false
else {
val sma = 331.25 * exp(ln(1440.0 / params.meanmo) * (2.0 / 3.0))
@@ -53,7 +53,7 @@ abstract class Satellite(val params: TLE) {
}
}
fun getPosition(pos: GeoPos, time: Long): SatPos {
internal fun getPosition(pos: GeoPos, time: Long): SatPos {
val satPos = SatPos()
// Date/time at which the position and velocity were calculated
val julUTC = calcCurrentDaynum(time) + 2444238.5
@@ -89,7 +89,7 @@ abstract class Satellite(val params: TLE) {
return julianDateOfYear(year) + day
}
fun julianDateOfYear(theYear: Double): Double {
internal fun julianDateOfYear(theYear: Double): Double {
val aYear = theYear - 1
var i = floor(aYear / 100).toLong()
val a = i
@@ -207,7 +207,7 @@ abstract class Satellite(val params: TLE) {
}
}
fun calculatePosAndVel(
internal fun calculatePosAndVel(
rk: Double, uk: Double, xnodek: Double,
xinck: Double, rdotk: Double, rfdotk: Double
) {
@@ -234,7 +234,7 @@ abstract class Satellite(val params: TLE) {
velocity.z = rdotk * uz + rfdotk * vz
}
class Vector4 {
internal class Vector4 {
var w = 0.0
var x = 0.0
var y = 0.0
@@ -253,16 +253,16 @@ abstract class Satellite(val params: TLE) {
}
}
fun sqr(arg: Double): Double {
internal fun sqr(arg: Double): Double {
return arg * arg
}
fun invert(value: Double): Double {
internal fun invert(value: Double): Double {
return 1.0 / value
}
// Calculates the modulus of 2 * PI
fun mod2PI(value: Double): Double {
internal fun mod2PI(value: Double): Double {
var retVal = value
val i = (retVal / twoPi).toInt()
retVal -= i * twoPi
@@ -271,7 +271,7 @@ abstract class Satellite(val params: TLE) {
}
// Solves Keplers' Equation
fun converge(temp: DoubleArray, axn: Double, ayn: Double, capu: Double) {
internal fun converge(temp: DoubleArray, axn: Double, ayn: Double, capu: Double) {
var converged = false
var i = 0
do {
@@ -287,7 +287,7 @@ abstract class Satellite(val params: TLE) {
}
// Sets perigee and checks and adjusts the calculation if the perigee is less tan 156KM
fun setPerigee(perigee: Double) {
internal fun setPerigee(perigee: Double) {
this.perigee = perigee
checkPerigee()
}