/// <summary> /// Конструктор /// </summary> public PictureCtrl(Size size, dGetBscanPart getBscanPart, StatusStrip statusBar, MarksManagerClass marksMgr, Action zoomCheck, List<string> ascansGps) { InitializeComponent(); drawingInfo = new DrawingInfo(); SetPictureCtrlProperties(size, getBscanPart, statusBar, marksMgr, zoomCheck, ascansGps); PictureCoords.Instance.RefreshPicCoords(Width, Height, _bscanLength, _maxAscanLength); ShiftPanelError(); }
// /// <summary> // /// Конструктор // /// </summary> // public GprFileInfo(PythonSettings pythSettings, Dictionary<int, MarksManagerClass.TypeMark> marks, List<int> ascanLengths, short fileVrsn, List<string> ascansGps, List<string> ascansTime) // { // pythonSettings = pythSettings; // MarksMgr = new MarksManagerClass(marks); // AscanLengths = ascanLengths; // fileVersion = fileVrsn; // AscansGPS = ascansGps; // AscansTime = ascansTime; // } public IGprFileInfo Clear() { pythonSettings = new PythonSettings(); MarksMgr = new MarksManagerClass(); AscanLengths = new List<int>(); AscansGPS = new List<string>(); AscansTime = new List<string>(); fileVersion = 3; return this; }
/// <summary> /// Добавить метку /// </summary> public void AddMark(MarksManagerClass.TypeMark typeMark) { this.MarksMgr.Add(drawingInfo.Bscan.Count - 1, typeMark); this.RefreshPicMedium(); }
/// <summary> /// Настройка контрола /// </summary> private void SetPictureCtrlProperties(Size size, dGetBscanPart getBscanPart, StatusStrip statusBar, MarksManagerClass marksMgr, Action zoomCheck, List<string> ascansGps) { this.Size = size; this._status = statusBar; this.hScrollBar1.Value = 0; this.vScrollBar1.Value = 0; this.MarksMgr = marksMgr; this.ZoomCheck = zoomCheck; GetBscanPart = getBscanPart; renderer = new RendererGdi(); renderer.SetMaxPictureSize(pictureBoxMain.Size, _bscanLength, _maxAscanLength); drawingInfo.ReliefCorrectionPoints = new ReliefCorrectionLine(); AscansGps = ascansGps; }
/// <summary> /// Отрисовать bscan /// </summary> public void SetImage(IList<short[]> bscan, int bscanLength, int channelsCount, MarksManagerClass marksMgr, List<string> gpsData) { this.drawingInfo.Bscan = bscan; this._bscanLength = bscanLength; this.drawingInfo.ChannelsCount = channelsCount; this._maxAscanLength = this.GetMaxAscanLength(bscan, channelsCount); MarksMgr = marksMgr; PictureCoords.Instance.RefreshPicCoords(pictureBoxMain.Width, pictureBoxMain.Height, _bscanLength, _maxAscanLength); this.AscansGps = gpsData; if (bscanLength == 1) renderer.SetMaxPictureSize(pictureBoxMain.Size, _bscanLength, _maxAscanLength); this.pictureBoxMain.Image = DrawImage(); }
/// <summary> /// Добавить метку /// </summary> public void AddMark(int x, MarksManagerClass.TypeMark typeMark) { this.MarksMgr.Add(PictureCoords.Instance.Pxl2AscanNum(x), typeMark); this.RefreshPicMedium(); }