protected override Manipulator OnItemSelection(DisplayItemPoint SelectedItem)
 {
     try
     {
         CircleNode Node = (CircleNode)m_Node;
         return new CircleMoveManipulator(Node);
     }
     catch
     {
         return null;
     }
 }
        public override void GenerateGraphics(DisplayItemList DLList)
        {
            if (null == DLList) return;

            if (m_dRadius < 0)
                return;

            //DisplayItemList DisplayList = new DisplayItemList();

            DisplayItemCircle Circle = new DisplayItemCircle(
                m_CenterPoint, m_dRadius);
            DLList.AddItem(Circle);

            DisplayItemPoint CenterPoint = new DisplayItemPoint(m_CenterPoint);
            DLList.AddItem(CenterPoint);
        }
        protected override Manipulator OnItemSelection(DisplayItemPoint SelectedItem)
        {
            try
            {
                PolyLineNode Node = (PolyLineNode)m_Node;

                PolyLineInstance instance =  (PolyLineInstance)m_Node.GetInstance();
                int index = instance.GetPointIndex(SelectedItem.Point, m_SelectTolerance);

                return new MovePointManipulator(Node, index);
            }
            catch
            {
                return null;
            }
        }
 protected virtual Manipulator OnItemSelection(DisplayItemPoint SelectedItem)
 {
     return null;
 }
        public static void GenDisplayItemPoints(DisplayItemList DLList, FRList<GePoint> points)
        {
            Debug.Assert(DLList != null && points != null);
            if (null == DLList || null == points) return;

            for (int i = 0; i < points.Count; i++)
            {
                GePoint point = points[i];
                DisplayItemPoint DLPoint = new DisplayItemPoint(point);
                DLList.AddItem(DLPoint);
            }
        }
        public static DisplayItemPoint GenDisplayItemPoint(DisplayItemList list, GePoint position)
        {
            DisplayItemPoint DLPoint = new DisplayItemPoint(position);
            if (list != null)
                list.AddItem(DLPoint);

            return DLPoint;
        }