public bool CollidesWith(OrientedRectangle orientedRectangle) { var orHull = orientedRectangle.GetRectangleHull(); if (!orHull.CollidesWith(this)) { return(false); } var edge = orientedRectangle.Edge(0); if (this.IsSeparatingAxis(edge)) { return(false); } edge = orientedRectangle.Edge(1); if (this.IsSeparatingAxis(edge)) { return(false); } return(true); }