//时间：20200608
//作者：郝爽
//功能：切割孔
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MeasureData
{
    
     //PT工序类型
    public enum PTType
    {
        Have,
        No
    }

    //操作步骤，在操作失败时，反馈的状态
    public enum Operation
    {
        Init,
        PTInsert,
        GetCutPosition,
        Cut,
        PTOut,
        GetHole,
        Image,
        Analysis,
        Element
    }

    //测试结果
    public enum State
    {
        Unmeasured,
        Failed,
        Success
    }

    //切割孔
    public class CutHole
    {
        #region 样品名
        /// <summary>
        /// 样品名
        /// </summary>
        private string m_SampleName;

        public string SampleName
        {
            get { return this.m_SampleName; }
            set { this.m_SampleName = value; }
        }
        #endregion

        #region 坐标位置
        private SemPosition m_Position;

        public SemPosition Position
        {
            get { return this.m_Position; }
            set { this.m_Position = value; }
        }
        #endregion

        #region 工作条件

        //是否有pt工序
        private PTType m_pt;

        public PTType PT
        {
            get { return this.m_pt; }
            set { this.m_pt = value; }
        }

        //FIB工作模板
        private string m_fibTemp;

        public string FIBTemp
        {
            get { return this.m_fibTemp; }
            set { this.m_fibTemp = value; }
        }

        //PT工作模板
        private string m_ptTemp;

        public string PTTemp
        {
            get { return this.m_ptTemp; }
            set { this.m_ptTemp = value; }
        }
        #endregion

        #region 工作状态
        //操作步骤
        private Operation m_opt;

        public Operation OPT
        {
            get { return this.m_opt; }
            set { this.m_opt = value; }
        }

        //开始时间
        private DateTime m_start;

        public DateTime START
        {
            get { return this.m_start; }
            set { this.m_start = value; }
        }

        //结束时间
        private DateTime m_end;

        public DateTime END
        {
            get { return this.m_end; }
            set { this.m_end = value; }
        }

        //测试结果
        private State m_state;

        public State STATE
        {
            get { return this.m_state; }
            set { this.m_state = value; }
        }

        //测量开关
        private bool m_switch;

        public bool SWITCH
        {
            get { return this.m_switch; }
            set { this.m_switch = value; }
        }
        #endregion

        //构造函数
        CutHole()
        {
            Init();
        }

        //初始化函数
        private void Init()
        {
            //设定初始值
            m_opt = Operation.Init;
            m_state = State.Unmeasured;
            m_switch = false;
        }

        //样品孔存储xml文档
    }

}
