//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //생성 :
        //추가 :
        //목적 : 초기화 함수
        //설명 :
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        public override bool Initialize()
        {
            bool bReturn = false;

            do
            {
                var pDocument = CDocument.GetDocument;
                // 비전 얼라인
                m_objProcessVisionProcess150 = new CProcessAbstract[( int )CDefine.enumCamera.CAMERA_FINAL];
                for (int iLoopCount = ( int )CDefine.enumCamera.CAMERA_1; iLoopCount < ( int )CDefine.enumCamera.CAMERA_FINAL; iLoopCount++)
                {
                    CProcessVisionProcess150 obj = new CProcessVisionProcess150();
                    obj.Initialize(iLoopCount);
                    m_objProcessVisionProcess150[iLoopCount] = obj;
                    m_typeProcessVisionProcess150            = obj.GetType();
                }

                // PLC 객체 참조
                m_objPLC = pDocument.m_objProcessMain.m_objPLC;
                // 조명 컨트롤러 객체 참조
                m_objLightController = new CDeviceLightController[pDocument.m_objProcessMain.m_objLightController.Length];
                for (int iLoopCount = 0; iLoopCount < pDocument.m_objProcessMain.m_objLightController.Length; iLoopCount++)
                {
                    m_objLightController[iLoopCount] = pDocument.m_objProcessMain.m_objLightController[iLoopCount];
                }
                // 메인 스레드
                m_ThreadManager = new Thread[( int )CDefine.enumCamera.CAMERA_FINAL];
                for (int iLoopCount = 0; iLoopCount < m_ThreadManager.Length; iLoopCount++)
                {
                    m_ThreadManager[iLoopCount] = new Thread(ThreadManager);
                    structureManagerArgs objArgs = new structureManagerArgs(this, iLoopCount);
                    m_ThreadManager[iLoopCount].Start(objArgs);
                }

                bReturn = true;
            } while(false);

            return(bReturn);
        }