public override bool RayCast(out b2RayCastOutput output, b2RayCastInput input, ref b2Transform xf, int childIndex) { b2EdgeShape edgeShape = new b2EdgeShape(); output = b2RayCastOutput.Zero; int i1 = childIndex; int i2 = childIndex + 1; if (i2 == Count) { i2 = 0; } edgeShape.Vertex1 = Vertices[i1]; edgeShape.Vertex2 = Vertices[i2]; b2RayCastOutput co = b2RayCastOutput.Zero; bool b = edgeShape.RayCast(out co, input, ref xf, 0); output = co; return(b); }
public override bool RayCast(out b2RayCastOutput output, b2RayCastInput input, b2Transform xf, int childIndex) { b2EdgeShape edgeShape = new b2EdgeShape(); output = b2RayCastOutput.Zero; int i1 = childIndex; int i2 = childIndex + 1; if (i2 == m_count) { i2 = 0; } edgeShape.Vertex1 = m_vertices[i1]; edgeShape.Vertex2 = m_vertices[i2]; b2RayCastOutput co = b2RayCastOutput.Zero; bool b = edgeShape.RayCast(out co, input, xf, 0); output = co; return (b); }