Esempio n. 1
0
        private void UpdateAnchorPosition()
        {
            Point point, tangent;

            var path = this.PathGeometry;

            path.GetPointAtFractionLength(0, out point, out tangent);
            this.SourceAnchorAngle    = ModelingHelper.ToAngle(-tangent.Y, -tangent.X);
            this.SourceAnchorPosition = point;

            path.GetPointAtFractionLength(1, out point, out tangent);
            this.SinkAnchorAngle    = ModelingHelper.ToAngle(tangent.Y, tangent.X);
            this.SinkAnchorPosition = point;

            path.GetPointAtFractionLength(0.5, out point, out tangent);
            this.LabelPosition = this.CenterPoint = point;
        }
Esempio n. 2
0
 /// <summary>
 /// 计算某个点到矩形中点的角度。
 /// </summary>
 /// <param name="center"></param>
 /// <param name="point"></param>
 /// <returns></returns>
 private static double AngleFromCenter(Point center, Point point)
 {
     return(ModelingHelper.ToAngle(point.Y - center.Y, point.X - center.X));
 }