//MARK: Segment Query Functions public float SegmentQueryFunc(SegmentQueryContext context, cpShape shape, object data) { cpSegmentQueryInfo info = null; if ( !cpShapeFilter.Reject(shape.filter, context.filter) && shape.SegmentQuery(context.start, context.end, context.radius, ref info) ) { context.func(shape, info.point, info.alpha, info.normal, data); } return(1.0f); }
public float SegmentQueryFirstFunc(SegmentQueryContext context, cpShape shape, cpSegmentQueryInfo output) { cpSegmentQueryInfo info = null; if ( !cpShapeFilter.Reject(shape.filter, context.filter) && !shape.sensor && shape.SegmentQuery(context.start, context.end, context.radius, ref info) && info.alpha < output.alpha ) { output = info; } return(output.alpha); }