public override IEnumerable <IHullPart> GetInflatedHullParts( Pnt at, Pnt opposite, double offset, double inflate) { var part = new CircleHullPart(at, offset + inflate); if (at.Dist2(opposite) < offset * offset) { part.Angle = Math.PI; Pnt l = opposite - at; part.StartDirection = Math.Atan2(l.X, -l.Y); } yield return(part); }