public override bool ContainsPoint(Vector2d point) { double savedRotation = Rotation; if (Rotation != 0) { Rotation = 0; point = point.RotateAround(Position, -savedRotation); } Vector2d myTopLeft = TopLeft, myBotRight = BotRight; Rotation = savedRotation; return point.X <= myBotRight.X && point.X >= myTopLeft.X && point.Y <= myBotRight.Y && point.Y >= myTopLeft.Y; }