コード例 #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);
                }
            }
        }
コード例 #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);
                }
            }
        }