Exemple #1
0
        public void TrySnapConnectCrvToRectShape(ICanvas canvas, IConnectionCurve crv)
        {
            if (crv == null)
            {
                return;
            }
            List <IDrawObject> allSelectObjs = GetHitObjects(canvas, ((IDrawObject)crv).GetBoundingRect(canvas), true);

            foreach (var curObj in allSelectObjs)
            {
                DrawTools.RectBase rectBase = curObj as DrawTools.RectBase;
                if (rectBase == null)
                {
                    continue;
                }

                DrawTools.RectBase.eVertexId vid = rectBase.GetVertexIdFromPoint(crv.StartPoint.GetPosition());
                if (vid != DrawTools.RectBase.eVertexId.None)
                {
                    rectBase.AttachConnectionCrvNode(crv.StartPoint);
                }
                vid = rectBase.GetVertexIdFromPoint(crv.EndPoint.GetPosition());
                if (vid != DrawTools.RectBase.eVertexId.None)
                {
                    rectBase.AttachConnectionCrvNode(crv.EndPoint);
                }
            }
        }
Exemple #2
0
        void MoveReferenceNodesOfRect(List <INodePoint> selectedNodes, ISnapPoint snapPt, UnitPoint mouseunitpoint)
        {
            List <INodePoint> allConnectionCrvNodes = new List <INodePoint>();
            List <UnitPoint>  allNewPos             = new List <UnitPoint>();

            foreach (var curNode in selectedNodes)
            {
                DeattachConnectionNode(curNode);
                IConnectionCurve connectionCrv = curNode.GetOriginal() as IConnectionCurve;
                if (connectionCrv != null)
                {
                    m_canvas.DataModel.TrySnapConnectCrvToRectShape(m_canvas, connectionCrv);
                }
            }
        }