当前位置: 首页>>代码示例>>C#>>正文


C# IFigure.ContainsPoint方法代码示例

本文整理汇总了C#中IFigure.ContainsPoint方法的典型用法代码示例。如果您正苦于以下问题:C# IFigure.ContainsPoint方法的具体用法?C# IFigure.ContainsPoint怎么用?C# IFigure.ContainsPoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IFigure的用法示例。


在下文中一共展示了IFigure.ContainsPoint方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Chop

		protected virtual PointD Chop (IFigure target, PointD point) {	
			if (target == null) {
				return new PointD (0, 0);
			}
			
			else if (target.ContainsPoint (point.X, point.Y)) {
				return target.DisplayBox.Center;
			}

			double angle = Geometry.AngleFromPoint (DisplayBox, point);
			return Geometry.EdgePointFromAngle (DisplayBox, angle);
		}
开发者ID:jira-sarec,项目名称:ICSE-2012-TraceLab,代码行数:12,代码来源:ChopBoxConnector.cs

示例2: Chop

		protected override PointD Chop (IFigure target, PointD point) {
			if (target.ContainsPoint (point.X, point.Y)) {
				return target.DisplayBox.Center;
			}

			double angle = Geometry.AngleFromPoint (DisplayBox, point);
			
			PointD p = new PointD (0.0, 0.0);
			RectangleD r = target.DisplayBox;
			
			p.X = r.Center.X + r.Width/2 * Math.Cos (angle);
			p.Y = r.Center.Y + r.Height/2 * Math.Sin (angle);
			
			return p;
		}
开发者ID:jira-sarec,项目名称:ICSE-2012-TraceLab,代码行数:15,代码来源:ChopEllipseConnector.cs

示例3: Chop

        protected override PointD Chop(IFigure target, PointD point)
        {
            if (target.ContainsPoint (point.X, point.Y)) {
                return target.DisplayBox.Center;
            }

            double angle = Geometry.AngleFromPoint (DisplayBox, point);
            double sin = Math.Sin (angle);
            double cos = Math.Cos (angle);
            double x = 0;
            double e = 0.0001;
            double y = 0;
            RectangleD r = DisplayBox;

            if (Math.Abs (sin) > e) {
                x = (1.0 + cos / Math.Abs (sin)) / 2.0 * r.Width;
                x = Geometry.Range (0.0, r.Width, x);
            } else if (cos >= 0.0) {
                x = r.Width;
            }

            if (Math.Abs (cos) > e) {
                y = (1.0 + sin / Math.Abs (cos)) / 2.0 * r.Height;
                y = Geometry.Range (0.0, r.Height, y);
            } else if (sin >= 0.0) {
                y = r.Height;
            }

            x += r.X;// - (x + r.X > r.X + r.Width/2 ? (r.Width/2) * -1 : (r.Width/2));
            if (x > r.X + r.Width / 2) {
                //x = r.X + r.Width / 2;
                Console.WriteLine ("Decrementar la mitad ancho");
            } else {
            //				x -= r.Width / 2;
                Console.WriteLine ("Aumentar la mitad ancho");
            }
            y += r.Y;// - (y > (r.Y + r.Height) / 2 ? (r.Y + r.Height) / 2 : 0);
            if (y > r.Y + r.Height / 2) {
                Console.WriteLine ("Aumentar la mitad altura");
            //	y += r.Height / 2;
            } else {
                //y = r.Y + r.Height / 2;
                Console.WriteLine ("Decrementar la mitad altura");
            //	y -= r.Height / 2;
            }

            return new PointD (x, y);
        }
开发者ID:mono,项目名称:monohotdraw,代码行数:48,代码来源:ChopRelationConnector.cs


注:本文中的IFigure.ContainsPoint方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。