return 0;
hA.set(((Box)paramBody1.getShape()).getSize());
hA.scale(0.5F);
hB.set(((Box)paramBody2.getShape()).getSize());
hB.scale(0.5F);
ROVector2f localROVector2f1 = paramBody1.getPosition();
ROVector2f localROVector2f2 = paramBody2.getPosition();
Matrix2f localMatrix2f1 = new Matrix2f(paramBody1.getRotation());
Matrix2f localMatrix2f2 = new Matrix2f(paramBody2.getRotation());
Matrix2f localMatrix2f3 = localMatrix2f1.transpose();
Matrix2f localMatrix2f4 = localMatrix2f2.transpose();
Vector2f localVector2f1 = MathUtil.sub(localROVector2f2, localROVector2f1);
Vector2f localVector2f2 = MathUtil.mul(localMatrix2f3, localVector2f1);
Vector2f localVector2f3 = MathUtil.mul(localMatrix2f4, localVector2f1);
Matrix2f localMatrix2f5 = MathUtil.mul(localMatrix2f3, localMatrix2f2);
Matrix2f localMatrix2f6 = MathUtil.abs(localMatrix2f5);
Matrix2f localMatrix2f7 = localMatrix2f6.transpose();
Vector2f localVector2f4 = MathUtil.abs(localVector2f2);
localVector2f4.sub(hA);
localVector2f4.sub(MathUtil.mul(localMatrix2f6, hB));
if ((localVector2f4.x > 0.0F) || (localVector2f4.y > 0.0F))
return 0;
Vector2f localVector2f5 = MathUtil.abs(localVector2f3);
localVector2f5.sub(MathUtil.mul(localMatrix2f7, hA));
localVector2f5.sub(hB);
if ((localVector2f5.x > 0.0F) || (localVector2f5.y > 0.0F))
return 0;
int i = 1;
float f5 = localVector2f4.x;
Vector2f localVector2f6 = localVector2f2.x > 0.0F ? localMatrix2f1.col1 : MathUtil.scale(localMatrix2f1.col1, -1.0F);
if (localVector2f4.y > 1.05F * f5 + 0.01F * hA.y)
{
i = 2;
f5 = localVector2f4.y;
localVector2f6 = localVector2f2.y > 0.0F ? localMatrix2f1.col2 : MathUtil.scale(localMatrix2f1.col2, -1.0F);
}
if (localVector2f5.x > 1.05F * f5 + 0.01F * hB.x)
{
i = 3;
f5 = localVector2f5.x;
localVector2f6 = localVector2f3.x > 0.0F ? localMatrix2f2.col1 : MathUtil.scale(localMatrix2f2.col1, -1.0F);
}
if (localVector2f5.y > 1.05F * f5 + 0.01F * hB.y)
{
i = 4;
f5 = localVector2f5.y;
localVector2f6 = localVector2f3.y > 0.0F ? localMatrix2f2.col2 : MathUtil.scale(localMatrix2f2.col2, -1.0F);
}
ClipVertex[] arrayOfClipVertex1 = { new ClipVertex(), new ClipVertex() };
Vector2f localVector2f7;
float f6;
Vector2f localVector2f8;
float f9;
float f7;
float f8;
char c1;
char c2;
switch (i)
{
case 1:
localVector2f7 = localVector2f6;
f6 = localROVector2f1.dot(localVector2f7) + hA.x;
localVector2f8 = localMatrix2f1.col2;
f9 = localROVector2f1.dot(localVector2f8);
f7 = -f9 + hA.y;
f8 = f9 + hA.y;
c1 = '\003';
c2 = '\001';
computeIncidentEdge(arrayOfClipVertex1, hB, localROVector2f2, localMatrix2f2, localVector2f7);
break;
case 2:
localVector2f7 = localVector2f6;
f6 = localROVector2f1.dot(localVector2f7) + hA.y;
localVector2f8 = localMatrix2f1.col1;
f9 = localROVector2f1.dot(localVector2f8);
f7 = -f9 + hA.x;
f8 = f9 + hA.x;
c1 = '\002';
c2 = '\004';
computeIncidentEdge(arrayOfClipVertex1, hB, localROVector2f2, localMatrix2f2, localVector2f7);
break;
case 3:
localVector2f7 = MathUtil.scale(localVector2f6, -1.0F);
f6 = localROVector2f2.dot(localVector2f7) + hB.x;
localVector2f8 = localMatrix2f2.col2;
f9 = localROVector2f2.dot(localVector2f8);
f7 = -f9 + hB.y;
f8 = f9 + hB.y;
c1 = '\003';
c2 = '\001';
computeIncidentEdge(arrayOfClipVertex1, hA, localROVector2f1, localMatrix2f1, localVector2f7);
break;
case 4:
localVector2f7 = MathUtil.scale(localVector2f6, -1.0F);
f6 = localROVector2f2.dot(localVector2f7) + hB.y;
localVector2f8 = localMatrix2f2.col1;
f9 = localROVector2f2.dot(localVector2f8);
f7 = -f9 + hB.x;
f8 = f9 + hB.x;
c1 = '\002';
c2 = '\004';
computeIncidentEdge(arrayOfClipVertex1, hA, localROVector2f1, localMatrix2f1, localVector2f7);