WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
Spacecraft.h File Reference

Go to the source code of this file.

Namespaces

namespace  warptwin
 Class to propagate CR3BP dynamics in characteristic units.

Functions

MODEL(Spacecraft) public int warptwin::initializePositionVelocity (CartesianVector3 position_sc_frame__frame, CartesianVector3 velocity_sc_frame__frame, const std::string &frame_name)
 Spacecraft Model.
int warptwin::initializeFromOrbitalElements (double a, double e, double i, double RAAN, double w, double f)
 Function to initialize the spacecraftrelative to planet from orbital elements.
int warptwin::initializeAttitude (clockwerk::Quaternion quat_sc_frame__frame, CartesianVector3 ang_vel_sc_frame__sc, Frame *frame_ptr=nullptr)
 Initialize attitude and angular velocity of the spacecraft body frame.
int warptwin::initializeAttitude (clockwerk::Quaternion quat_sc_frame__frame, CartesianVector3 ang_vel_sc_frame__sc, const std::string &frame_name)
 Initialize attitude and angular velocity of the spacecraft body frame.
warptwin::TimedImpulsiveBurnModel * warptwin::programManeuver (CartesianVector3 delta_v__f, std::string time_string, Frame *force_frame_ptr)
 Function to program a timed impulsive burn into the spacecraft.
warptwin::TimedImpulsiveBurnModel * warptwin::programManeuver (CartesianVector3 delta_v__f, double sim_time, Frame *force_frame_ptr)
 Function to program a timed impulsive burn into the spacecraft.
int warptwin::addPowerLoad (clockwerk::DataIO< double > *power_load_ptr)
 Add a power load to the spacecraft.
void warptwin::clearPowerLoads ()
 Clear the list of power loads.
int warptwin::addPowerSource (clockwerk::DataIO< double > *power_source_ptr)
 Add a power source to the spacecraft.
void warptwin::clearPowerSources ()
 Clear the list of power sources.
warptwin::FrameStateSensorModel * warptwin::planetInertialStateSensor ()
 Function to get a handle to the frame state sensor relative to the planet inertial frame.
warptwin::FrameStateSensorModel * warptwin::planetRotatingStateSensor ()
 Function to get a handle to the frame state sensor relative to the planet rotating frame.
warptwin::LvlhFrameManagerModel * warptwin::lvlhFrameManager ()
 Function to get a handle to the LVLH frame manager contained within this model.
warptwin::AsphericalGravityModel * warptwin::asphericalGravityModel ()
 Function to get a handle to the aspherical gravity model contained within this model.
warptwin::SphericalHarmonicsGravityModel * warptwin::sphericalHarmGravityModel ()
 Function to get a handle to the spherical harmonics gravity model contained within this model.
warptwin::PlanetRelativeStatesModel * warptwin::planetRelativeModel ()
 Function to get a handle to the planet relative state model contained within this model.
warptwin::GravityGradientModel * warptwin::gravityGradientModel ()
 Function to get a handle to the gravity gradient model contained within this model.
warptwin::MSISAtmosphereModel * warptwin::msisModel ()
 Function to get a handle to the MSIS atmosphere model contained within this model.
warptwin::FlatPlateDragModel * warptwin::atmosDrag ()
 Function to get a handle to the flat plate drag model contained within this model.
int16 warptwin::start () override
 Class to execute logging.
int16 warptwin::execute () override
 Function to check monitor input conditions and set trigger flag accordingly. Should be implemented in derived class.
int warptwin::_configureFromPlanet ()
 Configure the spacecraft class to map to planet.
void warptwin::_mapInternal ()
 Function to internally map relationships between sensors.
void warptwin::_calculatePowerAccumulation ()
 Sum the power loads and sources to calculate power accumulation.
 warptwin::SIGNAL (_mu, double, warpos::earth_wgs84.mu)
 warptwin::SIGNAL (_eq_radius, double, warpos::earth_wgs84.eq_radius)
 warptwin::SIGNAL (_flattening, double, warpos::earth_wgs84.flattening)
 warptwin::SIGNAL (_J2, double, warpos::earth_wgs84.J2)
 warptwin::SIGNAL (_J3, double, warpos::earth_wgs84.J3)

Variables

clockwerk::DataIO< Body * > warptwin::body = clockwerk::DataIO<Body*>(this, "body", &_body)
clockwerk::DataIO< Body * > warptwin::lvlh = clockwerk::DataIO<Body*>(this, "lvlh", nullptr)
Body warptwin::_body
Node warptwin::_gravity_node
Node warptwin::_drag_node
FrameStateSensorModel warptwin::_planet_inertial_state_sensor
FrameStateSensorModel warptwin::_planet_rotating_state_sensor
LvlhFrameManagerModel warptwin::_lvlh_frame_manager
GravityGradientModel warptwin::_gravity_gradient
PlanetRelativeStatesModel warptwin::_planet_relative
FlatPlateDragModel warptwin::_atmos_drag
AsphericalGravityModel * warptwin::_asp_ptr = nullptr
SphericalHarmonicsGravityModel * warptwin::_sph_ptr = nullptr
MSISAtmosphereModel * warptwin::_msis_ptr = nullptr
std::string warptwin::_planet_name = "earth"
std::vector< TimedImpulsiveBurnModel * > warptwin::_planned_burn_ptrs
std::vector< clockwerk::DataIO< double > * > warptwin::_power_load_ptrs
std::vector< clockwerk::DataIO< double > * > warptwin::_power_source_ptrs