Class in Zendir.Universe | Inherits from PhysicalObject

Declaration

class Spacecraft;

Description

The spacecraft is a complex object that is used to represent a spacecraft in the simulation. It is a physical object that can be affected by external forces, contain state and dynamic effectors and is able to be integrated.


Properties

DeclaredDescription
AccelerationThe acceleration of the body in the inertial frame.
AttitudeThe attitude of the dynamic body in the form of a Modified Rodriguez Parameter (MRP). This is converted from thetransformation of the local frame. This is equivalent to Transform_BN_N.
AttitudeRateStores the current body attitude rate in the body frame.
DynamicTypeThe type of orbit propagation that is used for this object.
GeodeticCoordinatesA geodetic coordinates for the spacecraft relative to the orbiting planet. This will be in the form of latitude,longitude and altitude, where the units are in degrees and meters.
HubA reference to the hub spacecraft. If there is no hub spacecraft, it is assumed to be itself. Otherwise, the massproperties and physics will be applied to the hub spacecraft instead.
HubTransformThe relative transform between the hub and the spacecraft. This is used for calculations of position and rotationbased on the hub spacecraft.
In_PlanetStateMsgA reference to the planet state message of the nearest body that the spacecraft is orbiting.
InitialOrbitThe initial classical elements of the body if the orbit is set.
InitialOrbitTimeThe simulation time in which the initial orbit was calculated.
InitialPeriodThe orbital period of the body if the initial orbit is set.
IntegratePostLookupA flag for if the body should integrate its state after the lookup is completed.
LookupFilePathThe full file path for the CSV file, if it exists. This will ensure that a lookup table can be loaded correctlyif the file path is valid and not empty.
LookupRepeatA flag for if the body should repeat the lookup data at the end of the data set, making a loop of the data.
LookupRotationTypeThe type of the rotation used for the orbital trajectories.
LookupTimeThe current time on the lookup trajectory.
LookupTrajectoryTypeThe type of trajectory used for the orbital trajectories.
OrbitedBodyThe name of the body that this object is currently orbiting, if it exists. This will be used to calculate thegravitational forces acting around that body.
Out_BodyMassMsgThe body mass properties message that stores the mass properties from all of the components that are added tothis body. This will be the sum of all components and is used by the integrator.
Out_GravityMsgThe gravitational message that describes the gravitational energy of the object at a particular location.
Out_SpacecraftStateMsgThe body states message of the spacecraft contains all the information about the spacecraft’s properties,including the position, energy and acceleration.
OverrideMassA flag whether to override the mass properties with some new custom ones. If this flag is enabled, the local massvalues, including Center of Mass and Moment of Inertia, will be used instead of the totals for the masscalculation.
PositionThe position of the body in the inertial world state.
Position_CN_NThe center of mass inertial position.
TotalCenterOfMassB_BThe total center of mass in the body frame including all components attached.
TotalMassThe total mass of the body including all components.
TotalMomentOfInertiaB_BThe total moment of inertia in the body frame including all components attached.
VelocityThe velocity of the body in the inertial frame.
WGSCoordinatesA WGS Accurate Earth model coordinate system with the Earth as the center being used for the position.
InheritedDescription
BehavioursA collection of behaviours attached to this object.
CenterOfMassB_BThe center of mass of the component in respect to the body frame (B) of the component. This is isolated from anychildren and exists in isolation.
CenterOfMassDot_LB_BThe center of mass time-derivative of the component within its own local coordinates. This does not include anyof the sub-components and exists in isolation.
CenterOfMassDotB_BThe center of mass time-derivative of the component relative to the body frame (B). This does not include any ofthe sub-components and exists in isolation.
CenterOfMassL_LThe center of mass of the component within its own local coordinates. This does not include any of thesub-components and exists in isolation.
CenterOfMassPrime_LB_BThe center of mass general-derivative of the component within its own local coordinates. This does not includeany of the sub-components and exists in isolation.
CenterOfMassPrimeB_B[m/s] The center of mass general-derivative of the component relative to the body frame (B). This does notinclude any of the sub-components and exists in isolation.
ChildrenA collection of children attached to this object.
DCM_BNThe rotational DCM matrix between the body frame (B) at the top of this component chain and the inertial frame (N).
DCM_LBThe rotational DCM matrix between the component frame of this object (L) relative to the body frame (B).
DCM_LNThe DCM rotational matrix of the component relative to the inertial origin (N) of the world.
IsEnabledIs true if the object is currently enabled.
LocalForwardThe direction of the transform frame’s forward vector, which is along the Y axis.
LocalRightThe direction of the transform frame’s right vector, which is along the X axis.
LocalUpThe direction of the transform frame’s up vector, which is along the Z axis.
MassThe component mass defined in the object. This is independent of any parent or children objects and exists inisolation.
MassDotThe component mass time-derivative defined in the object. This is independent of any parent or children objectsand exists in isolation.
ModelsA collection of models attached to this object.
MomentOfInertia_LBThe moment of inertia of the component, measured at the local center of mass, represented with its own localcoordinates. This does not include any of the sub-components and exists in isolation.
MomentOfInertiaB_BThe moment of inertia of this component, measured in the body frame relative to the parented body. This isindependent of any children and exists in isolation.
MomentOfInertiaPrime_LBThe derivative of the moment of inertia of the component, measured at the local center of mass, represented withits own local coordinates. This does not include any of the sub-components and exists in isolation.
MomentOfInertiaPrimeB_BThe derivative of the moment of inertia of the component, represented in the body frame (B). This is independentand exists in isolation.
NameThe display name or tag of this object.
Out_ComponentMassMsgThe component mass message defines the set of mass properties and states of the system within this componentlocally. This is independent of any parent or children properties or objects.
Out_TransformMsgThis defines the base transform message that stores the state of the transform of this object.
ParentThe currently attached parent object (if any).
Position_BN_NThe position of the body (the root parent B) in the inertial frame relative to the inertial point (N).
Position_LB_BThe position of the component relative to the root object of this hierarchy. This is in the inertial frame and ifthe component is the root object, then there will be no position.
Position_LN_NThe position of the inertial world space. This position is derived from the world’s transform (N).
RootThe root object in the parent chain.
Rotation[-] The rotation of the object relative to the parent or to the world origin, if no parent exists.
Thermal[TEMPORARY] A reference to the thermal model that is attached to this object. This will allow the object to havethermal properties and be able to be used in thermal simulations.

Methods

DeclaredDescription
DockDocks the spacecraft to another spacecraft. This will determine which spacecraft is the hub and which is thechild. The hub will be the one with the largest mass. The child will be the other one.
GetLookupTrajectoryCoordinatesReturns a list of all the lookup data positions from the lookup table, if they exist. These will be in the formof a Geodetic or PCI frame, depending on the input type.
GetOrbitalPositionReturns the position between the spacecraft and the orbited body. If there is no orbiting body, this will be thespacecraft’s inertial position.
GetOrbitalVelocityReturns the velocity between the spacecraft and the orbited body. If there is no orbiting body, this will be thespacecraft’s inertial velocity.
GetRelativePositionReturns the relative position between the body and another planet.
GetRelativeVelocityReturns the relative velocity between the body and another planet.
InitialiseBodyInitialises the object with a series of elements from the Vector elements library.
IsConnectedReturns whether this spacecraft is connected to another spacecraft.
IsDockedReturns true if the spacecraft is docked to another hub. This will return true if the spacecraft is not the hubitself.
SetClassicElementsSets the classic elements of a body to a series of parameters based on all of the required parameters.
SetCustomTrajectorySets the path to the lookup data to read from. This should be an absolute path to the CSV file with the data fromthe file. This assumes the file is of the correct format, but will not throw an error if not.
SetGeodeticElementsSets the Geodetic Elements of Latitude, Longitude and Altitude to some properties passed in by this function.
SetHillFrameElementsConfigures the spacecraft to be in a Hill frame with another (chief) spacecraft. This frame is a relativeposition and velocity in the Hill frame, where X is the radial direction away from the chief, Y is thealong-track direction and Z is the orbit normal direction.
SetRelativeBodyVectorElementsSets the position and velocity of a body to a series of parameters based on the relative position and velocityfrom another spacecraft, in the body frame.
SetRelativeVectorElementsSets the position and velocity of a body to a series of parameters based on the relative position and velocityfrom another spacecraft, in the inertial frame.
SetTwoLineElementsSets the Two Line Elements (TLE) data of a particular craft with some individual lines of the TLE.
SetVectorElementsSets the position and velocity of a body to a series of parameters.
UndockUndocks the spacecraft from the hub. This will set the hub to the current spacecraft. All children will beundocked as well. Or, the spacecraft will be undocked from its parent hub. If a specific other spacecraft isprovided, it will undock from that spacecraft only, instead of all children.
UpdateMassProperties[DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED.
InheritedDescription
AddObjectReturns a new simulation object with the specified type.
AttachAttempts to attach this object to a new parent. This will only work if the current object is no parented to anyother object.
ContainsModelWithIDReturns true if an attached model satisfies the specified ID.
ContainsModelWithTypeReturns true if an attached model satisfies the specified type.
DetachThis is an action to detach the current object from its parent, if it exists and move it to another object or tojust exist within the simulation.
FindBehavioursWithTypeReturns all attached behaviours that satisfies the specified type.
FindBehaviourWithIDReturns an attached behaviour that satisfies the specified ID.
FindBehaviourWithTypeReturns an attached behaviour that satisfies the specified type.
FindChildrenWithTypeReturns all attached children that satisfies the specified type.
FindChildWithIDReturns an attached child that satisfies the specified ID.
FindChildWithTypeReturns an attached child that satisfies the specified type.
FindModelsWithTypeReturns all attached models that satisfies the specified type.
FindModelWithIDReturns an attached model that satisfies the specified ID.
FindModelWithTypeReturns an attached model that satisfies the specified type.
FindParentWithIDReturns an attached parent that satisfies the specified ID.
FindParentWithTypeReturns an attached parent that satisfies the specified type.
FindRootWithIDReturns a root object that satisfies the specified ID.
FindRootWithTypeReturns a root object that satisfies the specified type.
GetModelReturns a valid assigned model with the specified type.
GetWorldForward[DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED.
GetWorldRight[DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED.
GetWorldTransformReturns the world transform of the object which is relative to the parent. If no parent exists, this will be thetransform of the object in world space.
GetWorldUp[DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED.
ReadBodyTransformThis method will reset the dirty flag on the mass so that it has been read successfully and is valid.
SetWorldTransform[DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED.