Exemple #1
0
        private void RenderFillerConnectLine(RenderManager.CameraInfo cameraInfo)
        {
            if (TempFiller.IsEmpty)
            {
                return;
            }

            Bezier3 bezier;
            Color   color;

            if (IsHoverFillerPoint)
            {
                var linePart = TempFiller.GetFillerLine(TempFiller.Last, HoverFillerPoint);
                if (!linePart.GetTrajectory(out bezier))
                {
                    return;
                }

                color = Color.green;
            }
            else
            {
                RaycastInput input = new RaycastInput(MouseRay, MouseRayLength);
                RayCast(input, out RaycastOutput output);

                bezier.a = TempFiller.Last.Position;
                bezier.b = output.m_hitPos;
                bezier.c = TempFiller.Last.Position;
                bezier.d = output.m_hitPos;

                color = Color.white;
            }

            RenderManager.OverlayEffect.DrawBezier(cameraInfo, color, bezier, 0.5f, 0f, 0f, -1f, 1280f, false, true);
        }
Exemple #2
0
 private void OnUnselectFillerPoint()
 {
     if (TempFiller.IsEmpty)
     {
         ToolMode   = Mode.ConnectLine;
         TempFiller = null;
     }
     else
     {
         TempFiller.Remove();
         GetFillerPoints();
     }
 }
Exemple #3
0
 private void OnSelectFillerPoint(Event e)
 {
     if (IsHoverFillerPoint)
     {
         if (TempFiller.Add(HoverFillerPoint))
         {
             EditMarkup.AddFiller(TempFiller);
             Panel.EditFiller(TempFiller);
             ToolMode = Mode.ConnectLine;
             return;
         }
         DisableByAlt = false;
         GetFillerPoints();
     }
 }
Exemple #4
0
        private void RenderFillerConnectLine(RenderManager.CameraInfo cameraInfo)
        {
            if (TempFiller.IsEmpty)
            {
                return;
            }

            if (FillerPointsSelector.IsHoverPoint)
            {
                var linePart = TempFiller.GetFillerLine(TempFiller.Last, FillerPointsSelector.HoverPoint);
                if (linePart.GetTrajectory(out ILineTrajectory trajectory))
                {
                    RenderTrajectory(cameraInfo, MarkupColors.Green, trajectory);
                }
            }
            else
            {
                var bezier = new Line3(TempFiller.Last.Position, MouseWorldPosition).GetBezier();
                RenderBezier(cameraInfo, MarkupColors.White, bezier);
            }
        }
Exemple #5
0
 private void GetFillerPoints()
 {
     FillerPoints.Clear();
     FillerPoints.AddRange(TempFiller.GetNextСandidates());
 }
Exemple #6
0
 private void GetFillerPoints() => FillerPointsSelector = new PointsSelector <IFillerVertex>(TempFiller.GetNextСandidates(), MarkupColors.Red);