Todo List

Member O_SESSAME::ASCIIConverter::Export (const ConversionForm &_exportConvForm)
figure out how to store & load matrix without storing the size in the text file.

Class O_SESSAME::Attitude
Verify attitude is inheritable. testAttitudeIntegration.cpp testPropagation.cpp

Member O_SESSAME::Attitude::~Attitude ()
determine how to clean up the attitude pointers without leaving references hanging if(m_pEnvironment) delete m_pEnvironment; if(m_pPropagator) delete m_pPropagator;

Member O_SESSAME::Attitude::SetControlTorques (const Vector &_ControlTorques)
add error checking

Member O_SESSAME::AttitudeHistory::AppendHistory (const vector< ssfTime > &_appendTime, const vector< AttitudeState > &_appendAttitudeState)
figure out how to append a large chunk of one vector<> to another

Member O_SESSAME::AttitudeHistory::AppendHistory (const vector< ssfTime > &_appendTime, const vector< Rotation > &_appendRotation, const vector< Vector > &_appendAngVel)
Determine if the multiple AppendHistory's can be combined in some smart way.

Member O_SESSAME::AttitudeHistory::GetState (const ssfTime &_requestedTime, Rotation &_returnRotation, Vector &_returnAngVelVector)
implement better error handling strategy

Member O_SESSAME::AttitudeState::~AttitudeState ()
delete AttitudeState data members

Member O_SESSAME::AttitudeState::SetAttitudeFrame (AttitudeFrame *_pNewAttitudeFrame)
add conversion of Rotation to the new frame

Member O_SESSAME::AttitudeState::GetRotation2Orbital (const OrbitState &_orbState) const
Implement algorithm.

Member O_SESSAME::CentralBody::ReleaseReference ()
Check how to verify the number of references & delete the object

Member O_SESSAME::CombinedNumericPropagator::~CombinedNumericPropagator ()
figure out how to delete m_pIntegrator only when it is not being used

Member O_SESSAME::CombinedNumericPropagator::Propagate (const vector< ssfTime > &_propTime, const Vector &_orbitInitConditions, const Vector &_attInitConditions)
Determine what prop times exist and what times are req'd to recalc

Member O_SESSAME::CombinedNumericPropagator::PropagateOrbit (const vector< ssfTime > &_propTime, const Vector &_initConditions)
determine if having vector<State> in Propagate is polymorphic

Append the requested time steps in the appropriate component history

Determine if the updated attitude & orbit should be set in Propagator

Member O_SESSAME::CombinedNumericPropagator::PropagateAttitude (const vector< ssfTime > &_propTime, const Vector &_initConditions)
Append the requested time steps in the appropriate component history

Member O_SESSAME::DirectionCosineMatrix::GetEulerAngles (const int &_Sequence) const
Implement DCM::GetEulerAngles function

Member O_SESSAME::Environment::AddForceFunction (const EnvFunction &_forceFunc)
Check to prevent overlapping force functions

Member O_SESSAME::Environment::AddTorqueFunction (const EnvFunction &_torqueFunc)
Check to prevent overlapping torque functions

Class O_SESSAME::Functor
make Functors for variety of function types

Member O_SESSAME::Keplerian::SetPositionVelocity (const Vector &_Position, const Vector &_Velocity)
implement Keplerian conversion functions

Member O_SESSAME::Keplerian::SetPositionVelocity (const Vector &_PositionVelocity)
implement Keplerian conversion functions

Member O_SESSAME::Keplerian::SetPositionVelocity (const Vector &_Position, const Vector &_Velocity, const OrbitFrame &_OrbFrame)
implement Keplerian conversion functions

Member O_SESSAME::Keplerian::SetPositionVelocity (const Vector &_PositionVelocity, const OrbitFrame &_OrbFrame)
implement Keplerian conversion functions

Member O_SESSAME::Keplerian::GetEccentricAnomalyFromMeanAnomaly (const double &_MeanAnomaly)
Allow user to specify tolerance for numerical convergence.

Member O_SESSAME::Keplerian::GetEccentricAnomalyFromMeanAnomaly (const double &_MeanAnomaly)
Allow user to specify tolerance for numerical convergence.

Member O_SESSAME::Keplerian::ReadTwoLineElementSet (const string &_TwoLineElementSet)
Error checking for syntactically correct TLEs, including endlines, carriage returns.

Include full year info logic as per the tle standard, wherein 57-99 --> 19__ and 00-56 --> 20__.

verify that RAAN = longitude of the ascending node.

Member O_SESSAME::ModifiedRodriguezParameters::Set (const Vector &_EulerAngles, const int &_Sequence)
Change implementation to calculate directly from Euler angles and not create a DCM?

Member O_SESSAME::ModifiedRodriguezParameters::Set (const Angle &_Angle1, const Angle &_Angle2, const Angle &_Angle3, const int &_Sequence)
Fix Change implementation to calculate directly from Euler angles and not create a DCM?

Member O_SESSAME::ModifiedRodriguezParameters::GetEulerAngles (int _Sequence) const
Implement ModifiedRodriguezParameters::GetEulerAngles Function

Member O_SESSAME::ModifiedRodriguezParameters::GetEulerAxisAngle (Vector &_EulerAxis, Angle &_EulerAngle) const
Implement to directly convert and not use a temporary quaternion

Member O_SESSAME::NumericPropagator::~NumericPropagator ()
figure out how to delete m_pIntegrator only when it is not being used

Member O_SESSAME::NumericPropagator::Propagate (const vector< ssfTime > &_propTime, const Vector &_orbitInitConditions, const Vector &_attInitConditions)
Determine what prop times exist and what times are req'd to recalc

determine if having vector<State> in Propagate is polymorphic

Append the requested time steps in the appropriate component history

Determine if the updated attitude & orbit should be set in Propagator

Member O_SESSAME::Orbit::~Orbit ()
determine how to clean up the orbit pointers without leaving references hanging if(m_pEnvironment) delete m_pEnvironment; if(m_pPropagator) delete m_pPropagator;

Member O_SESSAME::Orbit::SetParameters (const Matrix &_Parameters)
determine what physical parameters are pertinent.

Member O_SESSAME::OrbitHistory::GetHistory ()
Grab the history depending on the desired state return type (elements, position, velocity, etc.)

Member O_SESSAME::OrbitHistory::GetState (const ssfTime &_requestedTime, OrbitState &_returnOrbitState)
implement better error handling strategy

Class O_SESSAME::OrbitState
should OrbitState contain an ssfTime object?

change to be a template class of the Representation Types

Member O_SESSAME::OrbitState::~OrbitState ()
determine how to delete OrbitState pointers

Member O_SESSAME::OrbitState::OrbitState (const OrbitState &_OrbStateCopy)
Determine if the OrbitState copy function is req'd or hacked.

Member O_SESSAME::OrbitState::SetOrbitFrame (OrbitFrame *_pnewOrbitFrame)
Implement the orbit representation conversion due to an orbit frame change.

Member O_SESSAME::OrbitState::SetOrbitFrame (OrbitFrame *_pnewOrbitFrame)
add conversion of OrbitStateRepresentation to the new frame

Class O_SESSAME::Plot
Finish documenting API

Member O_SESSAME::Quaternion::Set (const Vector &_EulerAngles, const int &_Sequence)
Implement Quaternion::Set(EulerAngles, Sequence) as individual calcs instead of multiple conversions

Member O_SESSAME::Quaternion::GetEulerAngles (const int &_Sequence) const
Implement Quaternion::GetEulerAngles function

Member O_SESSAME::Quaternion::Normalize ()
Add Normalize() to Vector Class

Class O_SESSAME::Rotation
Write description of rotation class.

Member O_SESSAME::Rotation::Set (const Matrix &_inMatrix)
Add testing for other types of matrix inputs

Member O_SESSAME::Rotation::GetRotation (const RotationType &_type, const int &_Sequence=123) const
completely document various rotation return types

Class O_SESSAME::RungeKuttaFehlbergIntegrator
document algorithm

Class O_SESSAME::RungeKuttaIntegrator
document algorithm testAttitudeIntegration.cpp testOrbitIntegration.cpp

Member O_SESSAME::RungeKuttaIntegrator::Integrate (const vector< ssfTime > &_propTime, odeFunctor _odeFunctorPtr, const Vector &_initialConditions, Orbit *_Orbit, Attitude *_Attitude, const Matrix &_constants, const Functor &_functorPtr)
pull out RungeKuttaIntegrator::Step function

Member O_SESSAME::ssfTime::operator== (const ssfTime &rhs) const
Determine if it needs to compare the Epoch times as well.

Member O_SESSAME::ssfTime::operator!= (const ssfTime &rhs) const
Determine if it needs to compare the Epoch times as well.

File Attitude.h
Make Attitude derivable for diff't types of attitude representations (point-to, etc)

Implement export & import plug-ins (STK, matlab, excel...)

Add Attitude history storage

File Matrix.h
Add overloading of operators

Reference cammva documentation

File QuaternionDynamics.h
document the QuaternionDynamics function

File QuaternionKinematics.h
document the QuaternionKinematics class

File RungeKutta.h
Add test cases

File RungeKuttaIntegrator.cpp
Add test cases

Namespace O_SESSAME
Add test cases

Member O_SESSAME::eye (int _rowColumns)
Implement eye as part of Vector or CAMdoubleVector class

Member O_SESSAME::trace (const Matrix &_inMatrix)
Implement trace as part of Vector or CAMdoubleVector class

Member O_SESSAME::norm2 (const Vector &_inVector)
Implement norm2 as part of Vector or CAMdoubleVector class

Member O_SESSAME::normalize (Vector &_inVector)
Implement normalize as part of Vector or CAMdoubleVector class

Member O_SESSAME::normInf (const Vector &_inVector)
Implement normInf as part of Vector or CAMdoubleVector class

Member O_SESSAME::skew (const Vector &_inVector)
Implement skew as part of Vector or CAMdoubleVector class

Member O_SESSAME::crossP (const Vector &_v1, const Vector &_v2)
Implement crossP as part of Vector or CAMdoubleVector class

Member SolarRadiationPressureForceFunction (const ssfTime &_currentTime, const OrbitState &_currentOrbitState, const AttitudeState &_currentAttitudeState, const EnvFuncParamaterType &_parameterList)
Add checking for eclipse.

Page Installation Instructions
Document Windows installation

Document Library installation

Page Introduction to the Open-Sessame Framework
  1. A better, faster, powerful matrix/vector library. Should handle all typical linear algebra functionality (matrix mult, vector mult, matrix*vector mult, inverse, transpose, norm, etc). Error handling would be nice with options for command line debugging (outputting the type/size of matrix, characterization of error (wrong mult sizes, singular) and possibly where the error occured (function, code line).
  2. More force functions: solar radiation pressure, advanced atmospheric model, higher-order gravity model
  3. More torque functions: magnetic field, higher-order gravity gradient, micrometeorites
  4. Need to implement frames, both orbit & attitude.
  5. A store and restore mechanism. Needs to be cross-platform, prefer something like XML formatting. Also need to be able to export/import with MatLab, Satellite ToolKit (STK), Excel (CSV), and others.

Generated on Wed Aug 6 12:59:10 2003 for Open-Sessame Framework by doxygen1.3