示例#1
0
        private void model1_WorkCompleted(object sender, WorkCompletedEventArgs e)
        {
            ReadFileAsync rfa = (ReadFileAsync)e.WorkUnit;

            // adds MotherBoard Entities and Materials in view scene
            rfa.AddToScene(model1);

            model1.ZoomFit();

            // updates the bounding box size values of the viewport
            model1.Entities.UpdateBoundingBox();

            // copies all items inside model1's master collections to model2
            model1.CopyTo(model2);

            // sets the center and the radius of external content sphere for drawing directional Lights in model2
            Point3D max    = model1.Entities.BoxMax;
            Point3D min    = model1.Entities.BoxMin;
            Point3D center = new Point3D(min.X + (max.X - min.X) / 2, min.Y + (max.Y - min.Y) / 2, min.Z + (max.Z - min.Z) / 2);
            double  radius = Math.Sqrt(Math.Pow(max.X - min.X, 2) + Math.Pow(max.Y - min.Y, 2) + Math.Pow(max.Z - min.Z, 2));

            // creates Light editors
            Lights = new DrawLight[8];
            for (int i = 0; i < 8; i++)
            {
                Lights[i] = new DrawLight(model1, i + 1, center, radius, "Lights");
            }

            UpdateLights();

            model1_CameraMoveEnd(null, null);
            model2.ZoomFit();
        }
示例#2
0
 void host_WorkCompleted(object pSender, WorkCompletedEventArgs pArgs)
 {
     if (gkTelnetClient != null)
     {
         gkTelnetClient.CloseSession();
         gkTelnetClient = null;
     }
 }
示例#3
0
        //private void Model1_MouseDoubleClick(object sender, MouseEventArgs e)
        //{
        //    if(model1.ObjectManipulator.Visible)
        //    {
        //        model1.ObjectManipulator.Apply();
        //        model1.Entities.Regen();
        //        model1.Invalidate();
        //    }
        //    else
        //    {
        //        // 마우스 아래에 있는 뭔가(객체, 라벨등..)을 찾음.
        //        var something = model1.GetItemUnderMouseCursor(e.Location);

        //        // 뭔가의 아이템이 객체라면?
        //        if(something.Item is Entity)
        //        {
        //            // 객체 리스트에 뭔가의 아이템을 객체로 변환해서 추가
        //            var entities = new List<Entity>();
        //            Entity ent = something.Item as Entity;
        //            entities.Add(ent);

        //            // 기본 변형정보
        //            Transformation trans = new Transformation();
        //            trans.Identity();

        //            // 객체 편집 도구를 활성화
        //            model1.ObjectManipulator.Enable(trans, true, entities);
        //        }
        //    }
        //}

        private void Model1_WorkCompleted(object sender, WorkCompletedEventArgs e)
        {
            if (e.WorkUnit is ReadFile)
            {
                ReadFile rf = e.WorkUnit as ReadFile;
                rf.AddToScene(model1);
            }
        }
示例#4
0
        private void modelWorkCompleted2(object sender, WorkCompletedEventArgs e)
        {
            if (e.WorkUnit is ReadFileAsync)
            {
                ReadFileAsync rfa = (ReadFileAsync)e.WorkUnit;
                rfa.AddToScene(model);

                model.SetView(viewType.Trimetric, true, model.AnimateCamera);
            }
            setFileButtonEnabled(true);
        }
示例#5
0
            public void Start(Task task, int seconds)
            {
                var totalseconds = _delay + seconds;

                for (var i = 0; i < totalseconds; i++)
                {
                    Thread.Sleep(1 * 1000);
                    WorkExecuting?.Invoke(this, EventArgs.Empty);
                }

                var args = new WorkCompletedEventArgs($"Task with type: {task} completed after {totalseconds} seconds from worker {_number}",
                                                      totalseconds);

                WorkCompleted?.Invoke(this, args);
            }
示例#6
0
 private void model1_WorkCompleted(object sender, WorkCompletedEventArgs e)
 {
     // Checks the WorkUnit type, more than one can be present in the same application
     if (e.WorkUnit is WriteFile)
     {
         ShowLog("WriteFile log", ((WriteFile)e.WorkUnit).Log);
         SetButtonEnabled(true);
     }
     else if (e.WorkUnit is ReadFile)
     {
         ReadFile rf = (ReadFile)e.WorkUnit;
         AddToScene(rf);
         ShowLog(rf);
     }
     else if (e.WorkUnit is Regeneration)
     {
         model1.Entities.UpdateBoundingBox();
         EnableButtonsAndRefresh();
     }
 }
示例#7
0
        private void model1_WorkCompleted(object sender, WorkCompletedEventArgs e)
        {
            if (e.WorkUnit == hdlView1)
            {
                var prevCam = model1.Viewports[0].Camera;

                model1.Viewports[0].Camera = secondCamera;

                hdlView2 = new MyHiddenLinesViewPrint(new HiddenLinesViewSettings(model1.Viewports[0], model1, 0.1, PenSilho, PenEdge, PenWire, false));

                model1.Viewports[0].Camera = prevCam;

                // Runs the hidden lines computation for the second view
                model1.StartWork(hdlView2);
            }
            else if (e.WorkUnit == hdlView2)
            {
                // Prints the page
                Print();
            }
        }
        public void Drawings1OnWorkCompleted(object sender, WorkCompletedEventArgs e)
        {
            ViewBuilder vb = e.WorkUnit as ViewBuilder;

            if (vb != null)
            {
                vb.AddToDrawings(drawings1);

                if (drawings1.GetActiveSheet() == null)
                {
                    drawingsPanel1.ActivateSheet(drawings1.Sheets[0].Name);

                    if (_treeIsDirty)
                    {
                        drawingsPanel1.SyncTree();
                        _treeIsDirty = false;
                    }

                    drawings1.ZoomFit();
                }
            }

            EnableUIElements(true);
        }
示例#9
0
 public static void PrinterResult(object sender, WorkCompletedEventArgs args) => Console.WriteLine(args.Text);
        /// <summary>
        /// Processing upload result and re-upload using a linear back-off function
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Workqueue_UploadWorkCompleted(object sender, WorkCompletedEventArgs<Uploader,UploadResult> e)
        {
            Uploader uploader = e.WorkItem;
            UploadResult result = e.Result;
            
            if (result.Exception != null && !result.Canceled)
            {
                //Re-upload
                AutoReTryer autoReTryer = uploader.ReTryer;

                if (autoReTryer == null)
                {
                    autoReTryer = new AutoReTryer(
                        () => EnqueueUploadWork(uploader),
                        (seq) =>  seq +1,                        
                        REUPLOAD_INTERVAL_IN_SECONDS);
                    uploader.ReTryer = autoReTryer;
                }

                autoReTryer.StartOrContinueCountdown();
            }
        }
示例#11
0
 void host_WorkCompleted(object sender, WorkCompletedEventArgs e)
 {
     host.ReportDataReceived(cdrExportResult);
 }
示例#12
0
 void onWorkCompleted(WorkCompletedEventArgs e)
 {
 }