Gravity Engine 2 4.0
Loading...
Searching...
No Matches
GravityEngine2.EphemerisPropagator Class Reference

Code used by GEPhysicsCore to evolve according to an ephemeris table. The data values have been repackaged by GECore and converted into GE units by the time this code acts on them. More...

Classes

struct  PropInfo
 

Static Public Member Functions

static void EphemDataAlloc (EphemerisData ephemData, ref GEPhysicsCore.GEPhysicsJob gePhysicsJob, GBUnits.GEScaler geScaler, int centerId, int pIndex)
 Create a PropInfo instance and fill it in.
 
static void EphemDataFree (ref GEPhysicsCore.GEPhysicsJob gePhysicsJob, int pIndex)
 Free the memory in the global flat ephemData array.
 
static void Evolve (double t, ref GEPhysicsCore.GEBodies bodies, ref NativeArray< PropInfo > propInfo, ref NativeArray< int > indices, ref NativeArray< GEBodyState > ephemerisData)
 
static void EvolveRelative (double t, int propId, ref NativeArray< PropInfo > propInfo, ref NativeArray< GEBodyState > ephemerisData, ref GEBodyState state)
 

Detailed Description

Code used by GEPhysicsCore to evolve according to an ephemeris table. The data values have been repackaged by GECore and converted into GE units by the time this code acts on them.

Member Function Documentation

◆ EphemDataAlloc()

static void GravityEngine2.EphemerisPropagator.EphemDataAlloc ( EphemerisData ephemData,
ref GEPhysicsCore::GEPhysicsJob gePhysicsJob,
GBUnits::GEScaler geScaler,
int centerId,
int pIndex )
static

Create a PropInfo instance and fill it in.

Manage the one flat ephemData array used for all ephem propagators. This is sized on demand, so an add forces a grow and a copy.

Implementation assumes adding bodies with ephemeris data is not a common run-time activity.

Parameters
ephemData
gePhysicsJob
geScaler
centerId
pIndex

◆ EphemDataFree()

static void GravityEngine2.EphemerisPropagator.EphemDataFree ( ref GEPhysicsCore::GEPhysicsJob gePhysicsJob,
int pIndex )
static

Free the memory in the global flat ephemData array.

This is a klunky, greedy implementation:

  • find the entry range
  • copy down everything higher
Parameters
gePhysicsJob
pIndex

The documentation for this class was generated from the following file: