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); } } }
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); } } }