コード例 #1
1
ファイル: VisionVPPJob.cs プロジェクト: hansey/VisionProAPI
 public bool init(string vpppath, CogRecordDisplay cogRecordDisplayin = null)
 {
     if (null == vpppath)
     {
         return false;
     }
     try
     {
         myJobManager = (CogJobManager)CogSerializer.LoadObjectFromFile(vpppath);
         myJob = myJobManager.Job(0);
         myJobIndependent = myJob.OwnedIndependent;
         myJobManager.UserQueueFlush();
         myJobManager.FailureQueueFlush();
         myJob.ImageQueueFlush();
         myJobIndependent.RealTimeQueueFlush();
         updateDisplaySource(cogRecordDisplayin);
     }
     catch { }
     return true;
 }
コード例 #2
1
ファイル: Vision1.cs プロジェクト: wangaili/VisionProAPI
 public bool init0(string vpppath0, CogRecordDisplay cogRecordDisplayin0 = null)
 {
     updateDisplaySource0(cogRecordDisplayin0);
     if (null == vpppath0)
     {
         return false;
     }
     try
     {
         myJobManager0 = (CogJobManager)CogSerializer.LoadObjectFromFile(vpppath0);
         myJob0 = myJobManager0.Job(0);
         myJobIndependent0 = myJob0.OwnedIndependent;
         myJobManager0.UserQueueFlush();
         myJobManager0.FailureQueueFlush();
         myJob0.ImageQueueFlush();
         myJobIndependent0.RealTimeQueueFlush();
     }
     catch
     {
         return false;
     }
     return true;
 }
コード例 #3
0
        static bool loadManager(string vppPath)
        {
            if (manager != null)
            {
                unload();
            }

            if (!File.Exists(vppPath))
            {
                Console.WriteLine("file does not exist");
                return(false);
            }
            Console.WriteLine("loading...");
            try
            {
                manager = (CogJobManager)CogSerializer.LoadObjectFromFile(vppPath);
            }
            catch (Exception e)
            {
                Console.WriteLine("can not load: " + e.Message);
                return(false);
            }
            Console.WriteLine("loaded");
            listJobs();
            return(true);
        }
コード例 #4
0
ファイル: Vision.cs プロジェクト: wangaili/VisionProAPI
 /// <summary>
 /// 关闭
 /// </summary>
 public bool Close()
 {
     if (null != myJobManager)
     {
         try
         {
             myJob.Reset();
             myJobManager.Stop();
             myJobManager.Shutdown();
             myJob            = null;
             myJobManager     = null;
             myJobIndependent = null;
             Imagein.Dispose();
             return(true);
         }
         catch
         {
             return(false);
         }
         GC.Collect();
     }
     else
     {
         return(false);
     }
 }
コード例 #5
0
        /// <summary>
        /// This function is responsible for the initial setup of the app.
        /// It loads and prepares the saved QuickBuild app into a CogJobManager
        /// object, attaches event handlers to to interesting CogJobManager
        /// events, and sets up the CogDisplayStatusBar to reflect the status
        /// of the CogDisplay we are using.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_Load(object sender, EventArgs e)
        {
            // Depersist the CogJobManager saved via QuickBuild
            myJobManager = CogSerializer.LoadObjectFromFile(
                Environment.GetEnvironmentVariable("VPRO_ROOT") +
                "\\Samples\\Programming\\QuickBuild\\advancedAppOne.vpp") as CogJobManager;

            // Initialize Variables
            myJob            = myJobManager.Job(0);
            myIndependentJob = myJob.OwnedIndependent;

            // Flush queues
            myJobManager.UserQueueFlush();
            myJobManager.FailureQueueFlush();
            myJob.ImageQueueFlush();
            myIndependentJob.RealTimeQueueFlush();

            // Register handler for Stopped event
            myJobManager.Stopped +=
                new CogJobManager.CogJobManagerStoppedEventHandler(
                    myJobManager_Stopped);

            // Register handler for UserResultAvailable event
            myJobManager.UserResultAvailable +=
                new CogJobManager.CogUserResultAvailableEventHandler(
                    myJobManager_UserResultAvailable);

            // Connect the status bar
            this.cogDisplayStatusBar1.Display = this.cogRecordDisplay1;
        }
コード例 #6
0
        private void InitializeJobManager()
        {
            SampleTextBox.Text =
                "This sample demonstrates how to load a persisted QuickBuild application and access " +
                "the results provided in the posted items (a.k.a. as user result queue)." +
                System.Environment.NewLine + System.Environment.NewLine +

                "The sample uses mySavedQB.vpp, which consists of a single Job that executes a " +
                "Blob tool with default parameters using a frame grabber provided image.  " +
                @"The provided .vpp file is configured to use ""VPRO_ROOT\images\pmSample.idb"" as the " +
                "source of images." +
                System.Environment.NewLine + System.Environment.NewLine +
                "To use:  Click the Run button or the Run Continuous button.  " +
                "The number of blobs will be displayed in the count text box " +
                "and the Blob tool input image will be displayed in the image display control.";

            //Depersist the QuickBuild session
            myJobManager = (CogJobManager)CogSerializer.LoadObjectFromFile(
                Environment.GetEnvironmentVariable("VPRO_ROOT") +
                "\\Samples\\Programming\\QuickBuild\\mySavedQB.vpp");
            myJob            = myJobManager.Job(0);
            myIndependentJob = myJob.OwnedIndependent;

            //flush queues
            myJobManager.UserQueueFlush();
            myJobManager.FailureQueueFlush();
            myJob.ImageQueueFlush();
            myIndependentJob.RealTimeQueueFlush();

            // setup event handlers.  These are called when a result packet is available on
            // the User Result Queue or the Real-Time Queue, respectively.
            myJobManager.UserResultAvailable += new CogJobManager.CogUserResultAvailableEventHandler(myJobManager_UserResultAvailable);
        }
コード例 #7
0
 static void unload()
 {
     if (manager != null)
     {
         manager.Shutdown();
     }
     manager = null;
 }
コード例 #8
0
ファイル: FormQB.cs プロジェクト: 15831944/Code_OpenSource
        public FormQB(CogJobManager jm)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            mJM = jm;
        }
コード例 #9
0
        public AcqFifoAdjust(MainForm mf, RuntimeParameters rp, CogJobManager cjm)
        {
            InitializeComponent();

            mainForm          = mf;
            runtimeParameters = rp;
            restoreParameters = rp.ShallowCopy();
            mcjmAcq           = cjm;
        }
コード例 #10
0
ファイル: ParmLauncher.cs プロジェクト: Robofish2/Ziggy
        public ParmLauncher(MainForm mf, RuntimeParameters rp, CogJobManager cjm, MachineConfig mc)
        {
            InitializeComponent();

            mainForm          = mf;
            runtimeParameters = rp;
            machineParameters = mc;
            mcjmAcq           = cjm;
        }
コード例 #11
0
ファイル: Vision.cs プロジェクト: Robofish2/Ziggy
        public Vision(MainForm mf, RuntimeParameters rp, CogJobManager cjm, MachineConfig mc)
        {
            InitializeComponent();

            mainForm          = mf;
            runtimeParameters = rp;
            machineParameters = mc;
            restoreParameters = rp.ShallowCopy();
            mcjmAcq           = cjm;
        }
コード例 #12
0
ファイル: CogForm.cs プロジェクト: XianheCode/Repair
        //初始化函数1
        private void InitialVPP()
        {
            string path = System.Environment.CurrentDirectory;

            m_strVppFileName = path + "//" + m_strVppFileName;

            Console.WriteLine(m_strVppFileName);

            // 加载Vpp
            if (!System.IO.File.Exists(m_strVppFileName))
            {
                MessageBox.Show("Vpp Job文件不存在\n退出软件?", "警告");
                this.Close();

                return;
            }



            m_JobManager = (CogJobManager)CogSerializer.LoadObjectFromFile(m_strVppFileName);
            if (m_JobManager == null)
            {
                MessageBox.Show("NULL错误", "警告");
                this.Close();
            }
            int nCount = m_JobManager.JobCount;


            if (nCount < 3)
            {
                MessageBox.Show("Wrong CCD Model:Job count less than 3.");
                this.Close();
            }

            m_Job_1 = m_JobManager.Job(0);
            m_Job_2 = m_JobManager.Job(1);
            m_Job_3 = m_JobManager.Job(2);



            // 注册Job完成事件
            m_Job_1.Stopped += new CogJob.CogJobStoppedEventHandler(myJob1_Stopped);
            m_Job_2.Stopped += new CogJob.CogJobStoppedEventHandler(myJob2_Stopped);
            m_Job_3.Stopped += new CogJob.CogJobStoppedEventHandler(myJob3_Stopped);


            //Job_1_Ran += new Job_1_RanEventHandler(testJob_1);


            // 刷新队列
            m_JobManager.UserQueueFlush();
            m_JobManager.FailureQueueFlush();
        }
コード例 #13
0
ファイル: Utility.cs プロジェクト: 15831944/Code_OpenSource
 static public int GetJobIndexFromName(CogJobManager mgr, string name)
 {
     if (mgr != null)
     {
         for (int i = 0; i < mgr.JobCount; ++i)
         {
             if (mgr.Job(i).Name == name)
             {
                 return(i);
             }
         }
     }
     return(-1);
 }
コード例 #14
0
 public bool Close()
 {
     if (null != myJobManager)
     {
         myJob.Reset();
         myJobManager.Stop();
         myJobManager.Shutdown();
         myJob            = null;
         myJobManager     = null;
         myJobIndependent = null;
         return(true);
     }
     GC.Collect();
     return(false);
 }
コード例 #15
0
ファイル: Utility.cs プロジェクト: 15831944/Code_OpenSource
        static public void FlushAllQueues(CogJobManager jm)
        {
            // Flush all queues
            if (jm == null)
            {
                return;
            }

            jm.UserQueueFlush();
            jm.FailureQueueFlush();
            for (int i = 0; i < jm.JobCount; i++)
            {
                jm.Job(i).OwnedIndependent.RealTimeQueueFlush();
                jm.Job(i).ImageQueueFlush();
            }
        }
コード例 #16
0
 public bool Close()
 {
     if (null != myJobManager)
     {
         for (int i = 0; i < myJob.Count; i++)
         {
             myJob[i].Reset();
             myJobManager.Stop();
             myJobManager.Shutdown();
             myJob[i]            = null;
             myJobManager        = null;
             myJobIndependent[i] = null;
         }
         return(true);
     }
     GC.Collect();
     return(false);
 }
コード例 #17
0
 public bool init(string vpppath, CogRecordDisplay cogRecordDisplayin = null)
 {
     if (null == vpppath)
     {
         return(false);
     }
     try
     {
         myJobManager     = (CogJobManager)CogSerializer.LoadObjectFromFile(vpppath);
         myJob            = myJobManager.Job(0);
         myJobIndependent = myJob.OwnedIndependent;
         myJobManager.UserQueueFlush();
         myJobManager.FailureQueueFlush();
         myJob.ImageQueueFlush();
         myJobIndependent.RealTimeQueueFlush();
         updateDisplaySource(cogRecordDisplayin);
     }
     catch { }
     return(true);
 }
コード例 #18
0
        private void InitializeJobManager()
        {
            // Depersist the QuickBuild session
            // myJobManager = (CogJobManager)CogSerializer.LoadObjectFromFile(
            //    Environment.GetEnvironmentVariable("VPRO_ROOT") + "\\Samples\\Programming\\QuickBuild\\mySavedQB.vpp");

            myJobManager = (CogJobManager)CogSerializer.LoadObjectFromFile(path);
            cogJobManagerEdit1.Subject = myJobManager;

            myJob0           = myJobManager.Job(0);
            myIndependentJob = myJob0.OwnedIndependent;

            // Flush queues
            myJobManager.UserQueueFlush();
            myJobManager.FailureQueueFlush();
            myJob0.ImageQueueFlush();
            myIndependentJob.RealTimeQueueFlush();


            // Start the timer.
            timer1.Start();
        }
コード例 #19
0
        private void loadCognex()
        {
            try
            {
                myJobManager     = (CogJobManager)CogSerializer.LoadObjectFromFile(visionProFilePath);
                myJob            = myJobManager.Job(0);
                myIndependentJob = myJob.OwnedIndependent;

                //flush queues
                //myJobManager.UserQueueFlush();
                //myJobManager.FailureQueueFlush();
                //myJob.ImageQueueFlush();
                //myJob.ResetAllStatistics();
                //myIndependentJob.RealTimeQueueFlush();

                Trace.WriteLine("VisionProFile loaded.");
                Dispatcher.Invoke(new Action(() => { brd_Buttons.IsEnabled = true; brd_Loading.Visibility = Visibility.Collapsed; Panel.SetZIndex(brd_Loading, int.MinValue); }));
            }
            catch (Exception ex)
            {
                Trace.WriteLine("Vision-Pro not ready! Exception:" + ex.Message);
            }
        }
コード例 #20
0
 public bool init(string vpppath, int amountOfJobs, List <CogRecordDisplay> cogRecordDisplayin = null)
 {
     if (null == vpppath)
     {
         return(false);
     }
     try
     {
         myJobManager = (CogJobManager)CogSerializer.LoadObjectFromFile(vpppath);
         for (int i = 0; i < amountOfJobs; i++)
         {
             myJob[i]            = myJobManager.Job(i);
             myJobIndependent[i] = myJob[i].OwnedIndependent;
             myJob[i].ImageQueueFlush();
             myJobIndependent[i].RealTimeQueueFlush();
         }
         myJobManager.UserQueueFlush();
         myJobManager.FailureQueueFlush();
         updateAllDisplaySource(cogRecordDisplayin);
     }
     catch { }
     return(true);
 }
コード例 #21
0
ファイル: Vision1.cs プロジェクト: wangaili/VisionProAPI
 public bool init2(string vpppath2, CogRecordDisplay cogRecordDisplayin2 = null)
 {
     updateDisplaySource2(cogRecordDisplayin2);
     if (null == vpppath2)
     {
         return false;
     }
     try
     {
         myJobManager2 = (CogJobManager)CogSerializer.LoadObjectFromFile(vpppath2);
         myJob2 = myJobManager2.Job(0);
         myJobIndependent2 = myJob2.OwnedIndependent;
         myJobManager2.UserQueueFlush();
         myJobManager2.FailureQueueFlush();
         myJob2.ImageQueueFlush();
         myJobIndependent2.RealTimeQueueFlush();
     }
     catch
     {
         return false;
     }
     return true;
 }
コード例 #22
0
ファイル: Vision1.cs プロジェクト: wangaili/VisionProAPI
 public bool init1(string vpppath1, CogRecordDisplay cogRecordDisplayin1 = null)
 {
     updateDisplaySource1(cogRecordDisplayin1);
     if (null == vpppath1)
     {
         return false;
     }
     try
     {
         myJobManager1 = (CogJobManager)CogSerializer.LoadObjectFromFile(vpppath1);
         myJob1 = myJobManager1.Job(0);
         myJobIndependent1 = myJob1.OwnedIndependent;
         myJobManager1.UserQueueFlush();
         myJobManager1.FailureQueueFlush();
         myJob1.ImageQueueFlush();
         myJobIndependent1.RealTimeQueueFlush();
     }
     catch
     {
         return false;
     }
     return true;
 }
コード例 #23
0
ファイル: Vision1.cs プロジェクト: wangaili/VisionProAPI
 public bool init3(string vpppath3, CogRecordDisplay cogRecordDisplayin3 = null)
 {
     updateDisplaySource3(cogRecordDisplayin3);
     if (null == vpppath3)
     {
         return false;
     }
     try
     {
         myJobManager3 = (CogJobManager)CogSerializer.LoadObjectFromFile(vpppath3);
         myJob3 = myJobManager3.Job(0);
         myJobIndependent3 = myJob3.OwnedIndependent;
         myJobManager3.UserQueueFlush();
         myJobManager3.FailureQueueFlush();
         myJob3.ImageQueueFlush();
         myJobIndependent3.RealTimeQueueFlush();
     }
     catch
     {
         return false;
     }
     return true;
 }
コード例 #24
0
ファイル: VisionJobs.cs プロジェクト: hansey/VisionProAPI
 public bool init(string vpppath, int amountOfJobs, List<CogRecordDisplay> cogRecordDisplayin = null)
 {
     if (null == vpppath)
     {
         return false;
     }
     try
     {
         myJobManager = (CogJobManager)CogSerializer.LoadObjectFromFile(vpppath);
         for (int i = 0; i < amountOfJobs; i++)
         {
             myJob[i] = myJobManager.Job(i);
             myJobIndependent[i] = myJob[i].OwnedIndependent;
             myJob[i].ImageQueueFlush();
             myJobIndependent[i].RealTimeQueueFlush();
             
         }
         myJobManager.UserQueueFlush();
         myJobManager.FailureQueueFlush();
         updateAllDisplaySource(cogRecordDisplayin);
     }
     catch { }
     return true;
 }
コード例 #25
0
ファイル: Vision.cs プロジェクト: hansey/VisionProAPI
 /// <summary>
 /// 关闭
 /// </summary>
 public bool Close()
 {
     if (null != myJobManager)
     {
         try
         {
             myJob.Reset();
             myJobManager.Stop();
             myJobManager.Shutdown();
             myJob = null;
             myJobManager = null;
             myJobIndependent = null;
             Imagein.Dispose();
             return true;
         }
         catch
         {
             return false;
         }
         GC.Collect();
     }
     else
     {
         return false;
     }
 }
コード例 #26
0
        private void loadCognex()
        {
            try
            {
                myJobManager = (CogJobManager)CogSerializer.LoadObjectFromFile(visionProFilePath);
                myJob = myJobManager.Job(0);
                myIndependentJob = myJob.OwnedIndependent;

                //flush queues
                //myJobManager.UserQueueFlush();
                //myJobManager.FailureQueueFlush();
                //myJob.ImageQueueFlush();
                //myJob.ResetAllStatistics();
                //myIndependentJob.RealTimeQueueFlush();

                Trace.WriteLine("VisionProFile loaded.");
                Dispatcher.Invoke(new Action(() => { brd_Buttons.IsEnabled = true; brd_Loading.Visibility = Visibility.Collapsed; Panel.SetZIndex(brd_Loading, int.MinValue); }));
            }
            catch (Exception ex)
            {
                Trace.WriteLine("Vision-Pro not ready! Exception:" + ex.Message);
            }
        }
コード例 #27
0
ファイル: Vision1.cs プロジェクト: wangaili/VisionProAPI
 public bool Close()
 {
     bool closeS1 = false;
     bool closeS2 = false;
     bool closeS3 = false;
     bool closeS4 = false;
     if (null != myJobManager0)
     {
         try
         {
             myJob0.Reset();
             myJobManager0.Stop();
             myJobManager0.Shutdown();
             myJob0 = null;
             myJobManager0 = null;
             myJobIndependent0 = null;
             closeS1 = true;
         }
         catch
         {}
     }
     else
     {
         closeS1 = false;
     }
     if (null != myJobManager1)
     {
         try
         {
             myJob1.Reset();
             myJobManager1.Stop();
             myJobManager1.Shutdown();
             myJob1 = null;
             myJobManager1 = null;
             myJobIndependent1 = null;
             closeS2 = true;
         }
         catch
         {}
     }
     else
     {
         closeS2 = false;
     }
     if (null != myJobManager2)
     {
         try
         {
             myJob2.Reset();
             myJobManager2.Stop();
             myJobManager2.Shutdown();
             myJob2 = null;
             myJobManager2 = null;
             myJobIndependent2 = null;
             closeS3 = true;
         }
         catch
         {}
     }
     else
     {
         closeS3 = false;
     }
     if (null != myJobManager3)
     {
         try
         {
             myJob3.Reset();
             myJobManager3.Stop();
             myJobManager3.Shutdown();
             myJob3 = null;
             myJobManager3 = null;
             myJobIndependent3 = null;
             closeS4= true;
         }
         catch
         {}
     }
     else
     {
         closeS4 = false;
     }
     GC.Collect();
     if (closeS1 == true && closeS2 == true && closeS3 == true && closeS4 == true)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
コード例 #28
0
ファイル: VisionVPPJob.cs プロジェクト: hansey/VisionProAPI
 public bool Close()
 {
     if (null != myJobManager)
     {
         myJob.Reset();
         myJobManager.Stop();
         myJobManager.Shutdown();
         myJob = null;
         myJobManager = null;
         myJobIndependent = null;
         return true;
     }
     GC.Collect();
     return false;
 }
コード例 #29
0
ファイル: Vision2.cs プロジェクト: wangaili/VisionProAPI
 public bool init(string vpppath0,string vpppath1, string vpppath2, CogRecordDisplay cogRecordDisplayin0 = null, CogRecordDisplay cogRecordDisplayin1 = null, CogRecordDisplay cogRecordDisplayin2 = null)
 {
     bool initS1 = false;
     bool initS2 = false;
     bool initS3 = false;
     updateDisplaySource0(cogRecordDisplayin0);
     updateDisplaySource1(cogRecordDisplayin1);
     updateDisplaySource2(cogRecordDisplayin2);
     if (null == vpppath0)
     {
         return false;
     }
     try
     {
         myJobManager0 = (CogJobManager)CogSerializer.LoadObjectFromFile(vpppath0);
         myJob0 = myJobManager0.Job(0);
         myJobIndependent0 = myJob0.OwnedIndependent;
         myJobManager0.UserQueueFlush();
         myJobManager0.FailureQueueFlush();
         myJob0.ImageQueueFlush();
         myJobIndependent0.RealTimeQueueFlush();
         // updateDisplaySource0(cogRecordDisplayin0);
         initS1 = true;
     }
     catch 
     { 
         initS1 = false;
     }
     if (null == vpppath1)
     {
         return false;
     }
     try
     {
         myJobManager1 = (CogJobManager)CogSerializer.LoadObjectFromFile(vpppath1);
         myJob1 = myJobManager1.Job(0);
         myJobIndependent1 = myJob1.OwnedIndependent;
         myJobManager1.UserQueueFlush();
         myJobManager1.FailureQueueFlush();
         myJob1.ImageQueueFlush();
         myJobIndependent1.RealTimeQueueFlush();
         // updateDisplaySource1(cogRecordDisplayin1);
         initS2 = true;
     }
     catch 
     {
         initS2 = false;
     }
     if (null == vpppath2)
     {
         return false;
     }
     try
     {
         myJobManager2 = (CogJobManager)CogSerializer.LoadObjectFromFile(vpppath2);
         myJob2 = myJobManager2.Job(0);
         myJobIndependent2 = myJob2.OwnedIndependent;
         myJobManager2.UserQueueFlush();
         myJobManager2.FailureQueueFlush();
         myJob2.ImageQueueFlush();
         myJobIndependent2.RealTimeQueueFlush();
         // updateDisplaySource2(cogRecordDisplayin2);
         initS3 = true;
     }
     catch 
     {
         inits3 = false;
     }
     if(inits1 == true && inits2 == true && initS3 == true)
     {
         return true;
     }
     return false;
 }
コード例 #30
0
ファイル: tool.cs プロジェクト: Martin1025432/pythonAll
        public static List <double> find(int toolNum, int method)
        {
            object toolgroup = CogSerializer.LoadObjectFromFile("c://tool.vpp");
            object job       = CogSerializer.LoadObjectFromFile("QuickBuild1.vpp");

            switch (toolNum)
            {
            case 0:  toolgroup = CogSerializer.LoadObjectFromFile("c://tool0.vpp");
                break;

            case 1:  toolgroup = CogSerializer.LoadObjectFromFile("c://tool1.vpp");
                break;

            case 2: toolgroup = CogSerializer.LoadObjectFromFile("c://tool2.vpp");
                break;

            case 3: toolgroup = CogSerializer.LoadObjectFromFile("c://tool3.vpp");
                break;

            default: break;
            }

            CogToolGroup  ToolGroup1 = toolgroup as CogToolGroup;
            CogJobManager cojob      = job as CogJobManager;
            CogJob        cojob      = cojob.Job["CogJob1"] as CogJob;


            CogImageFileTool myFile = ToolGroup1.Tools["CogImageFileTool1"] as CogImageFileTool;

            myFile.Run();
            CogFindCircleTool myCircleTool = ToolGroup1.Tools["CogFindCircleTool1"] as CogFindCircleTool;
            CogFindLineTool   myLineTool   = ToolGroup1.Tools["CogFindLineTool1"] as CogFindLineTool;

            switch (method)
            {
            case 1: myCircleTool.Run();
                break;

            case 2: myLineTool.Run();
                break;

            case 3: myCircleTool.Run();
                myLineTool.Run();
                break;

            default: break;
            }
            double Lx0    = 0;
            double Lx1    = 0;
            double Ly0    = 0;
            double Ly1    = 0;
            double Langle = 0;
            double Cx     = 0;
            double Cy     = 0;
            double Cr     = 0;


            if (method == 1 | method == 3)
            {
                Cx = myCircleTool.Results.GetCircle().CenterX;
                Cy = myCircleTool.Results.GetCircle().CenterY;
                Cr = myCircleTool.Results.GetCircle().Radius;
            }
            if (method == 2 | method == 3)
            {
                Lx0    = myLineTool.Results.GetLineSegment().StartX;
                Ly0    = myLineTool.Results.GetLineSegment().StartY;
                Lx1    = myLineTool.Results.GetLineSegment().EndX;
                Ly1    = myLineTool.Results.GetLineSegment().EndY;
                Langle = myLineTool.Results.GetLine().Rotation;
            }
            double[] result = { Cx, Cy, Cr, Lx0, Ly0, Lx1, Ly1, Langle };
            return(new List <double>(result));
        }
コード例 #31
0
ファイル: Program.cs プロジェクト: zhangzheng1205/bix
        static int Main(string[] args)
        {
            //     1          2             3          4
            // bix source.vpp [--bin|--xml] target.vpp [option]
            string help = "usage: bix source.vpp [--bin|--xml] target.vpp [option]\n\t option: min, results, all";

            if (args.Length < 3 || args.Length > 4)
            {
                //foreach (var s in args)
                //{
                //Console.WriteLine(s);
                //}
                Console.WriteLine(help);
                return(-1);
            }
            var           source = args[0];
            var           type   = args[1].Replace("-", "").ToLower();
            var           target = args[2];
            var           option = args.Length == 4 ? args[3].ToLower() : "";
            CogJobManager vpro   = null;

            try
            {
                if (!System.IO.File.Exists(source))
                {
                    Console.WriteLine("source does not exits.");
                    return(-1);
                }
                vpro = (CogJobManager)CogSerializer.LoadObjectFromFile(source);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(-1);
            }
            if (string.IsNullOrEmpty(option))
            {
                try
                {
                    CogSerializer.SaveObjectToFile(vpro, target, type == "xml" ? typeof(SoapFormatter) : typeof(BinaryFormatter));
                }
                catch (System.Runtime.Serialization.SerializationException ex)
                {
                    Console.WriteLine(ex.Message);
                    return(-1);
                }
                Console.WriteLine("converted");
            }
            else
            {
                Dictionary <string, CogSerializationOptionsConstants> options = new Dictionary <string, CogSerializationOptionsConstants>
                {
                    { "min", CogSerializationOptionsConstants.Minimum },
                    { "results", CogSerializationOptionsConstants.Results },
                    { "all", CogSerializationOptionsConstants.All }
                };
                try
                {
                    CogSerializer.SaveObjectToFile(vpro, target,
                                                   type == "xml" ? typeof(SoapFormatter) : typeof(BinaryFormatter),
                                                   options[option]
                                                   );
                }
                catch (System.Runtime.Serialization.SerializationException ex)
                {
                    Console.WriteLine(ex.Message);
                    return(-1);
                }
                Console.WriteLine("converted (" + option + ")");
            }
            vpro.Shutdown();
            return(0);
            //Console.ReadKey();
        }
コード例 #32
0
ファイル: VisionJobs.cs プロジェクト: hansey/VisionProAPI
 public bool Close()
 {
     if (null != myJobManager)
     {
         for (int i = 0; i < myJob.Count; i++)
         {
             myJob[i].Reset();
             myJobManager.Stop();
             myJobManager.Shutdown();
             myJob[i] = null;
             myJobManager = null;
             myJobIndependent[i] = null;
         }
         return true;
     }
     GC.Collect();
     return false;
 }