public BasicManeuverStrategy3dExampleNav()
        {
            m_accelCommand     = new AgCartVec3();
            m_coriolisAccel    = new AgCartVec3();
            m_centripetalAccel = new AgCartVec3();
            m_PQR = new AgCartVec3();
            m_earthOmegaInRefAxes = new AgCartVec3();

            m_ecfToRefAxesQuat = new AgQuaternion();
        }
        public void SetInitialState(AgEFlightPerformanceMode ePerfMode, AgEFlightPhaseOfFlight ePhaseOfFlight, IAgFlightBasicManeuverState pInitState, IAgFlightDoubleArray presultAuxInitState)
        {
            AgQuaternion pRefAxesQuat   = new AgQuaternion();
            AgCartVec3   pRefAxesAngVel = new AgCartVec3();

            // generate the default ref axes coordinate frame ...
            pInitState.ComputeStandardECFToRefAxesFrame(
                true, AgEFlightAxesOrientation.eFwdRightDown, pRefAxesQuat, pRefAxesAngVel);

            // tell the system to use that ref axes frame (can only be done during SetInitialState)...
            pInitState.SetInitialECFToRefAxesFrame(AgEFlightAxesOrientation.eFwdRightDown, pRefAxesQuat, pRefAxesAngVel);
        }