예제 #1
0
        void IPaintTo3D.SelectedList(IPaintTo3DList paintThisList, int wobbleRadius)
        {
            DisplayList dl = paintThisList as DisplayList;

            graphics.DrawImageUnscaled(dl.bitmap, 0, 0);
            // dl.bitmap.Save("tmp.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
        }
예제 #2
0
        internal void Repaint(Rectangle IsInvalid, IView View, IPaintTo3D paintTo3D)
        {
            if (Settings.GlobalSettings.GetBoolValue("ActionFeedBack.UseZBuffer", true))
            {
                paintTo3D.UseZBuffer(true);
            }

            Color selectColor = frame.GetColorSetting("Select.SelectColor", Color.Yellow);   // die Farbe für die selektierten Objekte
            Color focusColor  = frame.GetColorSetting("Select.FocusColor", Color.LightBlue); // die Farbe für das Objekt mit dem Focus

            foreach (IView vw in frame.AllViews)
            {
                for (int i = 0; i < repaintObjects.Count; ++i)
                {
                    IFeedBack go = repaintObjects[i] as IFeedBack;
                    if (go != null)
                    {
                        go.PaintTo3D(paintTo3D);
                    }
                }

                bool oldSelectMode = paintTo3D.SelectMode;
                paintTo3D.SelectMode = true;
                for (int i = 0; i < paintAsSelected.Count; ++i)
                {
                    IGeoObjectImpl go = paintAsSelected[i] as IGeoObjectImpl;
                    if (go != null)
                    {
                        paintTo3D.SelectColor = selectColor;
                        paintTo3D.OpenList("feedback");
                        go.PaintTo3D(paintTo3D);
                        IPaintTo3DList list = paintTo3D.CloseList();
                        if (list != null)
                        {
                            paintTo3D.SelectedList(list, selectWidth);
                        }
                    }
                }
                paintTo3D.SelectMode = oldSelectMode;
            }

            if (paintAsTransparent.Count > 0)
            {
                paintTo3D.OpenList("feedback-transparent");

                foreach (IGeoObject go in paintAsTransparent)
                {
                    go.PaintTo3D(paintTo3D);
                }

                IPaintTo3DList displayList = paintTo3D.CloseList();

                paintTo3D.Blending(true);
                paintTo3D.List(displayList);
                paintTo3D.Blending(false);
            }
        }
예제 #3
0
        IPaintTo3DList IPaintTo3D.CloseList()
        {
            displayList.Close();
            graphics = oldGraphics;
            IPaintTo3DList res = displayList;

            displayList = null;
            return(res);
        }
예제 #4
0
 void IPaintTo3D.SelectedList(IPaintTo3DList paintThisList, int wobbleRadius)
 {
 }
예제 #5
0
 void IPaintTo3D.List(IPaintTo3DList paintThisList)
 {
 }
예제 #6
0
        void IPaintTo3D.List(IPaintTo3DList paintThisList)
        {
            DisplayList dl = paintThisList as DisplayList;

            graphics.DrawImageUnscaled(dl.bitmap, 0, 0);
        }