コード例 #1
0
ファイル: Point.cs プロジェクト: gmoller/SpaceDefender
        public bool CollidesWith(OrientedRectangle orientedRectangle)
        {
            Rectangle localRectangle = orientedRectangle.TransformToLocalRectangle();

            IVector2D lp = Position.Substract(orientedRectangle.Center);
            lp = lp.Rotate(-orientedRectangle.Rotation);
            lp = lp.Add(orientedRectangle.HalfExtend);
            var localPoint = new Point(lp);

            return localPoint.CollidesWith(localRectangle);
        }
コード例 #2
0
ファイル: Point.cs プロジェクト: gmoller/SpaceDefender
        public bool CollidesWith(Line line)
        {
            var lineBase = new Point(line.Base);
            if (lineBase.CollidesWith(this))
            {
                return true;
            }

            IVector2D lp = Position.Substract(line.Base);

            return lp.IsParallel(line.Direction);
        }
コード例 #3
0
ファイル: LineSegment.cs プロジェクト: gmoller/SpaceDefender
 public bool CollidesWith(Point point)
 {
     return point.CollidesWith(this);
 }