Ejemplo n.º 1
0
        public void get_TargSeq_Segments(IAgVAMCSTargetSequence TargSeq, int local_depth)
        {
            IAgVAMCSSegmentCollection InnerSegments = TargSeq.Segments;

            local_depth++;
            for (int ii = 0; ii < InnerSegments.Count - 1; ii++)
            {
                IAgVAMCSSegment InnerSegmentObj = InnerSegments[ii] as IAgVAMCSSegment;
                l_depth.Add(local_depth);
                Astg_SegData thisSegment = new Astg_SegData(InnerSegmentObj, local_depth);
                SegmentDataList.Add(thisSegment);

                if (InnerSegmentObj.Type == AgEVASegmentType.eVASegmentTypeTargetSequence)
                {
                    get_TargSeq_Segments(InnerSegmentObj as IAgVAMCSTargetSequence, local_depth);
                }
            }
        }
Ejemplo n.º 2
0
        public MCS_Segments(IAgSatellite satellite)
        {
            IAgVAMCSSegmentCollection m_MainSequence = (satellite.Propagator as IAgVADriverMCS).MainSequence;
            var startTime = (m_MainSequence[0].InitialState as IAgVAState).Epoch;
            var stopTime  = (m_MainSequence[m_MainSequence.Count - 1].InitialState as IAgVAState).Epoch;

            objectTimes.Add(startTime); objectTimes.Add(stopTime);
            for (int i = 0; i < m_MainSequence.Count - 1; i++)
            {
                IAgVAMCSSegment SegmentObj = m_MainSequence[i] as IAgVAMCSSegment;
                l_depth.Add(0);
                int          local_depth = 0;
                Astg_SegData thisSegment = new Astg_SegData(SegmentObj, local_depth);
                SegmentDataList.Add(thisSegment);

                if (SegmentObj.Type == AgEVASegmentType.eVASegmentTypeTargetSequence)
                {
                    get_TargSeq_Segments(SegmentObj as IAgVAMCSTargetSequence, local_depth);
                }
            }
        }
Ejemplo n.º 3
0
        public int invoke_STKUpdate(int index, string STKVarName, double Value)
        {
            var returnID = 0;

            if (AccessClassName[index] == implem_Classes.Satellite_OrbitData)
            {
                Satellite_OrbitData toUpdate = new Satellite_OrbitData(AccessObject[index] as IAgStkObject);
                toUpdate.set_InitStateJx((AccessObject[index]), STKVarName, Value);
                returnID = 1;
            }
            if (AccessClassName[index] == implem_Classes.Satellite_MassData)
            {
                Satellite_MassData toUpdate = new Satellite_MassData();
                toUpdate.set_MassProp((AccessObject[index]), STKVarName, Value);
                returnID = 1;
            }
            if (AccessClassName[index] == implem_Classes.Astg_InitState)
            {
                Astg_SegData toUpdate = new Astg_SegData();
                toUpdate.set_InitialState((AccessObject[index]), STKVarName, Value);
                returnID = 1;
            }
            if (AccessClassName[index] == implem_Classes.Astg_SC_InitParams)
            {
                Astg_SegData toUpdate = new Astg_SegData();
                toUpdate.set_SpacecraftParams((AccessObject[index]), STKVarName, Value);
                returnID = 1;
            }
            if (AccessClassName[index] == implem_Classes.Astg_FuelTankParams)
            {
                Astg_SegData toUpdate = new Astg_SegData();
                toUpdate.set_FuelTankParams((AccessObject[index]), STKVarName, Value);
                returnID = 1;
            }
            return(returnID);
        }