private CurveViewItem LoadCurveViewItem(TextDocument document, int offset, CurveInfo curveInfo) { var tableHeader = GetTableHeaderLine(document, offset, curveInfo); if (tableHeader == null) { return(null); } double duration; List <GPoint> points = ExtractPoints(document, tableHeader, curveInfo.IsGeoCoordinate, out duration); if (points.Count < 3) { return(null); } string key = CurvePlotModel.MakeKey(document.FileName, points, curveInfo); CurveViewItem curveViewItem = m_CurveViewItems.FirstOrDefault(x => x.Key == key); if (curveViewItem == null) { var curveModel = new CurvePlotModel(document.FileName, points, ShowPlotMarker, curveInfo, m_CurveManeuverParameter, duration); curveViewItem = new CurveViewItem(curveModel); m_CurveViewItems.Insert(0, curveViewItem); } Util.Util.RemoveLastItems(m_CurveViewItems, max_num: CacheSize); return(curveViewItem); }
public CurveViewItem(CurvePlotModel model) { m_CurvePlotModel = model; }