EdgeShape.smali
.class public Lorg/jbox2d/collision/shapes/EdgeShape;
.super Lorg/jbox2d/collision/shapes/Shape;
.source "EdgeShape.java"
# instance fields
.field public m_hasVertex0:Z
.field public m_hasVertex3:Z
.field public final m_vertex0:Lorg/jbox2d/common/Vec2;
.field public final m_vertex1:Lorg/jbox2d/common/Vec2;
.field public final m_vertex2:Lorg/jbox2d/common/Vec2;
.field public final m_vertex3:Lorg/jbox2d/common/Vec2;
.field private final normal:Lorg/jbox2d/common/Vec2;
# direct methods
.method public constructor <init>()V
.registers 3
.prologue
const/4 v1, 0x0
.line 64
sget-object v0, Lorg/jbox2d/collision/shapes/ShapeType;->EDGE:Lorg/jbox2d/collision/shapes/ShapeType;
invoke-direct {p0, v0}, Lorg/jbox2d/collision/shapes/Shape;-><init>(Lorg/jbox2d/collision/shapes/ShapeType;)V
.line 46
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
.line 50
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
.line 55
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex0:Lorg/jbox2d/common/Vec2;
.line 59
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex3:Lorg/jbox2d/common/Vec2;
.line 60
iput-boolean v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_hasVertex0:Z
iput-boolean v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_hasVertex3:Z
.line 85
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
.line 65
sget v0, Lorg/jbox2d/common/Settings;->polygonRadius:F
iput v0, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_radius:F
.line 66
return-void
.end method
# virtual methods
.method public bridge synthetic clone()Ljava/lang/Object;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/CloneNotSupportedException;
}
.end annotation
.prologue
.line 41
invoke-virtual {p0}, Lorg/jbox2d/collision/shapes/EdgeShape;->clone()Lorg/jbox2d/collision/shapes/Shape;
move-result-object v0
return-object v0
.end method
.method public clone()Lorg/jbox2d/collision/shapes/Shape;
.registers 4
.prologue
.line 244
new-instance v0, Lorg/jbox2d/collision/shapes/EdgeShape;
invoke-direct {v0}, Lorg/jbox2d/collision/shapes/EdgeShape;-><init>()V
.line 245
iget v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_radius:F
iput v1, v0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_radius:F
.line 246
iget-boolean v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_hasVertex0:Z
iput-boolean v1, v0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_hasVertex0:Z
.line 247
iget-boolean v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_hasVertex3:Z
iput-boolean v1, v0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_hasVertex3:Z
.line 248
iget-object v1, v0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex0:Lorg/jbox2d/common/Vec2;
iget-object v2, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex0:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 249
iget-object v1, v0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
iget-object v2, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 250
iget-object v1, v0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
iget-object v2, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 251
iget-object v1, v0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex3:Lorg/jbox2d/common/Vec2;
iget-object v2, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex3:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 252
return-object v0
.end method
.method public computeAABB(Lorg/jbox2d/collision/AABB;Lorg/jbox2d/common/Transform;I)V
.registers 12
.prologue
.line 215
iget-object v5, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
.line 216
iget-object v6, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
.line 217
iget-object v0, p2, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
.line 219
iget v1, v0, Lorg/jbox2d/common/Rot;->c:F
iget-object v2, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v1, v2
iget v2, v0, Lorg/jbox2d/common/Rot;->s:F
iget-object v3, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v2, v3
sub-float/2addr v1, v2
iget-object v2, p2, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
add-float/2addr v1, v2
.line 220
iget v2, v0, Lorg/jbox2d/common/Rot;->s:F
iget-object v3, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v2, v3
iget v3, v0, Lorg/jbox2d/common/Rot;->c:F
iget-object v4, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v3, v4
add-float/2addr v2, v3
iget-object v3, p2, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v3, v2
.line 221
iget v2, v0, Lorg/jbox2d/common/Rot;->c:F
iget-object v4, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v2, v4
iget v4, v0, Lorg/jbox2d/common/Rot;->s:F
iget-object v7, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
iget v7, v7, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v4, v7
sub-float/2addr v2, v4
iget-object v4, p2, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->x:F
add-float/2addr v2, v4
.line 222
iget v4, v0, Lorg/jbox2d/common/Rot;->s:F
iget-object v7, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
iget v7, v7, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v4, v7
iget v0, v0, Lorg/jbox2d/common/Rot;->c:F
iget-object v7, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
iget v7, v7, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v0, v7
add-float/2addr v0, v4
iget-object v4, p2, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v4, v0
.line 224
cmpg-float v0, v1, v2
if-gez v0, :cond_8d
move v0, v1
:goto_5b
iput v0, v5, Lorg/jbox2d/common/Vec2;->x:F
.line 225
cmpg-float v0, v3, v4
if-gez v0, :cond_8f
move v0, v3
:goto_62
iput v0, v5, Lorg/jbox2d/common/Vec2;->y:F
.line 226
cmpl-float v0, v1, v2
if-lez v0, :cond_91
:goto_68
iput v1, v6, Lorg/jbox2d/common/Vec2;->x:F
.line 227
cmpl-float v0, v3, v4
if-lez v0, :cond_93
:goto_6e
iput v3, v6, Lorg/jbox2d/common/Vec2;->y:F
.line 229
iget v0, v5, Lorg/jbox2d/common/Vec2;->x:F
iget v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_radius:F
sub-float/2addr v0, v1
iput v0, v5, Lorg/jbox2d/common/Vec2;->x:F
.line 230
iget v0, v5, Lorg/jbox2d/common/Vec2;->y:F
iget v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_radius:F
sub-float/2addr v0, v1
iput v0, v5, Lorg/jbox2d/common/Vec2;->y:F
.line 231
iget v0, v6, Lorg/jbox2d/common/Vec2;->x:F
iget v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_radius:F
add-float/2addr v0, v1
iput v0, v6, Lorg/jbox2d/common/Vec2;->x:F
.line 232
iget v0, v6, Lorg/jbox2d/common/Vec2;->y:F
iget v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_radius:F
add-float/2addr v0, v1
iput v0, v6, Lorg/jbox2d/common/Vec2;->y:F
.line 233
return-void
:cond_8d
move v0, v2
.line 224
goto :goto_5b
:cond_8f
move v0, v4
.line 225
goto :goto_62
:cond_91
move v1, v2
.line 226
goto :goto_68
:cond_93
move v3, v4
.line 227
goto :goto_6e
.end method
.method public computeDistanceToOut(Lorg/jbox2d/common/Transform;Lorg/jbox2d/common/Vec2;ILorg/jbox2d/common/Vec2;)F
.registers 16
.prologue
const/high16 v10, 0x3f800000 # 1.0f
const/4 v9, 0x0
.line 89
iget-object v0, p1, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget v0, v0, Lorg/jbox2d/common/Rot;->c:F
.line 90
iget-object v1, p1, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget v1, v1, Lorg/jbox2d/common/Rot;->s:F
.line 91
iget-object v2, p1, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
.line 92
iget-object v3, p1, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
.line 93
iget-object v4, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v4, v0
iget-object v5, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
iget v5, v5, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v5, v1
sub-float/2addr v4, v5
add-float/2addr v4, v2
.line 94
iget-object v5, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
iget v5, v5, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v5, v1
iget-object v6, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
iget v6, v6, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v6, v0
add-float/2addr v5, v6
add-float/2addr v5, v3
.line 95
iget-object v6, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
iget v6, v6, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v6, v0
iget-object v7, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
iget v7, v7, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v7, v1
sub-float/2addr v6, v7
add-float/2addr v2, v6
.line 96
iget-object v6, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
iget v6, v6, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v1, v6
iget-object v6, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
iget v6, v6, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v0, v6
add-float/2addr v0, v1
add-float/2addr v3, v0
.line 98
iget v0, p2, Lorg/jbox2d/common/Vec2;->x:F
sub-float v1, v0, v4
.line 99
iget v0, p2, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v0, v5
.line 100
sub-float v4, v2, v4
.line 101
sub-float v5, v3, v5
.line 102
mul-float v6, v1, v4
mul-float v7, v0, v5
add-float/2addr v6, v7
.line 103
cmpl-float v7, v6, v9
if-lez v7, :cond_67
.line 104
mul-float v7, v4, v4
mul-float v8, v5, v5
add-float/2addr v7, v8
.line 105
cmpl-float v8, v6, v7
if-lez v8, :cond_7f
.line 106
iget v0, p2, Lorg/jbox2d/common/Vec2;->x:F
sub-float v1, v0, v2
.line 107
iget v0, p2, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v0, v3
.line 114
:cond_67
:goto_67
mul-float v2, v1, v1
mul-float v3, v0, v0
add-float/2addr v2, v3
invoke-static {v2}, Lorg/jbox2d/common/MathUtils;->sqrt(F)F
move-result v2
.line 115
cmpl-float v3, v2, v9
if-lez v3, :cond_88
.line 116
div-float v3, v10, v2
mul-float/2addr v1, v3
iput v1, p4, Lorg/jbox2d/common/Vec2;->x:F
.line 117
div-float v1, v10, v2
mul-float/2addr v0, v1
iput v0, p4, Lorg/jbox2d/common/Vec2;->y:F
.line 122
:goto_7e
return v2
.line 109
:cond_7f
div-float v2, v6, v7
mul-float/2addr v2, v4
sub-float/2addr v1, v2
.line 110
div-float v2, v6, v7
mul-float/2addr v2, v5
sub-float/2addr v0, v2
goto :goto_67
.line 119
:cond_88
iput v9, p4, Lorg/jbox2d/common/Vec2;->x:F
.line 120
iput v9, p4, Lorg/jbox2d/common/Vec2;->y:F
goto :goto_7e
.end method
.method public computeMass(Lorg/jbox2d/collision/shapes/MassData;F)V
.registers 6
.prologue
const/4 v2, 0x0
.line 237
iput v2, p1, Lorg/jbox2d/collision/shapes/MassData;->mass:F
.line 238
iget-object v0, p1, Lorg/jbox2d/collision/shapes/MassData;->center:Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v0
iget-object v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v0
const/high16 v1, 0x3f000000 # 0.5f
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->mulLocal(F)Lorg/jbox2d/common/Vec2;
.line 239
iput v2, p1, Lorg/jbox2d/collision/shapes/MassData;->I:F
.line 240
return-void
.end method
.method public getChildCount()I
.registers 2
.prologue
.line 70
const/4 v0, 0x1
return v0
.end method
.method public raycast(Lorg/jbox2d/collision/RayCastOutput;Lorg/jbox2d/collision/RayCastInput;Lorg/jbox2d/common/Transform;I)Z
.registers 16
.prologue
.line 133
iget-object v0, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
.line 134
iget-object v1, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
.line 135
iget-object v2, p3, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
.line 136
iget-object v3, p3, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
.line 141
iget-object v4, p2, Lorg/jbox2d/collision/RayCastInput;->p1:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->x:F
iget v5, v3, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v4, v5
.line 142
iget-object v5, p2, Lorg/jbox2d/collision/RayCastInput;->p1:Lorg/jbox2d/common/Vec2;
iget v5, v5, Lorg/jbox2d/common/Vec2;->y:F
iget v6, v3, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v5, v6
.line 143
iget v6, v2, Lorg/jbox2d/common/Rot;->c:F
mul-float/2addr v6, v4
iget v7, v2, Lorg/jbox2d/common/Rot;->s:F
mul-float/2addr v7, v5
add-float/2addr v6, v7
.line 144
iget v7, v2, Lorg/jbox2d/common/Rot;->s:F
neg-float v7, v7
mul-float/2addr v4, v7
iget v7, v2, Lorg/jbox2d/common/Rot;->c:F
mul-float/2addr v5, v7
add-float/2addr v4, v5
.line 146
iget-object v5, p2, Lorg/jbox2d/collision/RayCastInput;->p2:Lorg/jbox2d/common/Vec2;
iget v5, v5, Lorg/jbox2d/common/Vec2;->x:F
iget v7, v3, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v5, v7
.line 147
iget-object v7, p2, Lorg/jbox2d/collision/RayCastInput;->p2:Lorg/jbox2d/common/Vec2;
iget v7, v7, Lorg/jbox2d/common/Vec2;->y:F
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
sub-float v3, v7, v3
.line 148
iget v7, v2, Lorg/jbox2d/common/Rot;->c:F
mul-float/2addr v7, v5
iget v8, v2, Lorg/jbox2d/common/Rot;->s:F
mul-float/2addr v8, v3
add-float/2addr v7, v8
.line 149
iget v8, v2, Lorg/jbox2d/common/Rot;->s:F
neg-float v8, v8
mul-float/2addr v5, v8
iget v8, v2, Lorg/jbox2d/common/Rot;->c:F
mul-float/2addr v3, v8
add-float/2addr v3, v5
.line 151
sub-float v5, v7, v6
.line 152
sub-float/2addr v3, v4
.line 156
iget-object v7, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v8, v1, Lorg/jbox2d/common/Vec2;->y:F
iget v9, v0, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v8, v9
iput v8, v7, Lorg/jbox2d/common/Vec2;->x:F
.line 157
iget-object v7, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v8, v0, Lorg/jbox2d/common/Vec2;->x:F
iget v9, v1, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v8, v9
iput v8, v7, Lorg/jbox2d/common/Vec2;->y:F
.line 158
iget-object v7, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
invoke-virtual {v7}, Lorg/jbox2d/common/Vec2;->normalize()F
.line 159
iget-object v7, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v7, v7, Lorg/jbox2d/common/Vec2;->x:F
.line 160
iget-object v8, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v8, v8, Lorg/jbox2d/common/Vec2;->y:F
.line 165
iget v9, v0, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v9, v6
.line 166
iget v10, v0, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v10, v4
.line 167
mul-float/2addr v9, v7
mul-float/2addr v10, v8
add-float/2addr v9, v10
.line 168
mul-float/2addr v7, v5
mul-float/2addr v8, v3
add-float/2addr v7, v8
.line 170
const/4 v8, 0x0
cmpl-float v8, v7, v8
if-nez v8, :cond_78
.line 171
const/4 v0, 0x0
.line 210
:goto_77
return v0
.line 174
:cond_78
div-float v7, v9, v7
.line 175
const/4 v8, 0x0
cmpg-float v8, v7, v8
if-ltz v8, :cond_85
const/high16 v8, 0x3f800000 # 1.0f
cmpg-float v8, v8, v7
if-gez v8, :cond_87
.line 176
:cond_85
const/4 v0, 0x0
goto :goto_77
.line 180
:cond_87
mul-float/2addr v5, v7
add-float/2addr v5, v6
.line 181
mul-float/2addr v3, v7
add-float/2addr v3, v4
.line 186
iget v4, v1, Lorg/jbox2d/common/Vec2;->x:F
iget v6, v0, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v4, v6
.line 187
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
iget v6, v0, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v1, v6
.line 188
mul-float v6, v4, v4
mul-float v8, v1, v1
add-float/2addr v6, v8
.line 189
const/4 v8, 0x0
cmpl-float v8, v6, v8
if-nez v8, :cond_a1
.line 190
const/4 v0, 0x0
goto :goto_77
.line 192
:cond_a1
iget v8, v0, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v5, v8
.line 193
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
sub-float v0, v3, v0
.line 195
mul-float v3, v5, v4
mul-float/2addr v0, v1
add-float/2addr v0, v3
div-float/2addr v0, v6
.line 196
const/4 v1, 0x0
cmpg-float v1, v0, v1
if-ltz v1, :cond_b8
const/high16 v1, 0x3f800000 # 1.0f
cmpg-float v0, v1, v0
if-gez v0, :cond_ba
.line 197
:cond_b8
const/4 v0, 0x0
goto :goto_77
.line 200
:cond_ba
iput v7, p1, Lorg/jbox2d/collision/RayCastOutput;->fraction:F
.line 201
const/4 v0, 0x0
cmpl-float v0, v9, v0
if-lez v0, :cond_eb
.line 203
iget-object v0, p1, Lorg/jbox2d/collision/RayCastOutput;->normal:Lorg/jbox2d/common/Vec2;
iget v1, v2, Lorg/jbox2d/common/Rot;->c:F
neg-float v1, v1
iget-object v3, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v1, v3
iget v3, v2, Lorg/jbox2d/common/Rot;->s:F
iget-object v4, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v3, v4
add-float/2addr v1, v3
iput v1, v0, Lorg/jbox2d/common/Vec2;->x:F
.line 204
iget-object v0, p1, Lorg/jbox2d/collision/RayCastOutput;->normal:Lorg/jbox2d/common/Vec2;
iget v1, v2, Lorg/jbox2d/common/Rot;->s:F
neg-float v1, v1
iget-object v3, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v1, v3
iget v2, v2, Lorg/jbox2d/common/Rot;->c:F
iget-object v3, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v2, v3
sub-float/2addr v1, v2
iput v1, v0, Lorg/jbox2d/common/Vec2;->y:F
.line 210
:goto_e9
const/4 v0, 0x1
goto :goto_77
.line 207
:cond_eb
iget-object v0, p1, Lorg/jbox2d/collision/RayCastOutput;->normal:Lorg/jbox2d/common/Vec2;
iget v1, v2, Lorg/jbox2d/common/Rot;->c:F
iget-object v3, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v1, v3
iget v3, v2, Lorg/jbox2d/common/Rot;->s:F
iget-object v4, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v3, v4
sub-float/2addr v1, v3
iput v1, v0, Lorg/jbox2d/common/Vec2;->x:F
.line 208
iget-object v0, p1, Lorg/jbox2d/collision/RayCastOutput;->normal:Lorg/jbox2d/common/Vec2;
iget v1, v2, Lorg/jbox2d/common/Rot;->s:F
iget-object v3, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v1, v3
iget v2, v2, Lorg/jbox2d/common/Rot;->c:F
iget-object v3, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->normal:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v2, v3
add-float/2addr v1, v2
iput v1, v0, Lorg/jbox2d/common/Vec2;->y:F
goto :goto_e9
.end method
.method public set(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 74
iget-object v0, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex1:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, p1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 75
iget-object v0, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_vertex2:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, p2}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 76
const/4 v0, 0x0
iput-boolean v0, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_hasVertex3:Z
iput-boolean v0, p0, Lorg/jbox2d/collision/shapes/EdgeShape;->m_hasVertex0:Z
.line 77
return-void
.end method
.method public testPoint(Lorg/jbox2d/common/Transform;Lorg/jbox2d/common/Vec2;)Z
.registers 4
.prologue
.line 81
const/4 v0, 0x0
return v0
.end method