Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 public bool CollidesWith(Point point)
 {
     return point.CollidesWith(this);
 }