Gravity Engine 12.0
Unity Asset for Gravity
|
Binary Pair. More...
Public Member Functions | |
void | SetupBodies () |
void | ApplyScale (float scale) |
Apply scale to the orbit. This is used by the inspector scripts during scene setup. Do not use at run-time. | |
void | ApplyXZChange () |
Public Member Functions inherited from EllipseBase | |
void | Init () |
Init the ellipse, verify a center body is present, determine orientation and update transform. | |
void | SetCenterBody (GameObject centerBody) |
Sets the center body and initializes the ellipse configuration. | |
void | InitFromOrbitData (OrbitData od) |
Inits an EllipseBase orbit from orbital parameters contained in an OrbitData. | |
OrbitData | GetOrbitData () |
void | SetInitialPosition (NBody nbody) |
Sets the initial position based on the orbit parameters. Used in the init phase to set the NBody in the correct position in the scene before handing control GE. | |
Vector3[] | OrbitPositions (int numPoints, Vector3 centerPos, bool doSceneMapping) |
Calculate an array of points that describe the specified orbit. | |
Vector3[] | OrbitSegmentPositions (int numPoints, Vector3 centerPos, Vector3 startPos, Vector3 endPos, bool shortPath) |
Generate the points for an orbit segment given the start and end positions. If shortPath then the short path between the points will be shown, otherwise the long way around. | |
GameObject | GetCenterObject () |
Return the center object around which this ellipse is defined. | |
Vector3[] | OrbitPositions (int numPoints, Vector3 centerPos, bool doSceneMapping) |
void | ApplyScale (float scale) |
Interface to apply the scale to the distance parameter of an orbit. | |
void | ApplyXZChange () |
Public Attributes | |
Vector3 | initialPosition |
Velocity of center of mass of the binary pair. | |
Vector3 | velocity |
Public Attributes inherited from EllipseBase | |
ParamBy | paramBy = ParamBy.AXIS_A |
Define ellipse by semi0major axis (A) or closest approach (P) | |
GameObject | centerObject |
object to orbit around (if null, will take parent game object) | |
float | ecc |
eccentricity (0..1, 0=circle, 1=linear) | |
float | a_scaled = -1f |
float | p_scaled |
float | a = 10f |
(a,p) hold the values for a and p in the unit system specified by the gravity engine. These are scaled and used to set a and p for game simulation based on the unit scaling system provided by gravity engine. | |
float | p |
pericenter - based on paramBy user can specify a OR p. a = p/(1-ecc) | |
float | omega_uc |
"longitude of ascending node" - angle from x-axis to line from focus to pericenter | |
float | omega_lc |
"argument of perienter" - angle from ascending node to pericenter | |
float | inclination |
inclination (degrees!) | |
float | phase |
initial TRUE anomoly (angle wrt line from focus to closest approach) | |
Additional Inherited Members | |
Public Types inherited from EllipseBase | |
enum | ParamBy { AXIS_A , CLOSEST_P } |
Protected Member Functions inherited from EllipseBase | |
void | UpdateOrbitParams () |
void | CalculateRotation () |
Protected Attributes inherited from EllipseBase | |
Quaternion | ellipse_orientation |
NBody | centerNbody |
OrbitData | initData |
Binary Pair.
Configures the initial velocities for two roughly equal masses to establish their elliptical orbits around the center of mass of the pair.
Must have two NBody objects as immediate children.
The BinaryPair object can optionally have a zero-mass NBody and Orbit component attached. This will be used to determine the initial conditions for the binary pair (position and velocity) so the binary pair can be placed in orbit around another body. This "dummy" NBody is only used during the setup. (It will continue to evolve but there is no model attached and nothing in the scene will be affected by its zero mass.
void BinaryPair.ApplyScale | ( | float | scale | ) |
Apply scale to the orbit. This is used by the inspector scripts during scene setup. Do not use at run-time.
scale | Scale. |
Implements IOrbitScalable.
void BinaryPair.ApplyXZChange | ( | ) |
Implements IOrbitScalable.