AABB.smali
.class public Lorg/jbox2d/collision/AABB;
.super Ljava/lang/Object;
.source "AABB.java"
# instance fields
.field public final lowerBound:Lorg/jbox2d/common/Vec2;
.field public final upperBound:Lorg/jbox2d/common/Vec2;
# direct methods
.method public constructor <init>()V
.registers 2
.prologue
.line 42
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 43
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
.line 44
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
.line 45
return-void
.end method
.method public constructor <init>(Lorg/jbox2d/collision/AABB;)V
.registers 4
.prologue
.line 53
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget-object v1, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
invoke-direct {p0, v0, v1}, Lorg/jbox2d/collision/AABB;-><init>(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 54
return-void
.end method
.method public constructor <init>(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 62
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 63
invoke-virtual {p1}, Lorg/jbox2d/common/Vec2;->clone()Lorg/jbox2d/common/Vec2;
move-result-object v0
iput-object v0, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
.line 64
invoke-virtual {p2}, Lorg/jbox2d/common/Vec2;->clone()Lorg/jbox2d/common/Vec2;
move-result-object v0
iput-object v0, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
.line 65
return-void
.end method
.method public static final testOverlap(Lorg/jbox2d/collision/AABB;Lorg/jbox2d/collision/AABB;)Z
.registers 6
.prologue
const/4 v0, 0x0
const/4 v3, 0x0
.line 310
iget-object v1, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
iget-object v2, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v1, v2
cmpl-float v1, v1, v3
if-gtz v1, :cond_1c
iget-object v1, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
iget-object v2, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v1, v2
cmpl-float v1, v1, v3
if-lez v1, :cond_1d
.line 318
:cond_1c
:goto_1c
return v0
.line 314
:cond_1d
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
iget-object v2, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v1, v2
cmpl-float v1, v1, v3
if-gtz v1, :cond_1c
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
iget-object v2, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v1, v2
cmpl-float v1, v1, v3
if-gtz v1, :cond_1c
.line 318
const/4 v0, 0x1
goto :goto_1c
.end method
# virtual methods
.method public final combine(Lorg/jbox2d/collision/AABB;)V
.registers 5
.prologue
.line 165
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
iget-object v2, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
cmpg-float v0, v0, v2
if-gez v0, :cond_51
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
:goto_12
iput v0, v1, Lorg/jbox2d/common/Vec2;->x:F
.line 166
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
iget-object v2, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
cmpg-float v0, v0, v2
if-gez v0, :cond_56
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
:goto_26
iput v0, v1, Lorg/jbox2d/common/Vec2;->y:F
.line 167
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
iget-object v2, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
cmpl-float v0, v0, v2
if-lez v0, :cond_5b
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
:goto_3a
iput v0, v1, Lorg/jbox2d/common/Vec2;->x:F
.line 168
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
iget-object v2, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
cmpl-float v0, v0, v2
if-lez v0, :cond_60
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
:goto_4e
iput v0, v1, Lorg/jbox2d/common/Vec2;->y:F
.line 169
return-void
.line 165
:cond_51
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
goto :goto_12
.line 166
:cond_56
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
goto :goto_26
.line 167
:cond_5b
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
goto :goto_3a
.line 168
:cond_60
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
goto :goto_4e
.end method
.method public final combine(Lorg/jbox2d/collision/AABB;Lorg/jbox2d/collision/AABB;)V
.registers 6
.prologue
.line 144
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
iget-object v2, p2, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
cmpg-float v0, v0, v2
if-gez v0, :cond_51
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
:goto_12
iput v0, v1, Lorg/jbox2d/common/Vec2;->x:F
.line 145
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
iget-object v2, p2, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
cmpg-float v0, v0, v2
if-gez v0, :cond_56
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
:goto_26
iput v0, v1, Lorg/jbox2d/common/Vec2;->y:F
.line 146
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
iget-object v2, p2, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
cmpl-float v0, v0, v2
if-lez v0, :cond_5b
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
:goto_3a
iput v0, v1, Lorg/jbox2d/common/Vec2;->x:F
.line 147
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
iget-object v2, p2, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
cmpl-float v0, v0, v2
if-lez v0, :cond_60
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
:goto_4e
iput v0, v1, Lorg/jbox2d/common/Vec2;->y:F
.line 148
return-void
.line 144
:cond_51
iget-object v0, p2, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
goto :goto_12
.line 145
:cond_56
iget-object v0, p2, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
goto :goto_26
.line 146
:cond_5b
iget-object v0, p2, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
goto :goto_3a
.line 147
:cond_60
iget-object v0, p2, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
goto :goto_4e
.end method
.method public final contains(Lorg/jbox2d/collision/AABB;)Z
.registers 4
.prologue
.line 184
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
iget-object v1, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
cmpg-float v0, v0, v1
if-gtz v0, :cond_32
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
iget-object v1, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
cmpg-float v0, v0, v1
if-gtz v0, :cond_32
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
cmpg-float v0, v0, v1
if-gtz v0, :cond_32
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
cmpg-float v0, v0, v1
if-gtz v0, :cond_32
const/4 v0, 0x1
:goto_31
return v0
:cond_32
const/4 v0, 0x0
goto :goto_31
.end method
.method public final getCenter()Lorg/jbox2d/common/Vec2;
.registers 3
.prologue
.line 100
new-instance v0, Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
invoke-direct {v0, v1}, Lorg/jbox2d/common/Vec2;-><init>(Lorg/jbox2d/common/Vec2;)V
.line 101
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 102
const/high16 v1, 0x3f000000 # 0.5f
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->mulLocal(F)Lorg/jbox2d/common/Vec2;
.line 103
return-object v0
.end method
.method public final getCenterToOut(Lorg/jbox2d/common/Vec2;)V
.registers 5
.prologue
const/high16 v2, 0x3f000000 # 0.5f
.line 107
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
add-float/2addr v0, v1
mul-float/2addr v0, v2
iput v0, p1, Lorg/jbox2d/common/Vec2;->x:F
.line 108
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v0, v1
mul-float/2addr v0, v2
iput v0, p1, Lorg/jbox2d/common/Vec2;->y:F
.line 109
return-void
.end method
.method public final getExtents()Lorg/jbox2d/common/Vec2;
.registers 3
.prologue
.line 117
new-instance v0, Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
invoke-direct {v0, v1}, Lorg/jbox2d/common/Vec2;-><init>(Lorg/jbox2d/common/Vec2;)V
.line 118
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 119
const/high16 v1, 0x3f000000 # 0.5f
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->mulLocal(F)Lorg/jbox2d/common/Vec2;
.line 120
return-object v0
.end method
.method public final getExtentsToOut(Lorg/jbox2d/common/Vec2;)V
.registers 5
.prologue
const/high16 v2, 0x3f000000 # 0.5f
.line 124
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v0, v1
mul-float/2addr v0, v2
iput v0, p1, Lorg/jbox2d/common/Vec2;->x:F
.line 125
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v0, v1
mul-float/2addr v0, v2
iput v0, p1, Lorg/jbox2d/common/Vec2;->y:F
.line 126
return-void
.end method
.method public final getPerimeter()F
.registers 4
.prologue
.line 156
const/high16 v0, 0x40000000 # 2.0f
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
iget-object v2, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v1, v2
iget-object v2, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v1, v2
iget-object v2, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v1, v2
mul-float/2addr v0, v1
return v0
.end method
.method public final getVertices([Lorg/jbox2d/common/Vec2;)V
.registers 7
.prologue
const/4 v4, 0x3
const/4 v2, 0x1
.line 129
const/4 v0, 0x0
aget-object v0, p1, v0
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 130
aget-object v0, p1, v2
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 131
aget-object v0, p1, v2
iget v1, v0, Lorg/jbox2d/common/Vec2;->x:F
iget-object v2, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
iget-object v3, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v2, v3
add-float/2addr v1, v2
iput v1, v0, Lorg/jbox2d/common/Vec2;->x:F
.line 132
const/4 v0, 0x2
aget-object v0, p1, v0
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 133
aget-object v0, p1, v4
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 134
aget-object v0, p1, v4
iget v1, v0, Lorg/jbox2d/common/Vec2;->x:F
iget-object v2, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
iget-object v3, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v2, v3
sub-float/2addr v1, v2
iput v1, v0, Lorg/jbox2d/common/Vec2;->x:F
.line 135
return-void
.end method
.method public final isValid()Z
.registers 5
.prologue
const/4 v3, 0x0
const/4 v0, 0x0
.line 83
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
iget-object v2, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v1, v2
.line 84
cmpg-float v1, v1, v3
if-gez v1, :cond_10
.line 91
:cond_f
:goto_f
return v0
.line 87
:cond_10
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
iget-object v2, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v1, v2
.line 88
cmpg-float v1, v1, v3
if-ltz v1, :cond_f
.line 91
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1}, Lorg/jbox2d/common/Vec2;->isValid()Z
move-result v1
if-eqz v1, :cond_f
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1}, Lorg/jbox2d/common/Vec2;->isValid()Z
move-result v1
if-eqz v1, :cond_f
const/4 v0, 0x1
goto :goto_f
.end method
.method public final raycast(Lorg/jbox2d/collision/RayCastOutput;Lorg/jbox2d/collision/RayCastInput;)Z
.registers 5
.prologue
const/4 v1, 0x4
.line 196
new-instance v0, Lorg/jbox2d/pooling/normal/DefaultWorldPool;
invoke-direct {v0, v1, v1}, Lorg/jbox2d/pooling/normal/DefaultWorldPool;-><init>(II)V
invoke-virtual {p0, p1, p2, v0}, Lorg/jbox2d/collision/AABB;->raycast(Lorg/jbox2d/collision/RayCastOutput;Lorg/jbox2d/collision/RayCastInput;Lorg/jbox2d/pooling/IWorldPool;)Z
move-result v0
return v0
.end method
.method public final raycast(Lorg/jbox2d/collision/RayCastOutput;Lorg/jbox2d/collision/RayCastInput;Lorg/jbox2d/pooling/IWorldPool;)Z
.registers 15
.prologue
.line 207
const v1, -0x800001
.line 208
const v2, 0x7f7fffff # Float.MAX_VALUE
.line 210
invoke-interface {p3}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v5
.line 211
invoke-interface {p3}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v6
.line 212
invoke-interface {p3}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v7
.line 213
invoke-interface {p3}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v8
.line 215
iget-object v0, p2, Lorg/jbox2d/collision/RayCastInput;->p1:Lorg/jbox2d/common/Vec2;
invoke-virtual {v5, v0}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 216
iget-object v0, p2, Lorg/jbox2d/collision/RayCastInput;->p2:Lorg/jbox2d/common/Vec2;
invoke-virtual {v6, v0}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v0
iget-object v3, p2, Lorg/jbox2d/collision/RayCastInput;->p1:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v3}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 217
invoke-static {v6, v7}, Lorg/jbox2d/common/Vec2;->absToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 220
iget v0, v7, Lorg/jbox2d/common/Vec2;->x:F
const/high16 v3, 0x34000000
cmpg-float v0, v0, v3
if-gez v0, :cond_4b
.line 222
iget v0, v5, Lorg/jbox2d/common/Vec2;->x:F
iget-object v3, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
cmpg-float v0, v0, v3
if-ltz v0, :cond_45
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->x:F
iget v3, v5, Lorg/jbox2d/common/Vec2;->x:F
cmpg-float v0, v0, v3
if-gez v0, :cond_115
.line 223
:cond_45
const/4 v0, 0x4
invoke-interface {p3, v0}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 224
const/4 v0, 0x0
.line 306
:goto_4a
return v0
.line 227
:cond_4b
const/high16 v0, 0x3f800000 # 1.0f
iget v3, v6, Lorg/jbox2d/common/Vec2;->x:F
div-float/2addr v0, v3
.line 228
iget-object v3, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
iget v4, v5, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v3, v4
mul-float/2addr v3, v0
.line 229
iget-object v4, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->x:F
iget v9, v5, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v4, v9
mul-float/2addr v4, v0
.line 232
const/high16 v0, -0x40800000 # -1.0f
.line 234
cmpl-float v9, v3, v4
if-lez v9, :cond_110
.line 238
const/high16 v0, 0x3f800000 # 1.0f
move v10, v0
move v0, v4
move v4, v3
move v3, v10
.line 242
:goto_6c
cmpl-float v9, v0, v1
if-lez v9, :cond_10d
.line 243
invoke-virtual {v8}, Lorg/jbox2d/common/Vec2;->setZero()V
.line 244
iput v3, v8, Lorg/jbox2d/common/Vec2;->x:F
.line 249
:goto_75
invoke-static {v2, v4}, Lorg/jbox2d/common/MathUtils;->min(FF)F
move-result v1
.line 251
cmpl-float v2, v0, v1
if-lez v2, :cond_83
.line 252
const/4 v0, 0x4
invoke-interface {p3, v0}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 253
const/4 v0, 0x0
goto :goto_4a
:cond_83
move v10, v1
move v1, v0
move v0, v10
.line 257
:goto_86
iget v2, v7, Lorg/jbox2d/common/Vec2;->y:F
const/high16 v3, 0x34000000
cmpg-float v2, v2, v3
if-gez v2, :cond_a8
.line 259
iget v0, v5, Lorg/jbox2d/common/Vec2;->y:F
iget-object v2, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
cmpg-float v0, v0, v2
if-ltz v0, :cond_a2
iget-object v0, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
iget v2, v5, Lorg/jbox2d/common/Vec2;->y:F
cmpg-float v0, v0, v2
if-gez v0, :cond_e2
.line 260
:cond_a2
const/4 v0, 0x4
invoke-interface {p3, v0}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 261
const/4 v0, 0x0
goto :goto_4a
.line 264
:cond_a8
const/high16 v2, 0x3f800000 # 1.0f
iget v3, v6, Lorg/jbox2d/common/Vec2;->y:F
div-float/2addr v2, v3
.line 265
iget-object v3, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
iget v4, v5, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v3, v4
mul-float/2addr v3, v2
.line 266
iget-object v4, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->y:F
iget v5, v5, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v4, v5
mul-float/2addr v4, v2
.line 269
const/high16 v2, -0x40800000 # -1.0f
.line 271
cmpl-float v5, v3, v4
if-lez v5, :cond_109
.line 275
const/high16 v2, 0x3f800000 # 1.0f
move v10, v2
move v2, v4
move v4, v3
move v3, v10
.line 279
:goto_c9
cmpl-float v5, v2, v1
if-lez v5, :cond_d3
.line 280
invoke-virtual {v8}, Lorg/jbox2d/common/Vec2;->setZero()V
.line 281
iput v3, v8, Lorg/jbox2d/common/Vec2;->y:F
move v1, v2
.line 286
:cond_d3
invoke-static {v0, v4}, Lorg/jbox2d/common/MathUtils;->min(FF)F
move-result v0
.line 288
cmpl-float v0, v1, v0
if-lez v0, :cond_e2
.line 289
const/4 v0, 0x4
invoke-interface {p3, v0}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 290
const/4 v0, 0x0
goto/16 :goto_4a
.line 296
:cond_e2
const/4 v0, 0x0
cmpg-float v0, v1, v0
if-ltz v0, :cond_ed
iget v0, p2, Lorg/jbox2d/collision/RayCastInput;->maxFraction:F
cmpg-float v0, v0, v1
if-gez v0, :cond_f4
.line 297
:cond_ed
const/4 v0, 0x4
invoke-interface {p3, v0}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 298
const/4 v0, 0x0
goto/16 :goto_4a
.line 302
:cond_f4
iput v1, p1, Lorg/jbox2d/collision/RayCastOutput;->fraction:F
.line 303
iget-object v0, p1, Lorg/jbox2d/collision/RayCastOutput;->normal:Lorg/jbox2d/common/Vec2;
iget v1, v8, Lorg/jbox2d/common/Vec2;->x:F
iput v1, v0, Lorg/jbox2d/common/Vec2;->x:F
.line 304
iget-object v0, p1, Lorg/jbox2d/collision/RayCastOutput;->normal:Lorg/jbox2d/common/Vec2;
iget v1, v8, Lorg/jbox2d/common/Vec2;->y:F
iput v1, v0, Lorg/jbox2d/common/Vec2;->y:F
.line 305
const/4 v0, 0x4
invoke-interface {p3, v0}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 306
const/4 v0, 0x1
goto/16 :goto_4a
:cond_109
move v10, v2
move v2, v3
move v3, v10
goto :goto_c9
:cond_10d
move v0, v1
goto/16 :goto_75
:cond_110
move v10, v0
move v0, v3
move v3, v10
goto/16 :goto_6c
:cond_115
move v0, v2
goto/16 :goto_86
.end method
.method public final set(Lorg/jbox2d/collision/AABB;)V
.registers 5
.prologue
.line 73
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
.line 74
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v2, v0, Lorg/jbox2d/common/Vec2;->x:F
iput v2, v1, Lorg/jbox2d/common/Vec2;->x:F
.line 75
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
iput v0, v1, Lorg/jbox2d/common/Vec2;->y:F
.line 76
iget-object v0, p1, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
.line 77
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v2, v0, Lorg/jbox2d/common/Vec2;->x:F
iput v2, v1, Lorg/jbox2d/common/Vec2;->x:F
.line 78
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
iget v0, v0, Lorg/jbox2d/common/Vec2;->y:F
iput v0, v1, Lorg/jbox2d/common/Vec2;->y:F
.line 79
return-void
.end method
.method public final toString()Ljava/lang/String;
.registers 3
.prologue
.line 323
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "AABB["
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->lowerBound:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " . "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lorg/jbox2d/collision/AABB;->upperBound:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 324
return-object v0
.end method