////--------------------------------------------------------------------------------------------------------- ///// <summary> ///// Копирование параметров с графического элемента ///// </summary> ///// <param name="element">Графический элемент</param> ///// <param name="context">Контекст копирования данных</param> ////--------------------------------------------------------------------------------------------------------- //public override void CopyParamemtrs(IBaseElement element, Object context) //{ // base.CopyParamemtrs(element, context); // CCadShapeLine source = element as CCadShapeLine; // if (source != null) // { // mStartPoint = source.StartPoint; // mEndPoint = source.EndPoint; // NotifyPropertyChanged(PropertyArgsStartPoint); // NotifyPropertyChanged(PropertyArgsEndPoint); // } //} //--------------------------------------------------------------------------------------------------------- /// <summary> /// Проверка на попадание в область графического элемента указанной точки /// </summary> /// <param name="point">Проверяемая точка</param> /// <param name="epsilon">Точность проверки</param> /// <returns>Статус проверки</returns> //--------------------------------------------------------------------------------------------------------- public override Boolean CheckPoint(ref Vector2Df point, Single epsilon) { // Если линия выбрана то проверяем ручки if (mIsSelect) { if (mHandleRects[0].Contains(point) || mHandleRects[1].Contains(point) || mHandleRects[2].Contains(point)) { return(true); } } // Проверяем попадание на линию Boolean status = XIntersect2D.PointOnSegment(ref mStartPoint, ref mEndPoint, ref point, epsilon); if (status) { return(true); } else { return(false); } }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Проверка раположения точки на контуре графического примитива /// </summary> /// <param name="point">Проверяемая точка</param> /// <param name="thickness">Толщина контура</param> /// <returns>Статус расположения</returns> //--------------------------------------------------------------------------------------------------------- public override Boolean StrokeContains(ref Vector2Df point, Single thickness) { return(XIntersect2D.PointOnSegment(ref mStartPoint, ref mEndPoint, ref point, mStroke.Thickness)); }