static public bool IsIntersecting(this Plane2 item, LineSegment2 line_segment, out float distance) { if (item.IsIntersecting(line_segment.GetRay(), out distance)) { if (distance <= line_segment.GetLength()) { return(true); } } return(false); }
static public bool IsIntersecting(this Face item, LineSegment2 line_segment, out float distance, out Vector2 point) { if (item.IsIntersecting(line_segment.GetRay(), out distance, out point)) { if (distance <= line_segment.GetLength()) { return(true); } } return(false); }
static public float FindLargestFixedEdgeCircleCast(this LineSegment2 item, float maximum, int layer_mask = IntBits.ALL_BITS, float margin = Mathq.DEFAULT_SOLVE_MARGIN, int max_iterations = Mathq.DEFAULT_SOLVE_MAX_NUMBER_ITERATIONS) { return(item.GetRay().FindLargestFixedEdgeCircleCast(item.GetLength(), maximum, layer_mask, margin, max_iterations)); }
static public IEnumerable <RaycastHit2D> CircleCastGetAllHits(this LineSegment2 item, float radius, int layer_mask = IntBits.ALL_BITS) { return(item.GetRay().CircleCastGetAllHits(radius, item.GetLength(), layer_mask)); }
static public RaycastHit2D CircleCastGetHit(this LineSegment2 item, float radius, int layer_mask = IntBits.ALL_BITS) { return(item.GetRay().CircleCastGetHit(radius, item.GetLength(), layer_mask)); }
static public bool Cast(this LineSegment2 item, int layer_mask = IntBits.ALL_BITS) { return(item.GetRay().Cast(item.GetLength(), layer_mask)); }