Ejemplo n.º 1
0
        public override void Redo(CadObjectDB db)
        {
            CadFigure parent = db.GetFigure(ParentID);
            CadFigure child  = db.GetFigure(ChildID);

            parent.ChildList.Remove(child);
            child.Parent = null;
        }
Ejemplo n.º 2
0
        public override void Undo(CadObjectDB db)
        {
            CadFigure parent = db.GetFigure(ParentID);
            CadFigure child  = db.GetFigure(ChildID);

            parent.ChildList.Insert(Index, child);
            child.Parent = parent;
        }
Ejemplo n.º 3
0
        public override void Undo(CadObjectDB db)
        {
            CadFigure parent = db.GetFigure(ParentID);

            foreach (uint childID in ChildIDList)
            {
                CadFigure fig = db.GetFigure(childID);
                parent.AddChild(fig);
            }
        }
Ejemplo n.º 4
0
        public override void Redo(CadObjectDB db)
        {
            CadFigure parent = db.GetFigure(ParentID);

            foreach (uint childID in ChildIDList)
            {
                parent.ChildList.RemoveAll(a => a.ID == childID);
                CadFigure fig = db.GetFigure(childID);
                fig.Parent = null;
            }
        }
Ejemplo n.º 5
0
        public override void Undo(CadObjectDB db)
        {
            CadLayer  layer = db.GetLayer(LayerID);
            CadFigure fig   = db.GetFigure(FigureID);

            layer.InsertFigure(mFigureIndex, fig);
        }
Ejemplo n.º 6
0
        public override void Redo(CadObjectDB db)
        {
            CadLayer  layer = db.GetLayer(LayerID);
            CadFigure fig   = db.GetFigure(FigureID);

            fig.InsertPointsRange(PointIndex, mPointList);
        }
Ejemplo n.º 7
0
        public override void Redo(CadObjectDB db)
        {
            CadLayer  layer = db.GetLayer(LayerID);
            CadFigure fig   = db.GetFigure(FigureID);

            layer.AddFigure(fig);
        }
Ejemplo n.º 8
0
        public override void Undo(CadObjectDB db)
        {
            CadLayer  layer = db.GetLayer(LayerID);
            CadFigure fig   = db.GetFigure(FigureID);

            if (fig == null)
            {
                return;
            }

            int idx = PointIndex;
            int i   = 0;

            if (mPointList == null)
            {
                mPointList = new VertexList();
            }

            mPointList.Clear();

            for (; i < InsertNum; i++)
            {
                mPointList.Add(fig.GetPointAt(idx + i));
            }

            fig.RemovePointsRange(idx, InsertNum);
        }
Ejemplo n.º 9
0
 public void StoreAfter(CadObjectDB db)
 {
     for (int i = 0; i < SnapShotList.Count; i++)
     {
         CadOpeFigureSnapShot ss = SnapShotList[i];
         ss.StoreAfter(db.GetFigure(ss.FigureID));
     }
 }
Ejemplo n.º 10
0
        public static EditResult CutSegment(CadObjectDB db, MarkSegment seg, Vector3d p)
        {
            EditResult result = new EditResult();

            if (seg.Figure.Type != CadFigure.Types.POLY_LINES)
            {
                return(result);
            }

            CrossInfo ci = CadMath.PerpendicularCrossSeg(seg.pA.vector, seg.pB.vector, p);

            if (!ci.IsCross)
            {
                return(result);
            }

            CadFigure org = db.GetFigure(seg.FigureID);

            int a = Math.Min(seg.PtIndexA, seg.PtIndexB);
            int b = Math.Max(seg.PtIndexA, seg.PtIndexB);


            CadFigure fa = db.NewFigure(CadFigure.Types.POLY_LINES);
            CadFigure fb = db.NewFigure(CadFigure.Types.POLY_LINES);

            fa.AddPoints(org.PointList, 0, a + 1);
            fa.AddPoint(new CadVertex(ci.CrossPoint));

            fb.AddPoint(new CadVertex(ci.CrossPoint));
            fb.AddPoints(org.PointList, b);

            if (org.IsLoop)
            {
                fb.AddPoint(fa.GetPointAt(0));
            }

            result.AddList.Add(new EditResult.Item(seg.LayerID, fa));
            result.AddList.Add(new EditResult.Item(seg.LayerID, fb));
            result.RemoveList.Add(new EditResult.Item(org.LayerID, org));

            return(result);
        }
Ejemplo n.º 11
0
        public override void Undo(CadObjectDB db)
        {
            CadFigure fig = db.GetFigure(FigureID);

            fig.InvertDir();
        }
Ejemplo n.º 12
0
        public override void Redo(CadObjectDB db)
        {
            CadFigure fig = db.GetFigure(FigureID);

            fig.Normal = NewNormal;
        }
Ejemplo n.º 13
0
        public override void Undo(CadObjectDB db)
        {
            CadFigure fig = db.GetFigure(FigureID);

            fig.Normal = OldNormal;
        }
Ejemplo n.º 14
0
        public override void Redo(CadObjectDB db)
        {
            CadFigure fig = db.GetFigure(FigureID);

            fig.IsLoop = Close;
        }
Ejemplo n.º 15
0
        public override void Redo(CadObjectDB db)
        {
            CadFigure fig = db.GetFigure(FigureID);

            fig.AddPoint(Point);
        }
Ejemplo n.º 16
0
        public override void Undo(CadObjectDB db)
        {
            CadFigure fig = db.GetFigure(FigureID);

            fig.RemovePointAt(PointIndex);
        }