파일정리

This commit is contained in:
ChiKyun Kim
2026-01-29 14:03:17 +09:00
parent 00cc0ef5b7
commit 58ca67150d
440 changed files with 47236 additions and 99165 deletions

View File

@@ -0,0 +1,23 @@
namespace AGVSimulator.Forms
{
/// <summary>
/// 제네릭 콤보박스 아이템 클래스
/// </summary>
/// <typeparam name="T">값의 타입</typeparam>
public class ComboBoxItem<T>
{
public T Value { get; }
public string DisplayText { get; }
public ComboBoxItem(T value, string displayText)
{
Value = value;
DisplayText = displayText;
}
public override string ToString()
{
return DisplayText;
}
}
}

View File

@@ -0,0 +1,24 @@
using AGVNavigationCore.Models;
namespace AGVSimulator.Forms
{
/// <summary>
/// 방향 콤보박스용 아이템 클래스
/// </summary>
public class DirectionItem
{
public AgvDirection Direction { get; }
public string DisplayText { get; }
public DirectionItem(AgvDirection direction, string displayText)
{
Direction = direction;
DisplayText = displayText;
}
public override string ToString()
{
return DisplayText;
}
}
}

View File

@@ -0,0 +1,25 @@
using System;
namespace AGVSimulator.Forms
{
/// <summary>
/// 경로 예측 테스트 결과 로그 항목
/// </summary>
public class PathTestLogItem
{
public string PreviousPosition { get; set; }
public string MotorDirection { get; set; } // 정방향 or 역방향
public string CurrentPosition { get; set; }
public string TargetPosition { get; set; }
public string DockingPosition { get; set; } // 도킹위치
public bool Success { get; set; }
public string Message { get; set; }
public string DetailedPath { get; set; }
public DateTime Timestamp { get; set; }
public PathTestLogItem()
{
Timestamp = DateTime.Now;
}
}
}

View File

@@ -0,0 +1,221 @@
namespace AGVSimulator.Forms
{
partial class ProgressLogForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this._statusLabel = new System.Windows.Forms.Label();
this._progressBar = new System.Windows.Forms.ProgressBar();
this._logListView = new System.Windows.Forms.ListView();
this.colPreviousPosition = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colMotorDirection = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colCurrentPosition = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colTargetPosition = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colDockingPosition = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colSuccess = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colMessage = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colDetailedPath = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colTimestamp = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.buttonPanel = new System.Windows.Forms.Panel();
this._saveCSVButton = new System.Windows.Forms.Button();
this._closeButton = new System.Windows.Forms.Button();
this._cancelButton = new System.Windows.Forms.Button();
this.buttonPanel.SuspendLayout();
this.SuspendLayout();
//
// _statusLabel
//
this._statusLabel.Dock = System.Windows.Forms.DockStyle.Top;
this._statusLabel.Font = new System.Drawing.Font("맑은 고딕", 10F, System.Drawing.FontStyle.Bold);
this._statusLabel.Location = new System.Drawing.Point(0, 0);
this._statusLabel.Name = "_statusLabel";
this._statusLabel.Padding = new System.Windows.Forms.Padding(10, 5, 10, 5);
this._statusLabel.Size = new System.Drawing.Size(1200, 30);
this._statusLabel.TabIndex = 0;
this._statusLabel.Text = "준비 중...";
this._statusLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// _progressBar
//
this._progressBar.Dock = System.Windows.Forms.DockStyle.Top;
this._progressBar.Location = new System.Drawing.Point(0, 30);
this._progressBar.Maximum = 100;
this._progressBar.Name = "_progressBar";
this._progressBar.Size = new System.Drawing.Size(1200, 25);
this._progressBar.TabIndex = 1;
//
// _logListView
//
this._logListView.BackColor = System.Drawing.Color.White;
this._logListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colPreviousPosition,
this.colMotorDirection,
this.colCurrentPosition,
this.colTargetPosition,
this.colDockingPosition,
this.colSuccess,
this.colMessage,
this.colDetailedPath,
this.colTimestamp});
this._logListView.Dock = System.Windows.Forms.DockStyle.Fill;
this._logListView.Font = new System.Drawing.Font("맑은 고딕", 9F);
this._logListView.FullRowSelect = true;
this._logListView.GridLines = true;
this._logListView.HideSelection = false;
this._logListView.Location = new System.Drawing.Point(0, 55);
this._logListView.Name = "_logListView";
this._logListView.Size = new System.Drawing.Size(1200, 495);
this._logListView.TabIndex = 2;
this._logListView.UseCompatibleStateImageBehavior = false;
this._logListView.View = System.Windows.Forms.View.Details;
//
// colPreviousPosition
//
this.colPreviousPosition.Text = "이전위치";
this.colPreviousPosition.Width = 80;
//
// colMotorDirection
//
this.colMotorDirection.Text = "모터방향";
this.colMotorDirection.Width = 80;
//
// colCurrentPosition
//
this.colCurrentPosition.Text = "현재위치";
this.colCurrentPosition.Width = 80;
//
// colTargetPosition
//
this.colTargetPosition.Text = "대상위치";
this.colTargetPosition.Width = 80;
//
// colDockingPosition
//
this.colDockingPosition.Text = "도킹위치";
this.colDockingPosition.Width = 80;
//
// colSuccess
//
this.colSuccess.Text = "성공";
this.colSuccess.Width = 50;
//
// colMessage
//
this.colMessage.Text = "메세지";
this.colMessage.Width = 180;
//
// colDetailedPath
//
this.colDetailedPath.Text = "상세경로";
this.colDetailedPath.Width = 350;
//
// colTimestamp
//
this.colTimestamp.Text = "시간";
this.colTimestamp.Width = 90;
//
// buttonPanel
//
this.buttonPanel.Controls.Add(this._saveCSVButton);
this.buttonPanel.Controls.Add(this._closeButton);
this.buttonPanel.Controls.Add(this._cancelButton);
this.buttonPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
this.buttonPanel.Location = new System.Drawing.Point(0, 550);
this.buttonPanel.Name = "buttonPanel";
this.buttonPanel.Size = new System.Drawing.Size(1200, 50);
this.buttonPanel.TabIndex = 3;
//
// _saveCSVButton
//
this._saveCSVButton.Location = new System.Drawing.Point(230, 10);
this._saveCSVButton.Name = "_saveCSVButton";
this._saveCSVButton.Size = new System.Drawing.Size(100, 30);
this._saveCSVButton.TabIndex = 2;
this._saveCSVButton.Text = "CSV 저장";
this._saveCSVButton.UseVisualStyleBackColor = true;
this._saveCSVButton.Click += new System.EventHandler(this.OnSaveCSV_Click);
//
// _closeButton
//
this._closeButton.Enabled = false;
this._closeButton.Location = new System.Drawing.Point(120, 10);
this._closeButton.Name = "_closeButton";
this._closeButton.Size = new System.Drawing.Size(100, 30);
this._closeButton.TabIndex = 1;
this._closeButton.Text = "닫기";
this._closeButton.UseVisualStyleBackColor = true;
this._closeButton.Click += new System.EventHandler(this.OnClose_Click);
//
// _cancelButton
//
this._cancelButton.Location = new System.Drawing.Point(10, 10);
this._cancelButton.Name = "_cancelButton";
this._cancelButton.Size = new System.Drawing.Size(100, 30);
this._cancelButton.TabIndex = 0;
this._cancelButton.Text = "취소";
this._cancelButton.UseVisualStyleBackColor = true;
this._cancelButton.Click += new System.EventHandler(this.OnCancel_Click);
//
// ProgressLogForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1200, 600);
this.Controls.Add(this._logListView);
this.Controls.Add(this.buttonPanel);
this.Controls.Add(this._progressBar);
this.Controls.Add(this._statusLabel);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
this.MinimumSize = new System.Drawing.Size(800, 400);
this.Name = "ProgressLogForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "경로 예측 테스트 진행 상황";
this.buttonPanel.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label _statusLabel;
private System.Windows.Forms.ProgressBar _progressBar;
private System.Windows.Forms.ListView _logListView;
private System.Windows.Forms.ColumnHeader colPreviousPosition;
private System.Windows.Forms.ColumnHeader colMotorDirection;
private System.Windows.Forms.ColumnHeader colCurrentPosition;
private System.Windows.Forms.ColumnHeader colTargetPosition;
private System.Windows.Forms.ColumnHeader colDockingPosition;
private System.Windows.Forms.ColumnHeader colSuccess;
private System.Windows.Forms.ColumnHeader colMessage;
private System.Windows.Forms.ColumnHeader colDetailedPath;
private System.Windows.Forms.ColumnHeader colTimestamp;
private System.Windows.Forms.Panel buttonPanel;
private System.Windows.Forms.Button _cancelButton;
private System.Windows.Forms.Button _closeButton;
private System.Windows.Forms.Button _saveCSVButton;
}
}

View File

@@ -0,0 +1,244 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Forms;
namespace AGVSimulator.Forms
{
/// <summary>
/// 경로 예측 테스트 진행 상황 로그 표시 폼
/// </summary>
public partial class ProgressLogForm : Form
{
private List<PathTestLogItem> _logItems;
/// <summary>
/// 취소 요청 여부
/// </summary>
public bool CancelRequested { get; private set; }
public ProgressLogForm()
{
InitializeComponent();
CancelRequested = false;
_logItems = new List<PathTestLogItem>();
}
/// <summary>
/// 로그 추가 (PathTestLogItem)
/// </summary>
public void AddLogItem(PathTestLogItem item)
{
if (InvokeRequired)
{
Invoke(new Action<PathTestLogItem>(AddLogItem), item);
return;
}
_logItems.Add(item);
var listItem = new ListViewItem(item.PreviousPosition ?? "-");
listItem.SubItems.Add(item.MotorDirection ?? "-");
listItem.SubItems.Add(item.CurrentPosition ?? "-");
listItem.SubItems.Add(item.TargetPosition ?? "-");
listItem.SubItems.Add(item.DockingPosition ?? "-");
listItem.SubItems.Add(item.Success ? "O" : "X");
listItem.SubItems.Add(item.Message ?? "-");
listItem.SubItems.Add(item.DetailedPath ?? "-");
listItem.SubItems.Add(item.Timestamp.ToString("HH:mm:ss"));
// 성공 여부에 따라 색상 설정
if (!item.Success)
{
listItem.BackColor = Color.LightPink;
}
var dockpos = item.DockingPosition ?? string.Empty;
var targerpos = item.TargetPosition ?? string.Empty;
if (dockpos.Equals("충전기") && targerpos.StartsWith("0015"))
listItem.ForeColor = Color.DarkViolet;
_logListView.Items.Add(listItem);
_logListView.EnsureVisible(_logListView.Items.Count - 1);
}
/// <summary>
/// 간단한 텍스트 로그 추가 (상태 메시지용)
/// </summary>
public void AppendLog(string message)
{
var item = new PathTestLogItem
{
Message = message,
Success = true
};
AddLogItem(item);
}
/// <summary>
/// 상태 메시지 업데이트
/// </summary>
public void UpdateStatus(string status)
{
if (InvokeRequired)
{
Invoke(new Action<string>(UpdateStatus), status);
return;
}
_statusLabel.Text = status;
}
/// <summary>
/// 프로그레스바 업데이트
/// </summary>
public void UpdateProgress(int value, int maximum)
{
if (InvokeRequired)
{
Invoke(new Action<int, int>(UpdateProgress), value, maximum);
return;
}
_progressBar.Maximum = maximum;
_progressBar.Value = Math.Min(value, maximum);
}
/// <summary>
/// 작업 완료 시 호출
/// </summary>
public void SetCompleted()
{
if (InvokeRequired)
{
Invoke(new Action(SetCompleted));
return;
}
_cancelButton.Enabled = false;
_closeButton.Enabled = true;
UpdateStatus("작업 완료");
}
/// <summary>
/// 작업 취소 시 호출
/// </summary>
public void SetCancelled()
{
if (InvokeRequired)
{
Invoke(new Action(SetCancelled));
return;
}
_cancelButton.Enabled = false;
_closeButton.Enabled = true;
UpdateStatus("작업 취소됨");
}
private void OnCancel_Click(object sender, EventArgs e)
{
var result = MessageBox.Show(
"진행 중인 작업을 취소하시겠습니까?",
"취소 확인",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
CancelRequested = true;
_cancelButton.Enabled = false;
UpdateStatus("취소 요청됨...");
AppendLog("사용자가 취소를 요청했습니다.");
}
}
private void OnSaveCSV_Click(object sender, EventArgs e)
{
if (_logItems.Count == 0)
{
MessageBox.Show("저장할 데이터가 없습니다.", "알림", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
using (var saveDialog = new SaveFileDialog())
{
saveDialog.Filter = "CSV 파일 (*.csv)|*.csv|모든 파일 (*.*)|*.*";
saveDialog.DefaultExt = "csv";
saveDialog.FileName = $"경로예측테스트_{DateTime.Now:yyyyMMdd_HHmmss}.csv";
if (saveDialog.ShowDialog() == DialogResult.OK)
{
try
{
SaveToCSV(saveDialog.FileName);
MessageBox.Show($"CSV 파일이 저장되었습니다.\n{saveDialog.FileName}",
"저장 완료", MessageBoxButtons.OK, MessageBoxIcon.Information);
var prc = new System.Diagnostics.Process();
prc.StartInfo = new System.Diagnostics.ProcessStartInfo("explorer", saveDialog.FileName);
prc.Start();
}
catch (Exception ex)
{
MessageBox.Show($"CSV 저장 중 오류가 발생했습니다:\n{ex.Message}",
"오류", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
/// <summary>
/// CSV 파일로 저장
/// </summary>
private void SaveToCSV(string filePath)
{
using (var writer = new StreamWriter(filePath, false, Encoding.UTF8))
{
// 헤더 작성
writer.WriteLine("이전위치,모터방향,현재위치,대상위치,도킹위치,성공,메세지,상세경로,시간");
// 데이터 작성
foreach (var item in _logItems)
{
var line = $"{EscapeCSV(item.PreviousPosition)}," +
$"{EscapeCSV(item.MotorDirection)}," +
$"{EscapeCSV(item.CurrentPosition)}," +
$"{EscapeCSV(item.TargetPosition)}," +
$"{EscapeCSV(item.DockingPosition)}," +
$"{(item.Success ? "O" : "X")}," +
$"{EscapeCSV(item.Message)}," +
$"{EscapeCSV(item.DetailedPath)}," +
$"{item.Timestamp:yyyy-MM-dd HH:mm:ss}";
writer.WriteLine(line);
}
}
}
/// <summary>
/// CSV 셀 데이터 이스케이프 처리
/// </summary>
private string EscapeCSV(string value)
{
if (string.IsNullOrEmpty(value))
return "";
// 쉼표, 큰따옴표, 줄바꿈이 있으면 큰따옴표로 감싸고 내부 큰따옴표는 두 개로
if (value.Contains(",") || value.Contains("\"") || value.Contains("\n") || value.Contains("\r"))
{
return "\"" + value.Replace("\"", "\"\"") + "\"";
}
return value;
}
private void OnClose_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

View File

@@ -0,0 +1,941 @@
namespace AGVSimulator.Forms
{
partial class SimulatorForm
{
/// <summary>
/// 필수 디자이너 변수입니다.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 사용 중인 모든 리소스를 정리합니다.
/// </summary>
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
// 시뮬레이션 정지
if (_simulationTimer != null)
{
_simulationTimer.Stop();
_simulationTimer.Dispose();
}
// AGV 정리
if (_agvList != null)
{
foreach (var agv in _agvList)
{
agv.Dispose();
}
}
base.Dispose(disposing);
}
#region Windows Form
/// <summary>
/// 디자이너 지원에 필요한 메서드입니다.
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SimulatorForm));
this._menuStrip = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.reloadMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.SToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.launchMapEditorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.simulationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.startSimulationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.stopSimulationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.resetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.fitToMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.resetZoomToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this._toolStrip = new System.Windows.Forms.ToolStrip();
this.reloadMapToolStripButton = new System.Windows.Forms.ToolStripButton();
this.launchMapEditorToolStripButton = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.startSimulationToolStripButton = new System.Windows.Forms.ToolStripButton();
this.stopSimulationToolStripButton = new System.Windows.Forms.ToolStripButton();
this.resetToolStripButton = new System.Windows.Forms.ToolStripButton();
this.btAllReset = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.fitToMapToolStripButton = new System.Windows.Forms.ToolStripButton();
this.resetZoomToolStripButton = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.btPredict = new System.Windows.Forms.ToolStripButton();
this.btMakeMap = new System.Windows.Forms.ToolStripButton();
this._statusStrip = new System.Windows.Forms.StatusStrip();
this._statusLabel = new System.Windows.Forms.ToolStripStatusLabel();
this._coordLabel = new System.Windows.Forms.ToolStripStatusLabel();
this.prb1 = new System.Windows.Forms.ToolStripProgressBar();
this._controlPanel = new System.Windows.Forms.Panel();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.propertyNode = new System.Windows.Forms.PropertyGrid();
this._statusGroup = new System.Windows.Forms.GroupBox();
this._pathLengthLabel = new System.Windows.Forms.Label();
this._agvCountLabel = new System.Windows.Forms.Label();
this._simulationStatusLabel = new System.Windows.Forms.Label();
this._pathGroup = new System.Windows.Forms.GroupBox();
this.btPath2 = new System.Windows.Forms.Button();
this._clearPathButton = new System.Windows.Forms.Button();
this._targetCalcButton = new System.Windows.Forms.Button();
this._avoidRotationCheckBox = new System.Windows.Forms.CheckBox();
this._targetNodeCombo = new System.Windows.Forms.ComboBox();
this.targetNodeLabel = new System.Windows.Forms.Label();
this._startNodeCombo = new System.Windows.Forms.ComboBox();
this.startNodeLabel = new System.Windows.Forms.Label();
this._agvControlGroup = new System.Windows.Forms.GroupBox();
this._setPositionButton = new System.Windows.Forms.Button();
this._rfidTextBox = new System.Windows.Forms.TextBox();
this._rfidLabel = new System.Windows.Forms.Label();
this._directionCombo = new System.Windows.Forms.ComboBox();
this._directionLabel = new System.Windows.Forms.Label();
this._stopSimulationButton = new System.Windows.Forms.Button();
this._startSimulationButton = new System.Windows.Forms.Button();
this._removeAgvButton = new System.Windows.Forms.Button();
this._addAgvButton = new System.Windows.Forms.Button();
this._agvListCombo = new System.Windows.Forms.ComboBox();
this._canvasPanel = new System.Windows.Forms.Panel();
this.lbPredict = new System.Windows.Forms.RichTextBox();
this._agvInfoPanel = new System.Windows.Forms.Panel();
this._pathDebugLabel = new System.Windows.Forms.TextBox();
this._agvInfoTitleLabel = new System.Windows.Forms.Label();
this._liftDirectionLabel = new System.Windows.Forms.Label();
this._motorDirectionLabel = new System.Windows.Forms.Label();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.btSelectMapEditor = new System.Windows.Forms.ToolStripMenuItem();
this._menuStrip.SuspendLayout();
this._toolStrip.SuspendLayout();
this._statusStrip.SuspendLayout();
this._controlPanel.SuspendLayout();
this.groupBox1.SuspendLayout();
this._statusGroup.SuspendLayout();
this._pathGroup.SuspendLayout();
this._agvControlGroup.SuspendLayout();
this._canvasPanel.SuspendLayout();
this._agvInfoPanel.SuspendLayout();
this.SuspendLayout();
//
// _menuStrip
//
this._menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.simulationToolStripMenuItem,
this.viewToolStripMenuItem,
this.helpToolStripMenuItem});
this._menuStrip.Location = new System.Drawing.Point(0, 0);
this._menuStrip.Name = "_menuStrip";
this._menuStrip.Size = new System.Drawing.Size(1248, 24);
this._menuStrip.TabIndex = 0;
this._menuStrip.Text = "menuStrip";
//
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.openMapToolStripMenuItem,
this.reloadMapToolStripMenuItem,
this.SToolStripMenuItem,
this.ToolStripMenuItem,
this.toolStripSeparator1,
this.launchMapEditorToolStripMenuItem,
this.btSelectMapEditor,
this.toolStripSeparator4,
this.exitToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(57, 20);
this.fileToolStripMenuItem.Text = "파일(&F)";
//
// openMapToolStripMenuItem
//
this.openMapToolStripMenuItem.Name = "openMapToolStripMenuItem";
this.openMapToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
this.openMapToolStripMenuItem.Size = new System.Drawing.Size(221, 22);
this.openMapToolStripMenuItem.Text = "맵 열기(&O)...";
this.openMapToolStripMenuItem.Click += new System.EventHandler(this.OnOpenMap_Click);
//
// reloadMapToolStripMenuItem
//
this.reloadMapToolStripMenuItem.Name = "reloadMapToolStripMenuItem";
this.reloadMapToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)));
this.reloadMapToolStripMenuItem.Size = new System.Drawing.Size(221, 22);
this.reloadMapToolStripMenuItem.Text = "맵 다시열기(&R)";
this.reloadMapToolStripMenuItem.Click += new System.EventHandler(this.OnReloadMap_Click);
//
// 맵저장SToolStripMenuItem
//
this.SToolStripMenuItem.Name = "맵저장SToolStripMenuItem";
this.SToolStripMenuItem.Size = new System.Drawing.Size(221, 22);
this.SToolStripMenuItem.Text = "맵 저장(&S)";
this.SToolStripMenuItem.Click += new System.EventHandler(this.SToolStripMenuItem_Click);
//
// 맵다른이름으로저장ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "맵다른이름으로저장ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(221, 22);
this.ToolStripMenuItem.Text = "맵 다른 이름으로 저장";
this.ToolStripMenuItem.Click += new System.EventHandler(this.btMapSaveAs_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(218, 6);
//
// launchMapEditorToolStripMenuItem
//
this.launchMapEditorToolStripMenuItem.Name = "launchMapEditorToolStripMenuItem";
this.launchMapEditorToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.M)));
this.launchMapEditorToolStripMenuItem.Size = new System.Drawing.Size(221, 22);
this.launchMapEditorToolStripMenuItem.Text = "MapEditor 실행(&M)";
this.launchMapEditorToolStripMenuItem.Click += new System.EventHandler(this.OnLaunchMapEditor_Click);
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(218, 6);
//
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
this.exitToolStripMenuItem.Size = new System.Drawing.Size(221, 22);
this.exitToolStripMenuItem.Text = "종료(&X)";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.OnExit_Click);
//
// simulationToolStripMenuItem
//
this.simulationToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.startSimulationToolStripMenuItem,
this.stopSimulationToolStripMenuItem,
this.resetToolStripMenuItem});
this.simulationToolStripMenuItem.Name = "simulationToolStripMenuItem";
this.simulationToolStripMenuItem.Size = new System.Drawing.Size(94, 20);
this.simulationToolStripMenuItem.Text = "시뮬레이션(&S)";
//
// startSimulationToolStripMenuItem
//
this.startSimulationToolStripMenuItem.Name = "startSimulationToolStripMenuItem";
this.startSimulationToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F5;
this.startSimulationToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.startSimulationToolStripMenuItem.Text = "시작(&S)";
this.startSimulationToolStripMenuItem.Click += new System.EventHandler(this.OnStartSimulation_Click);
//
// stopSimulationToolStripMenuItem
//
this.stopSimulationToolStripMenuItem.Name = "stopSimulationToolStripMenuItem";
this.stopSimulationToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F6;
this.stopSimulationToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.stopSimulationToolStripMenuItem.Text = "정지(&T)";
this.stopSimulationToolStripMenuItem.Click += new System.EventHandler(this.OnStopSimulation_Click);
//
// resetToolStripMenuItem
//
this.resetToolStripMenuItem.Name = "resetToolStripMenuItem";
this.resetToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F7;
this.resetToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.resetToolStripMenuItem.Text = "초기화(&R)";
this.resetToolStripMenuItem.Click += new System.EventHandler(this.OnReset_Click);
//
// viewToolStripMenuItem
//
this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fitToMapToolStripMenuItem,
this.resetZoomToolStripMenuItem});
this.viewToolStripMenuItem.Name = "viewToolStripMenuItem";
this.viewToolStripMenuItem.Size = new System.Drawing.Size(59, 20);
this.viewToolStripMenuItem.Text = "보기(&V)";
//
// fitToMapToolStripMenuItem
//
this.fitToMapToolStripMenuItem.Name = "fitToMapToolStripMenuItem";
this.fitToMapToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F)));
this.fitToMapToolStripMenuItem.Size = new System.Drawing.Size(182, 22);
this.fitToMapToolStripMenuItem.Text = "맵 맞춤(&F)";
this.fitToMapToolStripMenuItem.Click += new System.EventHandler(this.OnFitToMap_Click);
//
// resetZoomToolStripMenuItem
//
this.resetZoomToolStripMenuItem.Name = "resetZoomToolStripMenuItem";
this.resetZoomToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D0)));
this.resetZoomToolStripMenuItem.Size = new System.Drawing.Size(182, 22);
this.resetZoomToolStripMenuItem.Text = "줌 초기화(&Z)";
this.resetZoomToolStripMenuItem.Click += new System.EventHandler(this.OnResetZoom_Click);
//
// helpToolStripMenuItem
//
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.aboutToolStripMenuItem});
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
this.helpToolStripMenuItem.Size = new System.Drawing.Size(72, 20);
this.helpToolStripMenuItem.Text = "도움말(&H)";
//
// aboutToolStripMenuItem
//
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(123, 22);
this.aboutToolStripMenuItem.Text = "정보(&A)...";
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.OnAbout_Click);
//
// _toolStrip
//
this._toolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.reloadMapToolStripButton,
this.launchMapEditorToolStripButton,
this.toolStripSeparator2,
this.startSimulationToolStripButton,
this.stopSimulationToolStripButton,
this.resetToolStripButton,
this.btAllReset,
this.toolStripSeparator3,
this.fitToMapToolStripButton,
this.resetZoomToolStripButton,
this.toolStripSeparator5,
this.toolStripButton1,
this.btPredict,
this.btMakeMap});
this._toolStrip.Location = new System.Drawing.Point(0, 24);
this._toolStrip.Name = "_toolStrip";
this._toolStrip.Size = new System.Drawing.Size(1248, 25);
this._toolStrip.TabIndex = 1;
this._toolStrip.Text = "toolStrip";
//
// reloadMapToolStripButton
//
this.reloadMapToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.reloadMapToolStripButton.Name = "reloadMapToolStripButton";
this.reloadMapToolStripButton.Size = new System.Drawing.Size(59, 22);
this.reloadMapToolStripButton.Text = "다시열기";
this.reloadMapToolStripButton.ToolTipText = "현재 맵을 다시 로드합니다";
this.reloadMapToolStripButton.Click += new System.EventHandler(this.OnReloadMap_Click);
//
// launchMapEditorToolStripButton
//
this.launchMapEditorToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.launchMapEditorToolStripButton.Name = "launchMapEditorToolStripButton";
this.launchMapEditorToolStripButton.Size = new System.Drawing.Size(66, 22);
this.launchMapEditorToolStripButton.Text = "MapEditor";
this.launchMapEditorToolStripButton.ToolTipText = "MapEditor를 실행합니다";
this.launchMapEditorToolStripButton.Click += new System.EventHandler(this.OnLaunchMapEditor_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
//
// startSimulationToolStripButton
//
this.startSimulationToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.startSimulationToolStripButton.Name = "startSimulationToolStripButton";
this.startSimulationToolStripButton.Size = new System.Drawing.Size(99, 22);
this.startSimulationToolStripButton.Text = "시뮬레이션 시작";
this.startSimulationToolStripButton.ToolTipText = "시뮬레이션을 시작합니다";
this.startSimulationToolStripButton.Click += new System.EventHandler(this.OnStartSimulation_Click);
//
// stopSimulationToolStripButton
//
this.stopSimulationToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.stopSimulationToolStripButton.Name = "stopSimulationToolStripButton";
this.stopSimulationToolStripButton.Size = new System.Drawing.Size(99, 22);
this.stopSimulationToolStripButton.Text = "시뮬레이션 정지";
this.stopSimulationToolStripButton.ToolTipText = "시뮬레이션을 정지합니다";
this.stopSimulationToolStripButton.Click += new System.EventHandler(this.OnStopSimulation_Click);
//
// resetToolStripButton
//
this.resetToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.resetToolStripButton.Name = "resetToolStripButton";
this.resetToolStripButton.Size = new System.Drawing.Size(47, 22);
this.resetToolStripButton.Text = "초기화";
this.resetToolStripButton.ToolTipText = "시뮬레이션을 초기화합니다";
this.resetToolStripButton.Click += new System.EventHandler(this.OnReset_Click);
//
// btAllReset
//
this.btAllReset.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.btAllReset.Name = "btAllReset";
this.btAllReset.Size = new System.Drawing.Size(71, 22);
this.btAllReset.Text = "전체초기화";
this.btAllReset.ToolTipText = "시뮬레이션을 초기화합니다";
this.btAllReset.Click += new System.EventHandler(this.btAllReset_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
//
// fitToMapToolStripButton
//
this.fitToMapToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.fitToMapToolStripButton.Name = "fitToMapToolStripButton";
this.fitToMapToolStripButton.Size = new System.Drawing.Size(51, 22);
this.fitToMapToolStripButton.Text = "맵 맞춤";
this.fitToMapToolStripButton.ToolTipText = "맵 전체를 화면에 맞춥니다";
this.fitToMapToolStripButton.Click += new System.EventHandler(this.OnFitToMap_Click);
//
// resetZoomToolStripButton
//
this.resetZoomToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.resetZoomToolStripButton.Name = "resetZoomToolStripButton";
this.resetZoomToolStripButton.Size = new System.Drawing.Size(63, 22);
this.resetZoomToolStripButton.Text = "줌 초기화";
this.resetZoomToolStripButton.ToolTipText = "줌을 초기화합니다";
this.resetZoomToolStripButton.Click += new System.EventHandler(this.OnResetZoom_Click);
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25);
//
// toolStripButton1
//
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton1.Name = "toolStripButton1";
this.toolStripButton1.Size = new System.Drawing.Size(111, 22);
this.toolStripButton1.Text = "전체경로테스트";
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
//
// btPredict
//
this.btPredict.Image = ((System.Drawing.Image)(resources.GetObject("btPredict.Image")));
this.btPredict.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btPredict.Name = "btPredict";
this.btPredict.Size = new System.Drawing.Size(107, 22);
this.btPredict.Text = "다음 행동 예측";
this.btPredict.Click += new System.EventHandler(this.btPredict_Click);
//
// btMakeMap
//
this.btMakeMap.Image = ((System.Drawing.Image)(resources.GetObject("btMakeMap.Image")));
this.btMakeMap.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btMakeMap.Name = "btMakeMap";
this.btMakeMap.Size = new System.Drawing.Size(63, 22);
this.btMakeMap.Text = "맵기록";
this.btMakeMap.Click += new System.EventHandler(this.btMakeMap_Click);
//
// _statusStrip
//
this._statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this._statusLabel,
this._coordLabel,
this.prb1});
this._statusStrip.Location = new System.Drawing.Point(0, 689);
this._statusStrip.Name = "_statusStrip";
this._statusStrip.Size = new System.Drawing.Size(1248, 22);
this._statusStrip.TabIndex = 2;
this._statusStrip.Text = "statusStrip";
//
// _statusLabel
//
this._statusLabel.Name = "_statusLabel";
this._statusLabel.Size = new System.Drawing.Size(31, 17);
this._statusLabel.Text = "준비";
//
// _coordLabel
//
this._coordLabel.Name = "_coordLabel";
this._coordLabel.Size = new System.Drawing.Size(0, 17);
//
// prb1
//
this.prb1.Name = "prb1";
this.prb1.Size = new System.Drawing.Size(200, 16);
//
// _controlPanel
//
this._controlPanel.BackColor = System.Drawing.SystemColors.Control;
this._controlPanel.Controls.Add(this.groupBox1);
this._controlPanel.Controls.Add(this._statusGroup);
this._controlPanel.Controls.Add(this._pathGroup);
this._controlPanel.Controls.Add(this._agvControlGroup);
this._controlPanel.Dock = System.Windows.Forms.DockStyle.Right;
this._controlPanel.Location = new System.Drawing.Point(1015, 49);
this._controlPanel.Name = "_controlPanel";
this._controlPanel.Size = new System.Drawing.Size(233, 640);
this._controlPanel.TabIndex = 3;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.propertyNode);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(0, 546);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(233, 94);
this.groupBox1.TabIndex = 4;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "노드 정보";
//
// propertyNode
//
this.propertyNode.Dock = System.Windows.Forms.DockStyle.Fill;
this.propertyNode.Location = new System.Drawing.Point(3, 17);
this.propertyNode.Name = "propertyNode";
this.propertyNode.Size = new System.Drawing.Size(227, 74);
this.propertyNode.TabIndex = 0;
//
// _statusGroup
//
this._statusGroup.Controls.Add(this._pathLengthLabel);
this._statusGroup.Controls.Add(this._agvCountLabel);
this._statusGroup.Controls.Add(this._simulationStatusLabel);
this._statusGroup.Dock = System.Windows.Forms.DockStyle.Top;
this._statusGroup.Location = new System.Drawing.Point(0, 446);
this._statusGroup.Name = "_statusGroup";
this._statusGroup.Size = new System.Drawing.Size(233, 100);
this._statusGroup.TabIndex = 3;
this._statusGroup.TabStop = false;
this._statusGroup.Text = "상태 정보";
//
// _pathLengthLabel
//
this._pathLengthLabel.AutoSize = true;
this._pathLengthLabel.Location = new System.Drawing.Point(10, 65);
this._pathLengthLabel.Name = "_pathLengthLabel";
this._pathLengthLabel.Size = new System.Drawing.Size(71, 12);
this._pathLengthLabel.TabIndex = 2;
this._pathLengthLabel.Text = "경로 길이: -";
//
// _agvCountLabel
//
this._agvCountLabel.AutoSize = true;
this._agvCountLabel.Location = new System.Drawing.Point(10, 45);
this._agvCountLabel.Name = "_agvCountLabel";
this._agvCountLabel.Size = new System.Drawing.Size(60, 12);
this._agvCountLabel.TabIndex = 1;
this._agvCountLabel.Text = "AGV 수: 0";
//
// _simulationStatusLabel
//
this._simulationStatusLabel.AutoSize = true;
this._simulationStatusLabel.Location = new System.Drawing.Point(10, 25);
this._simulationStatusLabel.Name = "_simulationStatusLabel";
this._simulationStatusLabel.Size = new System.Drawing.Size(97, 12);
this._simulationStatusLabel.TabIndex = 0;
this._simulationStatusLabel.Text = "시뮬레이션: 정지";
//
// _pathGroup
//
this._pathGroup.Controls.Add(this.btPath2);
this._pathGroup.Controls.Add(this._clearPathButton);
this._pathGroup.Controls.Add(this._targetCalcButton);
this._pathGroup.Controls.Add(this._avoidRotationCheckBox);
this._pathGroup.Controls.Add(this._targetNodeCombo);
this._pathGroup.Controls.Add(this.targetNodeLabel);
this._pathGroup.Controls.Add(this._startNodeCombo);
this._pathGroup.Controls.Add(this.startNodeLabel);
this._pathGroup.Dock = System.Windows.Forms.DockStyle.Top;
this._pathGroup.Location = new System.Drawing.Point(0, 214);
this._pathGroup.Name = "_pathGroup";
this._pathGroup.Size = new System.Drawing.Size(233, 232);
this._pathGroup.TabIndex = 1;
this._pathGroup.TabStop = false;
this._pathGroup.Text = "경로 제어";
//
// btPath2
//
this.btPath2.Location = new System.Drawing.Point(12, 177);
this.btPath2.Name = "btPath2";
this.btPath2.Size = new System.Drawing.Size(106, 25);
this.btPath2.TabIndex = 10;
this.btPath2.Text = "경로 계산2";
this.btPath2.UseVisualStyleBackColor = true;
this.btPath2.Click += new System.EventHandler(this.btPath2_Click);
//
// _clearPathButton
//
this._clearPathButton.Location = new System.Drawing.Point(121, 177);
this._clearPathButton.Name = "_clearPathButton";
this._clearPathButton.Size = new System.Drawing.Size(111, 25);
this._clearPathButton.TabIndex = 6;
this._clearPathButton.Text = "경로 지우기";
this._clearPathButton.UseVisualStyleBackColor = true;
this._clearPathButton.Click += new System.EventHandler(this.OnClearPath_Click);
//
// _targetCalcButton
//
this._targetCalcButton.Location = new System.Drawing.Point(10, 148);
this._targetCalcButton.Name = "_targetCalcButton";
this._targetCalcButton.Size = new System.Drawing.Size(70, 25);
this._targetCalcButton.TabIndex = 9;
this._targetCalcButton.Text = "타겟계산";
this._targetCalcButton.UseVisualStyleBackColor = true;
this._targetCalcButton.Click += new System.EventHandler(this.OnTargetCalc_Click);
//
// _avoidRotationCheckBox
//
this._avoidRotationCheckBox.AutoSize = true;
this._avoidRotationCheckBox.Location = new System.Drawing.Point(10, 126);
this._avoidRotationCheckBox.Name = "_avoidRotationCheckBox";
this._avoidRotationCheckBox.Size = new System.Drawing.Size(104, 16);
this._avoidRotationCheckBox.TabIndex = 7;
this._avoidRotationCheckBox.Text = "회전 구간 회피";
this._avoidRotationCheckBox.UseVisualStyleBackColor = true;
//
// _targetNodeCombo
//
this._targetNodeCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this._targetNodeCombo.Font = new System.Drawing.Font("돋움체", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this._targetNodeCombo.Location = new System.Drawing.Point(10, 97);
this._targetNodeCombo.Name = "_targetNodeCombo";
this._targetNodeCombo.Size = new System.Drawing.Size(210, 20);
this._targetNodeCombo.TabIndex = 3;
//
// targetNodeLabel
//
this.targetNodeLabel.AutoSize = true;
this.targetNodeLabel.Location = new System.Drawing.Point(10, 75);
this.targetNodeLabel.Name = "targetNodeLabel";
this.targetNodeLabel.Size = new System.Drawing.Size(63, 12);
this.targetNodeLabel.TabIndex = 2;
this.targetNodeLabel.Text = "목표 RFID:";
//
// _startNodeCombo
//
this._startNodeCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this._startNodeCombo.Font = new System.Drawing.Font("돋움체", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this._startNodeCombo.Location = new System.Drawing.Point(10, 45);
this._startNodeCombo.Name = "_startNodeCombo";
this._startNodeCombo.Size = new System.Drawing.Size(210, 20);
this._startNodeCombo.TabIndex = 1;
//
// startNodeLabel
//
this.startNodeLabel.AutoSize = true;
this.startNodeLabel.Location = new System.Drawing.Point(10, 25);
this.startNodeLabel.Name = "startNodeLabel";
this.startNodeLabel.Size = new System.Drawing.Size(63, 12);
this.startNodeLabel.TabIndex = 0;
this.startNodeLabel.Text = "시작 RFID:";
//
// _agvControlGroup
//
this._agvControlGroup.Controls.Add(this._setPositionButton);
this._agvControlGroup.Controls.Add(this._rfidTextBox);
this._agvControlGroup.Controls.Add(this._rfidLabel);
this._agvControlGroup.Controls.Add(this._directionCombo);
this._agvControlGroup.Controls.Add(this._directionLabel);
this._agvControlGroup.Controls.Add(this._stopSimulationButton);
this._agvControlGroup.Controls.Add(this._startSimulationButton);
this._agvControlGroup.Controls.Add(this._removeAgvButton);
this._agvControlGroup.Controls.Add(this._addAgvButton);
this._agvControlGroup.Controls.Add(this._agvListCombo);
this._agvControlGroup.Dock = System.Windows.Forms.DockStyle.Top;
this._agvControlGroup.Location = new System.Drawing.Point(0, 0);
this._agvControlGroup.Name = "_agvControlGroup";
this._agvControlGroup.Size = new System.Drawing.Size(233, 214);
this._agvControlGroup.TabIndex = 0;
this._agvControlGroup.TabStop = false;
this._agvControlGroup.Text = "AGV 제어";
//
// _setPositionButton
//
this._setPositionButton.Location = new System.Drawing.Point(160, 138);
this._setPositionButton.Name = "_setPositionButton";
this._setPositionButton.Size = new System.Drawing.Size(60, 39);
this._setPositionButton.TabIndex = 7;
this._setPositionButton.Text = "위치설정";
this._setPositionButton.UseVisualStyleBackColor = true;
this._setPositionButton.Click += new System.EventHandler(this.OnSetPosition_Click);
//
// _rfidTextBox
//
this._rfidTextBox.Location = new System.Drawing.Point(10, 140);
this._rfidTextBox.Name = "_rfidTextBox";
this._rfidTextBox.Size = new System.Drawing.Size(140, 21);
this._rfidTextBox.TabIndex = 6;
this._rfidTextBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.OnRfidTextBox_KeyPress);
//
// _rfidLabel
//
this._rfidLabel.AutoSize = true;
this._rfidLabel.Location = new System.Drawing.Point(10, 120);
this._rfidLabel.Name = "_rfidLabel";
this._rfidLabel.Size = new System.Drawing.Size(87, 12);
this._rfidLabel.TabIndex = 5;
this._rfidLabel.Text = "RFID 현재위치:";
//
// _directionCombo
//
this._directionCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this._directionCombo.FormattingEnabled = true;
this._directionCombo.Location = new System.Drawing.Point(10, 185);
this._directionCombo.Name = "_directionCombo";
this._directionCombo.Size = new System.Drawing.Size(140, 20);
this._directionCombo.TabIndex = 8;
//
// _directionLabel
//
this._directionLabel.AutoSize = true;
this._directionLabel.Location = new System.Drawing.Point(10, 165);
this._directionLabel.Name = "_directionLabel";
this._directionLabel.Size = new System.Drawing.Size(85, 12);
this._directionLabel.TabIndex = 9;
this._directionLabel.Text = "모터 구동방향:";
//
// _stopSimulationButton
//
this._stopSimulationButton.Location = new System.Drawing.Point(120, 85);
this._stopSimulationButton.Name = "_stopSimulationButton";
this._stopSimulationButton.Size = new System.Drawing.Size(100, 25);
this._stopSimulationButton.TabIndex = 4;
this._stopSimulationButton.Text = "시뮬레이션 정지";
this._stopSimulationButton.UseVisualStyleBackColor = true;
this._stopSimulationButton.Click += new System.EventHandler(this.OnStopSimulation_Click);
//
// _startSimulationButton
//
this._startSimulationButton.Location = new System.Drawing.Point(10, 85);
this._startSimulationButton.Name = "_startSimulationButton";
this._startSimulationButton.Size = new System.Drawing.Size(100, 25);
this._startSimulationButton.TabIndex = 3;
this._startSimulationButton.Text = "시뮬레이션 시작";
this._startSimulationButton.UseVisualStyleBackColor = true;
this._startSimulationButton.Click += new System.EventHandler(this.OnStartSimulation_Click);
//
// _removeAgvButton
//
this._removeAgvButton.Location = new System.Drawing.Point(120, 55);
this._removeAgvButton.Name = "_removeAgvButton";
this._removeAgvButton.Size = new System.Drawing.Size(100, 25);
this._removeAgvButton.TabIndex = 2;
this._removeAgvButton.Text = "AGV 제거";
this._removeAgvButton.UseVisualStyleBackColor = true;
this._removeAgvButton.Click += new System.EventHandler(this.OnRemoveAGV_Click);
//
// _addAgvButton
//
this._addAgvButton.Location = new System.Drawing.Point(10, 55);
this._addAgvButton.Name = "_addAgvButton";
this._addAgvButton.Size = new System.Drawing.Size(100, 25);
this._addAgvButton.TabIndex = 1;
this._addAgvButton.Text = "AGV 추가";
this._addAgvButton.UseVisualStyleBackColor = true;
this._addAgvButton.Click += new System.EventHandler(this.OnAddAGV_Click);
//
// _agvListCombo
//
this._agvListCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this._agvListCombo.Location = new System.Drawing.Point(10, 25);
this._agvListCombo.Name = "_agvListCombo";
this._agvListCombo.Size = new System.Drawing.Size(210, 20);
this._agvListCombo.TabIndex = 0;
this._agvListCombo.SelectedIndexChanged += new System.EventHandler(this.OnAGVList_SelectedIndexChanged);
//
// _canvasPanel
//
this._canvasPanel.Controls.Add(this.lbPredict);
this._canvasPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this._canvasPanel.Location = new System.Drawing.Point(0, 129);
this._canvasPanel.Name = "_canvasPanel";
this._canvasPanel.Size = new System.Drawing.Size(1015, 560);
this._canvasPanel.TabIndex = 4;
//
// lbPredict
//
this.lbPredict.Dock = System.Windows.Forms.DockStyle.Bottom;
this.lbPredict.Location = new System.Drawing.Point(0, 513);
this.lbPredict.Name = "lbPredict";
this.lbPredict.Size = new System.Drawing.Size(1015, 47);
this.lbPredict.TabIndex = 0;
this.lbPredict.Text = "";
//
// _agvInfoPanel
//
this._agvInfoPanel.BackColor = System.Drawing.Color.LightBlue;
this._agvInfoPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this._agvInfoPanel.Controls.Add(this._pathDebugLabel);
this._agvInfoPanel.Controls.Add(this._agvInfoTitleLabel);
this._agvInfoPanel.Controls.Add(this._liftDirectionLabel);
this._agvInfoPanel.Controls.Add(this._motorDirectionLabel);
this._agvInfoPanel.Dock = System.Windows.Forms.DockStyle.Top;
this._agvInfoPanel.Location = new System.Drawing.Point(0, 49);
this._agvInfoPanel.Name = "_agvInfoPanel";
this._agvInfoPanel.Size = new System.Drawing.Size(1015, 80);
this._agvInfoPanel.TabIndex = 5;
//
// _pathDebugLabel
//
this._pathDebugLabel.BackColor = System.Drawing.Color.LightBlue;
this._pathDebugLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
this._pathDebugLabel.Font = new System.Drawing.Font("굴림", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this._pathDebugLabel.Location = new System.Drawing.Point(10, 30);
this._pathDebugLabel.Multiline = true;
this._pathDebugLabel.Name = "_pathDebugLabel";
this._pathDebugLabel.Size = new System.Drawing.Size(947, 45);
this._pathDebugLabel.TabIndex = 4;
this._pathDebugLabel.Text = "경로: 설정되지 않음";
//
// _agvInfoTitleLabel
//
this._agvInfoTitleLabel.AutoSize = true;
this._agvInfoTitleLabel.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this._agvInfoTitleLabel.Location = new System.Drawing.Point(10, 8);
this._agvInfoTitleLabel.Name = "_agvInfoTitleLabel";
this._agvInfoTitleLabel.Size = new System.Drawing.Size(91, 15);
this._agvInfoTitleLabel.TabIndex = 0;
this._agvInfoTitleLabel.Text = "AGV 상태 정보:";
//
// _liftDirectionLabel
//
this._liftDirectionLabel.AutoSize = true;
this._liftDirectionLabel.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this._liftDirectionLabel.Location = new System.Drawing.Point(120, 8);
this._liftDirectionLabel.Name = "_liftDirectionLabel";
this._liftDirectionLabel.Size = new System.Drawing.Size(83, 15);
this._liftDirectionLabel.TabIndex = 1;
this._liftDirectionLabel.Text = "리프트 방향: -";
//
// _motorDirectionLabel
//
this._motorDirectionLabel.AutoSize = true;
this._motorDirectionLabel.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this._motorDirectionLabel.Location = new System.Drawing.Point(250, 8);
this._motorDirectionLabel.Name = "_motorDirectionLabel";
this._motorDirectionLabel.Size = new System.Drawing.Size(71, 15);
this._motorDirectionLabel.TabIndex = 2;
this._motorDirectionLabel.Text = "모터 방향: -";
//
// timer1
//
this.timer1.Interval = 500;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// btSelectMapEditor
//
this.btSelectMapEditor.Name = "btSelectMapEditor";
this.btSelectMapEditor.Size = new System.Drawing.Size(221, 22);
this.btSelectMapEditor.Text = "Mapeditor 선택";
this.btSelectMapEditor.Click += new System.EventHandler(this.btSelectMapEditor_Click);
//
// SimulatorForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1248, 711);
this.Controls.Add(this._canvasPanel);
this.Controls.Add(this._agvInfoPanel);
this.Controls.Add(this._controlPanel);
this.Controls.Add(this._statusStrip);
this.Controls.Add(this._toolStrip);
this.Controls.Add(this._menuStrip);
this.MainMenuStrip = this._menuStrip;
this.Name = "SimulatorForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "AGV 시뮬레이터";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this._menuStrip.ResumeLayout(false);
this._menuStrip.PerformLayout();
this._toolStrip.ResumeLayout(false);
this._toolStrip.PerformLayout();
this._statusStrip.ResumeLayout(false);
this._statusStrip.PerformLayout();
this._controlPanel.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this._statusGroup.ResumeLayout(false);
this._statusGroup.PerformLayout();
this._pathGroup.ResumeLayout(false);
this._pathGroup.PerformLayout();
this._agvControlGroup.ResumeLayout(false);
this._agvControlGroup.PerformLayout();
this._canvasPanel.ResumeLayout(false);
this._agvInfoPanel.ResumeLayout(false);
this._agvInfoPanel.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.MenuStrip _menuStrip;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem openMapToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem simulationToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem startSimulationToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem stopSimulationToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem resetToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem fitToMapToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem resetZoomToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
private System.Windows.Forms.ToolStrip _toolStrip;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripButton startSimulationToolStripButton;
private System.Windows.Forms.ToolStripButton stopSimulationToolStripButton;
private System.Windows.Forms.ToolStripButton resetToolStripButton;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripButton fitToMapToolStripButton;
private System.Windows.Forms.ToolStripButton resetZoomToolStripButton;
private System.Windows.Forms.StatusStrip _statusStrip;
private System.Windows.Forms.ToolStripStatusLabel _statusLabel;
private System.Windows.Forms.ToolStripStatusLabel _coordLabel;
private System.Windows.Forms.Panel _controlPanel;
private System.Windows.Forms.GroupBox _agvControlGroup;
private System.Windows.Forms.ComboBox _agvListCombo;
private System.Windows.Forms.Button _addAgvButton;
private System.Windows.Forms.Button _removeAgvButton;
private System.Windows.Forms.Button _startSimulationButton;
private System.Windows.Forms.Button _stopSimulationButton;
private System.Windows.Forms.GroupBox _pathGroup;
private System.Windows.Forms.Label startNodeLabel;
private System.Windows.Forms.ComboBox _startNodeCombo;
private System.Windows.Forms.Label targetNodeLabel;
private System.Windows.Forms.ComboBox _targetNodeCombo;
private System.Windows.Forms.Button _clearPathButton;
private System.Windows.Forms.Button _targetCalcButton;
private System.Windows.Forms.CheckBox _avoidRotationCheckBox;
private System.Windows.Forms.GroupBox _statusGroup;
private System.Windows.Forms.Label _simulationStatusLabel;
private System.Windows.Forms.Label _agvCountLabel;
private System.Windows.Forms.Label _pathLengthLabel;
private System.Windows.Forms.Panel _canvasPanel;
private System.Windows.Forms.Label _rfidLabel;
private System.Windows.Forms.TextBox _rfidTextBox;
private System.Windows.Forms.Button _setPositionButton;
private System.Windows.Forms.ComboBox _directionCombo;
private System.Windows.Forms.Label _directionLabel;
private System.Windows.Forms.ToolStripButton btAllReset;
private System.Windows.Forms.ToolStripMenuItem reloadMapToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem launchMapEditorToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
private System.Windows.Forms.ToolStripButton reloadMapToolStripButton;
private System.Windows.Forms.ToolStripButton launchMapEditorToolStripButton;
private System.Windows.Forms.Panel _agvInfoPanel;
private System.Windows.Forms.Label _liftDirectionLabel;
private System.Windows.Forms.Label _motorDirectionLabel;
private System.Windows.Forms.Label _agvInfoTitleLabel;
private System.Windows.Forms.TextBox _pathDebugLabel;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripProgressBar prb1;
private System.Windows.Forms.ToolStripButton btPredict;
private System.Windows.Forms.RichTextBox lbPredict;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.ToolStripButton btMakeMap;
private System.Windows.Forms.ToolStripMenuItem SToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.PropertyGrid propertyNode;
private System.Windows.Forms.Button btPath2;
private System.Windows.Forms.ToolStripMenuItem btSelectMapEditor;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,178 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="_menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="_toolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>132, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
cX79DFKrHHD5d9D26hvicx4pABt2lpg10zYzU0zr7+e3xXGcrkEB2O2TNec9nJFwB3alZn5jZorfeDZh
6Q3g8s06BeCoKF4MRURoH1+BY2oNCbeb0TIclIYxOhzf8frTOuo7FxCbbVIAzpni0iceEc8vhzEwGkJD
lx83ymxifejdKjRNk/8PWnyIyTQqAJek0jqHwfEVscu31baIu8+90sTE4nY025dQ2/5FIPpnXlzKuK8A
HBUzHot52djqQ6HZhfR7IwK4mKpHtvEDMqvfCiQ6zaAAXM8x94aIWTNrLLG4kVUzgaTSPlzLtyJOZxbb
1wtfyg4Q+AfA3aZlButjSfxGcUJBk4g5tuP3haQKRKXcUQDOmbvNTpPOJeFFjordZmbWTNvMTHFUcpUC
nOccAdABIDXXE1nzAAAAAElFTkSuQmCC
</value>
</data>
<data name="btPredict.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
cX79DFKrHHD5d9D26hvicx4pABt2lpg10zYzU0zr7+e3xXGcrkEB2O2TNec9nJFwB3alZn5jZorfeDZh
6Q3g8s06BeCoKF4MRURoH1+BY2oNCbeb0TIclIYxOhzf8frTOuo7FxCbbVIAzpni0iceEc8vhzEwGkJD
lx83ymxifejdKjRNk/8PWnyIyTQqAJek0jqHwfEVscu31baIu8+90sTE4nY025dQ2/5FIPpnXlzKuK8A
HBUzHot52djqQ6HZhfR7IwK4mKpHtvEDMqvfCiQ6zaAAXM8x94aIWTNrLLG4kVUzgaTSPlzLtyJOZxbb
1wtfyg4Q+AfA3aZlButjSfxGcUJBk4g5tuP3haQKRKXcUQDOmbvNTpPOJeFFjordZmbWTNvMTHFUcpUC
nOccAdABIDXXE1nzAAAAAElFTkSuQmCC
</value>
</data>
<data name="btMakeMap.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
cX79DFKrHHD5d9D26hvicx4pABt2lpg10zYzU0zr7+e3xXGcrkEB2O2TNec9nJFwB3alZn5jZorfeDZh
6Q3g8s06BeCoKF4MRURoH1+BY2oNCbeb0TIclIYxOhzf8frTOuo7FxCbbVIAzpni0iceEc8vhzEwGkJD
lx83ymxifejdKjRNk/8PWnyIyTQqAJek0jqHwfEVscu31baIu8+90sTE4nY025dQ2/5FIPpnXlzKuK8A
HBUzHot52djqQ6HZhfR7IwK4mKpHtvEDMqvfCiQ6zaAAXM8x94aIWTNrLLG4kVUzgaTSPlzLtyJOZxbb
1wtfyg4Q+AfA3aZlButjSfxGcUJBk4g5tuP3haQKRKXcUQDOmbvNTpPOJeFFjordZmbWTNvMTHFUcpUC
nOccAdABIDXXE1nzAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="_statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>237, 17</value>
</metadata>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>352, 17</value>
</metadata>
</root>