Body.smali
.class public Lorg/jbox2d/dynamics/Body;
.super Ljava/lang/Object;
.source "Body.java"
# static fields
.field static final synthetic $assertionsDisabled:Z
.field public static final e_activeFlag:I = 0x20
.field public static final e_autoSleepFlag:I = 0x4
.field public static final e_awakeFlag:I = 0x2
.field public static final e_bulletFlag:I = 0x8
.field public static final e_fixedRotationFlag:I = 0x10
.field public static final e_islandFlag:I = 0x1
.field public static final e_toiFlag:I = 0x40
# instance fields
.field private final fixDef:Lorg/jbox2d/dynamics/FixtureDef;
.field public m_I:F
.field public m_angularDamping:F
.field public m_angularVelocity:F
.field public m_contactList:Lorg/jbox2d/dynamics/contacts/ContactEdge;
.field public m_fixtureCount:I
.field public m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
.field public m_flags:I
.field public final m_force:Lorg/jbox2d/common/Vec2;
.field public m_gravityScale:F
.field public m_invI:F
.field public m_invMass:F
.field public m_islandIndex:I
.field public m_jointList:Lorg/jbox2d/dynamics/joints/JointEdge;
.field public m_linearDamping:F
.field public final m_linearVelocity:Lorg/jbox2d/common/Vec2;
.field public m_mass:F
.field public m_next:Lorg/jbox2d/dynamics/Body;
.field public m_prev:Lorg/jbox2d/dynamics/Body;
.field public m_sleepTime:F
.field public final m_sweep:Lorg/jbox2d/common/Sweep;
.field public m_torque:F
.field public m_type:Lorg/jbox2d/dynamics/BodyType;
.field public m_userData:Ljava/lang/Object;
.field public m_world:Lorg/jbox2d/dynamics/World;
.field public final m_xf:Lorg/jbox2d/common/Transform;
.field public final m_xf0:Lorg/jbox2d/common/Transform;
.field private final pmd:Lorg/jbox2d/collision/shapes/MassData;
.field private final pxf:Lorg/jbox2d/common/Transform;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 43
const-class v0, Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z
move-result v0
if-nez v0, :cond_c
const/4 v0, 0x1
:goto_9
sput-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
return-void
:cond_c
const/4 v0, 0x0
goto :goto_9
.end method
.method public constructor <init>(Lorg/jbox2d/dynamics/BodyDef;Lorg/jbox2d/dynamics/World;)V
.registers 9
.prologue
const/4 v5, 0x0
const/high16 v4, 0x3f800000 # 1.0f
const/4 v3, 0x0
const/4 v2, 0x0
.line 102
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 61
new-instance v0, Lorg/jbox2d/common/Transform;
invoke-direct {v0}, Lorg/jbox2d/common/Transform;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
.line 65
new-instance v0, Lorg/jbox2d/common/Transform;
invoke-direct {v0}, Lorg/jbox2d/common/Transform;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf0:Lorg/jbox2d/common/Transform;
.line 70
new-instance v0, Lorg/jbox2d/common/Sweep;
invoke-direct {v0}, Lorg/jbox2d/common/Sweep;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
.line 72
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
.line 73
iput v2, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
.line 75
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_force:Lorg/jbox2d/common/Vec2;
.line 76
iput v2, p0, Lorg/jbox2d/dynamics/Body;->m_torque:F
.line 217
new-instance v0, Lorg/jbox2d/dynamics/FixtureDef;
invoke-direct {v0}, Lorg/jbox2d/dynamics/FixtureDef;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->fixDef:Lorg/jbox2d/dynamics/FixtureDef;
.line 654
new-instance v0, Lorg/jbox2d/collision/shapes/MassData;
invoke-direct {v0}, Lorg/jbox2d/collision/shapes/MassData;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->pmd:Lorg/jbox2d/collision/shapes/MassData;
.line 1114
new-instance v0, Lorg/jbox2d/common/Transform;
invoke-direct {v0}, Lorg/jbox2d/common/Transform;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->pxf:Lorg/jbox2d/common/Transform;
.line 103
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_56
iget-object v0, p1, Lorg/jbox2d/dynamics/BodyDef;->position:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0}, Lorg/jbox2d/common/Vec2;->isValid()Z
move-result v0
if-nez v0, :cond_56
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 104
:cond_56
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_68
iget-object v0, p1, Lorg/jbox2d/dynamics/BodyDef;->linearVelocity:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0}, Lorg/jbox2d/common/Vec2;->isValid()Z
move-result v0
if-nez v0, :cond_68
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 105
:cond_68
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_78
iget v0, p1, Lorg/jbox2d/dynamics/BodyDef;->gravityScale:F
cmpl-float v0, v0, v2
if-gez v0, :cond_78
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 106
:cond_78
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_88
iget v0, p1, Lorg/jbox2d/dynamics/BodyDef;->angularDamping:F
cmpl-float v0, v0, v2
if-gez v0, :cond_88
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 107
:cond_88
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_98
iget v0, p1, Lorg/jbox2d/dynamics/BodyDef;->linearDamping:F
cmpl-float v0, v0, v2
if-gez v0, :cond_98
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 109
:cond_98
iput v5, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 111
iget-boolean v0, p1, Lorg/jbox2d/dynamics/BodyDef;->bullet:Z
if-eqz v0, :cond_a4
.line 112
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
or-int/lit8 v0, v0, 0x8
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 114
:cond_a4
iget-boolean v0, p1, Lorg/jbox2d/dynamics/BodyDef;->fixedRotation:Z
if-eqz v0, :cond_ae
.line 115
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
or-int/lit8 v0, v0, 0x10
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 117
:cond_ae
iget-boolean v0, p1, Lorg/jbox2d/dynamics/BodyDef;->allowSleep:Z
if-eqz v0, :cond_b8
.line 118
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
or-int/lit8 v0, v0, 0x4
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 120
:cond_b8
iget-boolean v0, p1, Lorg/jbox2d/dynamics/BodyDef;->awake:Z
if-eqz v0, :cond_c2
.line 121
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
or-int/lit8 v0, v0, 0x2
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 123
:cond_c2
iget-boolean v0, p1, Lorg/jbox2d/dynamics/BodyDef;->active:Z
if-eqz v0, :cond_cc
.line 124
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
or-int/lit8 v0, v0, 0x20
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 127
:cond_cc
iput-object p2, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
.line 129
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
iget-object v1, p1, Lorg/jbox2d/dynamics/BodyDef;->position:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 130
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget v1, p1, Lorg/jbox2d/dynamics/BodyDef;->angle:F
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Rot;->set(F)Lorg/jbox2d/common/Rot;
.line 132
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v0, v0, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0}, Lorg/jbox2d/common/Vec2;->setZero()V
.line 133
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v0, v0, Lorg/jbox2d/common/Sweep;->c0:Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v1, v1, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 134
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v0, v0, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v1, v1, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 135
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v1, p1, Lorg/jbox2d/dynamics/BodyDef;->angle:F
iput v1, v0, Lorg/jbox2d/common/Sweep;->a0:F
.line 136
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v1, p1, Lorg/jbox2d/dynamics/BodyDef;->angle:F
iput v1, v0, Lorg/jbox2d/common/Sweep;->a:F
.line 137
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iput v2, v0, Lorg/jbox2d/common/Sweep;->alpha0:F
.line 139
iput-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_jointList:Lorg/jbox2d/dynamics/joints/JointEdge;
.line 140
iput-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_contactList:Lorg/jbox2d/dynamics/contacts/ContactEdge;
.line 141
iput-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_prev:Lorg/jbox2d/dynamics/Body;
.line 142
iput-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_next:Lorg/jbox2d/dynamics/Body;
.line 144
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
iget-object v1, p1, Lorg/jbox2d/dynamics/BodyDef;->linearVelocity:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 145
iget v0, p1, Lorg/jbox2d/dynamics/BodyDef;->angularVelocity:F
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
.line 147
iget v0, p1, Lorg/jbox2d/dynamics/BodyDef;->linearDamping:F
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_linearDamping:F
.line 148
iget v0, p1, Lorg/jbox2d/dynamics/BodyDef;->angularDamping:F
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_angularDamping:F
.line 149
iget v0, p1, Lorg/jbox2d/dynamics/BodyDef;->gravityScale:F
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_gravityScale:F
.line 151
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_force:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0}, Lorg/jbox2d/common/Vec2;->setZero()V
.line 152
iput v2, p0, Lorg/jbox2d/dynamics/Body;->m_torque:F
.line 154
iput v2, p0, Lorg/jbox2d/dynamics/Body;->m_sleepTime:F
.line 156
iget-object v0, p1, Lorg/jbox2d/dynamics/BodyDef;->type:Lorg/jbox2d/dynamics/BodyType;
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
.line 158
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->DYNAMIC:Lorg/jbox2d/dynamics/BodyType;
if-ne v0, v1, :cond_150
.line 159
iput v4, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
.line 160
iput v4, p0, Lorg/jbox2d/dynamics/Body;->m_invMass:F
.line 166
:goto_143
iput v2, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
.line 167
iput v2, p0, Lorg/jbox2d/dynamics/Body;->m_invI:F
.line 169
iget-object v0, p1, Lorg/jbox2d/dynamics/BodyDef;->userData:Ljava/lang/Object;
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_userData:Ljava/lang/Object;
.line 171
iput-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
.line 172
iput v5, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureCount:I
.line 173
return-void
.line 162
:cond_150
iput v2, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
.line 163
iput v2, p0, Lorg/jbox2d/dynamics/Body;->m_invMass:F
goto :goto_143
.end method
# virtual methods
.method protected final advance(F)V
.registers 5
.prologue
.line 1177
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
invoke-virtual {v0, p1}, Lorg/jbox2d/common/Sweep;->advance(F)V
.line 1178
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v0, v0, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->c0:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 1179
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v1, v1, Lorg/jbox2d/common/Sweep;->a0:F
iput v1, v0, Lorg/jbox2d/common/Sweep;->a:F
.line 1180
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v1, v1, Lorg/jbox2d/common/Sweep;->a:F
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Rot;->set(F)Lorg/jbox2d/common/Rot;
.line 1182
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v2, v2, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
invoke-static {v0, v1, v2}, Lorg/jbox2d/common/Rot;->mulToOutUnsafe(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 1183
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
const/high16 v1, -0x40800000 # -1.0f
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->mulLocal(F)Lorg/jbox2d/common/Vec2;
move-result-object v0
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 1184
return-void
.end method
.method public applyAngularImpulse(F)V
.registers 4
.prologue
.line 550
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->DYNAMIC:Lorg/jbox2d/dynamics/BodyType;
if-eq v0, v1, :cond_7
.line 558
:goto_6
return-void
.line 554
:cond_7
invoke-virtual {p0}, Lorg/jbox2d/dynamics/Body;->isAwake()Z
move-result v0
if-nez v0, :cond_11
.line 555
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 557
:cond_11
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
iget v1, p0, Lorg/jbox2d/dynamics/Body;->m_invI:F
mul-float/2addr v1, p1
add-float/2addr v0, v1
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
goto :goto_6
.end method
.method public final applyForce(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.registers 7
.prologue
.line 459
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->DYNAMIC:Lorg/jbox2d/dynamics/BodyType;
if-eq v0, v1, :cond_7
.line 476
:goto_6
return-void
.line 463
:cond_7
invoke-virtual {p0}, Lorg/jbox2d/dynamics/Body;->isAwake()Z
move-result v0
if-nez v0, :cond_11
.line 464
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 472
:cond_11
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_force:Lorg/jbox2d/common/Vec2;
iget v1, v0, Lorg/jbox2d/common/Vec2;->x:F
iget v2, p1, Lorg/jbox2d/common/Vec2;->x:F
add-float/2addr v1, v2
iput v1, v0, Lorg/jbox2d/common/Vec2;->x:F
.line 473
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_force:Lorg/jbox2d/common/Vec2;
iget v1, v0, Lorg/jbox2d/common/Vec2;->y:F
iget v2, p1, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v1, v2
iput v1, v0, Lorg/jbox2d/common/Vec2;->y:F
.line 475
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_torque:F
iget v1, p2, Lorg/jbox2d/common/Vec2;->x:F
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v1, v2
iget v2, p1, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v1, v2
iget v2, p2, Lorg/jbox2d/common/Vec2;->y:F
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v2, v3
iget v3, p1, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v2, v3
sub-float/2addr v1, v2
add-float/2addr v0, v1
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_torque:F
goto :goto_6
.end method
.method public final applyForceToCenter(Lorg/jbox2d/common/Vec2;)V
.registers 5
.prologue
.line 484
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->DYNAMIC:Lorg/jbox2d/dynamics/BodyType;
if-eq v0, v1, :cond_7
.line 494
:goto_6
return-void
.line 488
:cond_7
invoke-virtual {p0}, Lorg/jbox2d/dynamics/Body;->isAwake()Z
move-result v0
if-nez v0, :cond_11
.line 489
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 492
:cond_11
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_force:Lorg/jbox2d/common/Vec2;
iget v1, v0, Lorg/jbox2d/common/Vec2;->x:F
iget v2, p1, Lorg/jbox2d/common/Vec2;->x:F
add-float/2addr v1, v2
iput v1, v0, Lorg/jbox2d/common/Vec2;->x:F
.line 493
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_force:Lorg/jbox2d/common/Vec2;
iget v1, v0, Lorg/jbox2d/common/Vec2;->y:F
iget v2, p1, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v1, v2
iput v1, v0, Lorg/jbox2d/common/Vec2;->y:F
goto :goto_6
.end method
.method public final applyLinearImpulse(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;Z)V
.registers 9
.prologue
.line 525
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->DYNAMIC:Lorg/jbox2d/dynamics/BodyType;
if-eq v0, v1, :cond_7
.line 542
:cond_6
:goto_6
return-void
.line 529
:cond_7
invoke-virtual {p0}, Lorg/jbox2d/dynamics/Body;->isAwake()Z
move-result v0
if-nez v0, :cond_13
.line 530
if-eqz p3, :cond_6
.line 531
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 537
:cond_13
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
iget v1, v0, Lorg/jbox2d/common/Vec2;->x:F
iget v2, p1, Lorg/jbox2d/common/Vec2;->x:F
iget v3, p0, Lorg/jbox2d/dynamics/Body;->m_invMass:F
mul-float/2addr v2, v3
add-float/2addr v1, v2
iput v1, v0, Lorg/jbox2d/common/Vec2;->x:F
.line 538
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
iget v1, v0, Lorg/jbox2d/common/Vec2;->y:F
iget v2, p1, Lorg/jbox2d/common/Vec2;->y:F
iget v3, p0, Lorg/jbox2d/dynamics/Body;->m_invMass:F
mul-float/2addr v2, v3
add-float/2addr v1, v2
iput v1, v0, Lorg/jbox2d/common/Vec2;->y:F
.line 540
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
iget v1, p0, Lorg/jbox2d/dynamics/Body;->m_invI:F
iget v2, p2, Lorg/jbox2d/common/Vec2;->x:F
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v2, v3
iget v3, p1, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v2, v3
iget v3, p2, Lorg/jbox2d/common/Vec2;->y:F
iget-object v4, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v4, v4, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v3, v4
iget v4, p1, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v3, v4
sub-float/2addr v2, v3
mul-float/2addr v1, v2
add-float/2addr v0, v1
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
goto :goto_6
.end method
.method public final applyTorque(F)V
.registers 4
.prologue
.line 503
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->DYNAMIC:Lorg/jbox2d/dynamics/BodyType;
if-eq v0, v1, :cond_7
.line 512
:goto_6
return-void
.line 507
:cond_7
invoke-virtual {p0}, Lorg/jbox2d/dynamics/Body;->isAwake()Z
move-result v0
if-nez v0, :cond_11
.line 508
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 511
:cond_11
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_torque:F
add-float/2addr v0, p1
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_torque:F
goto :goto_6
.end method
.method public final createFixture(Lorg/jbox2d/collision/shapes/Shape;F)Lorg/jbox2d/dynamics/Fixture;
.registers 4
.prologue
.line 229
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->fixDef:Lorg/jbox2d/dynamics/FixtureDef;
iput-object p1, v0, Lorg/jbox2d/dynamics/FixtureDef;->shape:Lorg/jbox2d/collision/shapes/Shape;
.line 230
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->fixDef:Lorg/jbox2d/dynamics/FixtureDef;
iput p2, v0, Lorg/jbox2d/dynamics/FixtureDef;->density:F
.line 232
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->fixDef:Lorg/jbox2d/dynamics/FixtureDef;
invoke-virtual {p0, v0}, Lorg/jbox2d/dynamics/Body;->createFixture(Lorg/jbox2d/dynamics/FixtureDef;)Lorg/jbox2d/dynamics/Fixture;
move-result-object v0
return-object v0
.end method
.method public final createFixture(Lorg/jbox2d/dynamics/FixtureDef;)Lorg/jbox2d/dynamics/Fixture;
.registers 5
.prologue
.line 185
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_12
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->isLocked()Z
move-result v0
if-eqz v0, :cond_12
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 187
:cond_12
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->isLocked()Z
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_1d
.line 188
const/4 v0, 0x0
.line 214
:goto_1c
return-object v0
.line 191
:cond_1d
new-instance v0, Lorg/jbox2d/dynamics/Fixture;
invoke-direct {v0}, Lorg/jbox2d/dynamics/Fixture;-><init>()V
.line 192
invoke-virtual {v0, p0, p1}, Lorg/jbox2d/dynamics/Fixture;->create(Lorg/jbox2d/dynamics/Body;Lorg/jbox2d/dynamics/FixtureDef;)V
.line 194
iget v1, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v1, v1, 0x20
const/16 v2, 0x20
if-ne v1, v2, :cond_38
.line 195
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
iget-object v1, v1, Lorg/jbox2d/dynamics/World;->m_contactManager:Lorg/jbox2d/dynamics/ContactManager;
iget-object v1, v1, Lorg/jbox2d/dynamics/ContactManager;->m_broadPhase:Lorg/jbox2d/collision/broadphase/BroadPhase;
.line 196
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
invoke-virtual {v0, v1, v2}, Lorg/jbox2d/dynamics/Fixture;->createProxies(Lorg/jbox2d/collision/broadphase/BroadPhase;Lorg/jbox2d/common/Transform;)V
.line 199
:cond_38
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
iput-object v1, v0, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
.line 200
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
.line 201
iget v1, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureCount:I
add-int/lit8 v1, v1, 0x1
iput v1, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureCount:I
.line 203
iput-object p0, v0, Lorg/jbox2d/dynamics/Fixture;->m_body:Lorg/jbox2d/dynamics/Body;
.line 206
iget v1, v0, Lorg/jbox2d/dynamics/Fixture;->m_density:F
const/4 v2, 0x0
cmpl-float v1, v1, v2
if-lez v1, :cond_50
.line 207
invoke-virtual {p0}, Lorg/jbox2d/dynamics/Body;->resetMassData()V
.line 212
:cond_50
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
iget v2, v1, Lorg/jbox2d/dynamics/World;->m_flags:I
or-int/lit8 v2, v2, 0x1
iput v2, v1, Lorg/jbox2d/dynamics/World;->m_flags:I
goto :goto_1c
.end method
.method public final destroyFixture(Lorg/jbox2d/dynamics/Fixture;)V
.registers 8
.prologue
const/4 v0, 0x1
const/4 v3, 0x0
.line 245
sget-boolean v1, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v1, :cond_14
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v1}, Lorg/jbox2d/dynamics/World;->isLocked()Z
move-result v1
if-eqz v1, :cond_14
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 246
:cond_14
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v1}, Lorg/jbox2d/dynamics/World;->isLocked()Z
move-result v1
if-ne v1, v0, :cond_1d
.line 307
:goto_1c
return-void
.line 250
:cond_1d
sget-boolean v1, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v1, :cond_2b
iget-object v1, p1, Lorg/jbox2d/dynamics/Fixture;->m_body:Lorg/jbox2d/dynamics/Body;
if-eq v1, p0, :cond_2b
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 253
:cond_2b
sget-boolean v1, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v1, :cond_39
iget v1, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureCount:I
if-gtz v1, :cond_39
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 254
:cond_39
iget-object v4, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
.line 256
const/4 v1, 0x0
move-object v2, v3
.line 257
:goto_3d
if-eqz v4, :cond_9f
.line 258
if-ne v4, p1, :cond_4f
.line 259
iget-object v1, p1, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
.line 268
:goto_43
sget-boolean v1, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v1, :cond_55
if-nez v0, :cond_55
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 264
:cond_4f
iget-object v2, v4, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
move-object v5, v4
move-object v4, v2
move-object v2, v5
goto :goto_3d
.line 271
:cond_55
if-nez v2, :cond_77
.line 272
iget-object v0, p1, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
.line 278
:goto_5b
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_contactList:Lorg/jbox2d/dynamics/contacts/ContactEdge;
.line 279
:cond_5d
:goto_5d
if-eqz v0, :cond_7c
.line 280
iget-object v1, v0, Lorg/jbox2d/dynamics/contacts/ContactEdge;->contact:Lorg/jbox2d/dynamics/contacts/Contact;
.line 281
iget-object v0, v0, Lorg/jbox2d/dynamics/contacts/ContactEdge;->next:Lorg/jbox2d/dynamics/contacts/ContactEdge;
.line 283
invoke-virtual {v1}, Lorg/jbox2d/dynamics/contacts/Contact;->getFixtureA()Lorg/jbox2d/dynamics/Fixture;
move-result-object v2
.line 284
invoke-virtual {v1}, Lorg/jbox2d/dynamics/contacts/Contact;->getFixtureB()Lorg/jbox2d/dynamics/Fixture;
move-result-object v4
.line 286
if-eq p1, v2, :cond_6f
if-ne p1, v4, :cond_5d
.line 289
:cond_6f
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
iget-object v2, v2, Lorg/jbox2d/dynamics/World;->m_contactManager:Lorg/jbox2d/dynamics/ContactManager;
invoke-virtual {v2, v1}, Lorg/jbox2d/dynamics/ContactManager;->destroy(Lorg/jbox2d/dynamics/contacts/Contact;)V
goto :goto_5d
.line 274
:cond_77
iget-object v0, p1, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
iput-object v0, v2, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
goto :goto_5b
.line 293
:cond_7c
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, 0x20
const/16 v1, 0x20
if-ne v0, v1, :cond_8d
.line 294
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
iget-object v0, v0, Lorg/jbox2d/dynamics/World;->m_contactManager:Lorg/jbox2d/dynamics/ContactManager;
iget-object v0, v0, Lorg/jbox2d/dynamics/ContactManager;->m_broadPhase:Lorg/jbox2d/collision/broadphase/BroadPhase;
.line 295
invoke-virtual {p1, v0}, Lorg/jbox2d/dynamics/Fixture;->destroyProxies(Lorg/jbox2d/collision/broadphase/BroadPhase;)V
.line 298
:cond_8d
invoke-virtual {p1}, Lorg/jbox2d/dynamics/Fixture;->destroy()V
.line 299
iput-object v3, p1, Lorg/jbox2d/dynamics/Fixture;->m_body:Lorg/jbox2d/dynamics/Body;
.line 300
iput-object v3, p1, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
.line 303
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureCount:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureCount:I
.line 306
invoke-virtual {p0}, Lorg/jbox2d/dynamics/Body;->resetMassData()V
goto/16 :goto_1c
:cond_9f
move v0, v1
goto :goto_43
.end method
.method public final getAngle()F
.registers 2
.prologue
.line 363
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v0, v0, Lorg/jbox2d/common/Sweep;->a:F
return v0
.end method
.method public final getAngularDamping()F
.registers 2
.prologue
.line 856
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_angularDamping:F
return v0
.end method
.method public final getAngularVelocity()F
.registers 2
.prologue
.line 430
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
return v0
.end method
.method public final getContactList()Lorg/jbox2d/dynamics/contacts/ContactEdge;
.registers 2
.prologue
.line 1086
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_contactList:Lorg/jbox2d/dynamics/contacts/ContactEdge;
return-object v0
.end method
.method public final getFixtureList()Lorg/jbox2d/dynamics/Fixture;
.registers 2
.prologue
.line 1071
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
return-object v0
.end method
.method public getGravityScale()F
.registers 2
.prologue
.line 439
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_gravityScale:F
return v0
.end method
.method public final getInertia()F
.registers 6
.prologue
.line 575
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
iget v1, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v2, v3
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
iget-object v4, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v4, v4, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v3, v4
add-float/2addr v2, v3
mul-float/2addr v1, v2
add-float/2addr v0, v1
return v0
.end method
.method public final getJointList()Lorg/jbox2d/dynamics/joints/JointEdge;
.registers 2
.prologue
.line 1076
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_jointList:Lorg/jbox2d/dynamics/joints/JointEdge;
return-object v0
.end method
.method public final getLinearDamping()F
.registers 2
.prologue
.line 846
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_linearDamping:F
return v0
.end method
.method public final getLinearVelocity()Lorg/jbox2d/common/Vec2;
.registers 2
.prologue
.line 404
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
return-object v0
.end method
.method public final getLinearVelocityFromLocalPoint(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.registers 3
.prologue
.line 834
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
.line 835
invoke-virtual {p0, p1, v0}, Lorg/jbox2d/dynamics/Body;->getLinearVelocityFromLocalPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 836
return-object v0
.end method
.method public final getLinearVelocityFromLocalPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.registers 3
.prologue
.line 840
invoke-virtual {p0, p1, p2}, Lorg/jbox2d/dynamics/Body;->getWorldPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 841
invoke-virtual {p0, p2, p2}, Lorg/jbox2d/dynamics/Body;->getLinearVelocityFromWorldPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 842
return-void
.end method
.method public final getLinearVelocityFromWorldPoint(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.registers 3
.prologue
.line 815
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
.line 816
invoke-virtual {p0, p1, v0}, Lorg/jbox2d/dynamics/Body;->getLinearVelocityFromWorldPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 817
return-object v0
.end method
.method public final getLinearVelocityFromWorldPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.registers 6
.prologue
.line 821
iget v0, p1, Lorg/jbox2d/common/Vec2;->x:F
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
sub-float/2addr v0, v1
.line 822
iget v1, p1, Lorg/jbox2d/common/Vec2;->y:F
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
sub-float/2addr v1, v2
.line 823
iget v2, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
neg-float v2, v2
mul-float/2addr v1, v2
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
add-float/2addr v1, v2
iput v1, p2, Lorg/jbox2d/common/Vec2;->x:F
.line 824
iget v1, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
mul-float/2addr v0, v1
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
add-float/2addr v0, v1
iput v0, p2, Lorg/jbox2d/common/Vec2;->y:F
.line 825
return-void
.end method
.method public final getLocalCenter()Lorg/jbox2d/common/Vec2;
.registers 2
.prologue
.line 377
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v0, v0, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
return-object v0
.end method
.method public final getLocalPoint(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.registers 3
.prologue
.line 779
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
.line 780
invoke-virtual {p0, p1, v0}, Lorg/jbox2d/dynamics/Body;->getLocalPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 781
return-object v0
.end method
.method public final getLocalPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 785
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
invoke-static {v0, p1, p2}, Lorg/jbox2d/common/Transform;->mulTransToOut(Lorg/jbox2d/common/Transform;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 786
return-void
.end method
.method public final getLocalVector(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.registers 3
.prologue
.line 795
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
.line 796
invoke-virtual {p0, p1, v0}, Lorg/jbox2d/dynamics/Body;->getLocalVectorToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 797
return-object v0
.end method
.method public final getLocalVectorToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 801
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
invoke-static {v0, p1, p2}, Lorg/jbox2d/common/Rot;->mulTrans(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 802
return-void
.end method
.method public final getLocalVectorToOutUnsafe(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 805
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
invoke-static {v0, p1, p2}, Lorg/jbox2d/common/Rot;->mulTransUnsafe(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 806
return-void
.end method
.method public final getMass()F
.registers 2
.prologue
.line 566
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
return v0
.end method
.method public final getMassData(Lorg/jbox2d/collision/shapes/MassData;)V
.registers 7
.prologue
.line 591
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
iput v0, p1, Lorg/jbox2d/collision/shapes/MassData;->mass:F
.line 592
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
iget v1, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v2, v3
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
iget-object v4, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v4, v4, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v3, v4
add-float/2addr v2, v3
mul-float/2addr v1, v2
add-float/2addr v0, v1
iput v0, p1, Lorg/jbox2d/collision/shapes/MassData;->I:F
.line 597
iget-object v0, p1, Lorg/jbox2d/collision/shapes/MassData;->center:Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->x:F
iput v1, v0, Lorg/jbox2d/common/Vec2;->x:F
.line 598
iget-object v0, p1, Lorg/jbox2d/collision/shapes/MassData;->center:Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
iput v1, v0, Lorg/jbox2d/common/Vec2;->y:F
.line 599
return-void
.end method
.method public final getNext()Lorg/jbox2d/dynamics/Body;
.registers 2
.prologue
.line 1091
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_next:Lorg/jbox2d/dynamics/Body;
return-object v0
.end method
.method public final getPosition()Lorg/jbox2d/common/Vec2;
.registers 2
.prologue
.line 354
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
return-object v0
.end method
.method public final getTransform()Lorg/jbox2d/common/Transform;
.registers 2
.prologue
.line 345
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
return-object v0
.end method
.method public getType()Lorg/jbox2d/dynamics/BodyType;
.registers 2
.prologue
.line 865
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
return-object v0
.end method
.method public final getUserData()Ljava/lang/Object;
.registers 2
.prologue
.line 1096
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_userData:Ljava/lang/Object;
return-object v0
.end method
.method public final getWorld()Lorg/jbox2d/dynamics/World;
.registers 2
.prologue
.line 1110
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
return-object v0
.end method
.method public final getWorldCenter()Lorg/jbox2d/common/Vec2;
.registers 2
.prologue
.line 370
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v0, v0, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
return-object v0
.end method
.method public final getWorldPoint(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.registers 3
.prologue
.line 743
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
.line 744
invoke-virtual {p0, p1, v0}, Lorg/jbox2d/dynamics/Body;->getWorldPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 745
return-object v0
.end method
.method public final getWorldPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 749
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
invoke-static {v0, p1, p2}, Lorg/jbox2d/common/Transform;->mulToOut(Lorg/jbox2d/common/Transform;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 750
return-void
.end method
.method public final getWorldVector(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.registers 3
.prologue
.line 759
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
.line 760
invoke-virtual {p0, p1, v0}, Lorg/jbox2d/dynamics/Body;->getWorldVectorToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 761
return-object v0
.end method
.method public final getWorldVectorToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 765
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
invoke-static {v0, p1, p2}, Lorg/jbox2d/common/Rot;->mulToOut(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 766
return-void
.end method
.method public final getWorldVectorToOutUnsafe(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 769
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
invoke-static {v0, p1, p2}, Lorg/jbox2d/common/Rot;->mulToOutUnsafe(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 770
return-void
.end method
.method public isActive()Z
.registers 3
.prologue
.line 1042
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, 0x20
const/16 v1, 0x20
if-ne v0, v1, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public isAwake()Z
.registers 3
.prologue
.line 984
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, 0x2
const/4 v1, 0x2
if-ne v0, v1, :cond_9
const/4 v0, 0x1
:goto_8
return v0
:cond_9
const/4 v0, 0x0
goto :goto_8
.end method
.method public final isBullet()Z
.registers 3
.prologue
.line 921
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, 0x8
const/16 v1, 0x8
if-ne v0, v1, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public isFixedRotation()Z
.registers 3
.prologue
.line 1066
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, 0x10
const/16 v1, 0x10
if-ne v0, v1, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public isSleepingAllowed()Z
.registers 3
.prologue
.line 953
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, 0x4
const/4 v1, 0x4
if-ne v0, v1, :cond_9
const/4 v0, 0x1
:goto_8
return v0
:cond_9
const/4 v0, 0x0
goto :goto_8
.end method
.method public final resetMassData()V
.registers 9
.prologue
const/high16 v7, 0x3f800000 # 1.0f
const/4 v6, 0x0
.line 663
iput v6, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
.line 664
iput v6, p0, Lorg/jbox2d/dynamics/Body;->m_invMass:F
.line 665
iput v6, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
.line 666
iput v6, p0, Lorg/jbox2d/dynamics/Body;->m_invI:F
.line 667
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v0, v0, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0}, Lorg/jbox2d/common/Vec2;->setZero()V
.line 670
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->STATIC:Lorg/jbox2d/dynamics/BodyType;
if-eq v0, v1, :cond_1e
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->KINEMATIC:Lorg/jbox2d/dynamics/BodyType;
if-ne v0, v1, :cond_3d
.line 672
:cond_1e
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v0, v0, Lorg/jbox2d/common/Sweep;->c0:Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v1, v1, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 673
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v0, v0, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v1, v1, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 674
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v1, v1, Lorg/jbox2d/common/Sweep;->a:F
iput v1, v0, Lorg/jbox2d/common/Sweep;->a0:F
.line 734
:goto_3c
return-void
.line 678
:cond_3d
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_4d
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->DYNAMIC:Lorg/jbox2d/dynamics/BodyType;
if-eq v0, v1, :cond_4d
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 681
:cond_4d
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->getPool()Lorg/jbox2d/pooling/IWorldPool;
move-result-object v0
invoke-interface {v0}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v1
.line 682
invoke-virtual {v1}, Lorg/jbox2d/common/Vec2;->setZero()V
.line 683
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->getPool()Lorg/jbox2d/pooling/IWorldPool;
move-result-object v0
invoke-interface {v0}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v2
.line 684
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->pmd:Lorg/jbox2d/collision/shapes/MassData;
.line 685
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
:goto_68
if-eqz v0, :cond_93
.line 686
iget v4, v0, Lorg/jbox2d/dynamics/Fixture;->m_density:F
cmpl-float v4, v4, v6
if-nez v4, :cond_73
.line 685
:goto_70
iget-object v0, v0, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
goto :goto_68
.line 689
:cond_73
invoke-virtual {v0, v3}, Lorg/jbox2d/dynamics/Fixture;->getMassData(Lorg/jbox2d/collision/shapes/MassData;)V
.line 690
iget v4, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
iget v5, v3, Lorg/jbox2d/collision/shapes/MassData;->mass:F
add-float/2addr v4, v5
iput v4, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
.line 692
iget-object v4, v3, Lorg/jbox2d/collision/shapes/MassData;->center:Lorg/jbox2d/common/Vec2;
invoke-virtual {v2, v4}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v4
iget v5, v3, Lorg/jbox2d/collision/shapes/MassData;->mass:F
invoke-virtual {v4, v5}, Lorg/jbox2d/common/Vec2;->mulLocal(F)Lorg/jbox2d/common/Vec2;
.line 693
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 694
iget v4, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
iget v5, v3, Lorg/jbox2d/collision/shapes/MassData;->I:F
add-float/2addr v4, v5
iput v4, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
goto :goto_70
.line 698
:cond_93
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
cmpl-float v0, v0, v6
if-lez v0, :cond_cc
.line 699
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
div-float v0, v7, v0
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_invMass:F
.line 700
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_invMass:F
invoke-virtual {v1, v0}, Lorg/jbox2d/common/Vec2;->mulLocal(F)Lorg/jbox2d/common/Vec2;
.line 707
:goto_a4
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
cmpl-float v0, v0, v6
if-lez v0, :cond_128
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, 0x10
if-nez v0, :cond_128
.line 709
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
iget v3, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
invoke-static {v1, v1}, Lorg/jbox2d/common/Vec2;->dot(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v4
mul-float/2addr v3, v4
sub-float/2addr v0, v3
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
.line 710
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_d1
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
cmpl-float v0, v0, v6
if-gtz v0, :cond_d1
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 703
:cond_cc
iput v7, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
.line 704
iput v7, p0, Lorg/jbox2d/dynamics/Body;->m_invMass:F
goto :goto_a4
.line 711
:cond_d1
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
div-float v0, v7, v0
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_invI:F
.line 717
:goto_d7
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->getPool()Lorg/jbox2d/pooling/IWorldPool;
move-result-object v0
invoke-interface {v0}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v0
.line 719
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v3}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 720
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
invoke-virtual {v3, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 722
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget-object v4, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v4, v4, Lorg/jbox2d/common/Sweep;->c0:Lorg/jbox2d/common/Vec2;
invoke-static {v1, v3, v4}, Lorg/jbox2d/common/Transform;->mulToOutUnsafe(Lorg/jbox2d/common/Transform;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 723
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->c0:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v3}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 727
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
invoke-virtual {v2, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v1
invoke-virtual {v1, v0}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 730
iget v1, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
invoke-static {v1, v2, v0}, Lorg/jbox2d/common/Vec2;->crossToOutUnsafe(FLorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 731
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v0}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 733
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->getPool()Lorg/jbox2d/pooling/IWorldPool;
move-result-object v0
const/4 v1, 0x3
invoke-interface {v0, v1}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
goto/16 :goto_3c
.line 713
:cond_128
iput v6, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
.line 714
iput v6, p0, Lorg/jbox2d/dynamics/Body;->m_invI:F
goto :goto_d7
.end method
.method public setActive(Z)V
.registers 5
.prologue
.line 1000
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_12
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->isLocked()Z
move-result v0
if-eqz v0, :cond_12
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 1002
:cond_12
invoke-virtual {p0}, Lorg/jbox2d/dynamics/Body;->isActive()Z
move-result v0
if-ne p1, v0, :cond_19
.line 1034
:cond_18
:goto_18
return-void
.line 1006
:cond_19
if-eqz p1, :cond_33
.line 1007
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
or-int/lit8 v0, v0, 0x20
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 1010
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
iget-object v0, v0, Lorg/jbox2d/dynamics/World;->m_contactManager:Lorg/jbox2d/dynamics/ContactManager;
iget-object v1, v0, Lorg/jbox2d/dynamics/ContactManager;->m_broadPhase:Lorg/jbox2d/collision/broadphase/BroadPhase;
.line 1011
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
:goto_29
if-eqz v0, :cond_18
.line 1012
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
invoke-virtual {v0, v1, v2}, Lorg/jbox2d/dynamics/Fixture;->createProxies(Lorg/jbox2d/collision/broadphase/BroadPhase;Lorg/jbox2d/common/Transform;)V
.line 1011
iget-object v0, v0, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
goto :goto_29
.line 1017
:cond_33
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, -0x21
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 1020
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
iget-object v0, v0, Lorg/jbox2d/dynamics/World;->m_contactManager:Lorg/jbox2d/dynamics/ContactManager;
iget-object v1, v0, Lorg/jbox2d/dynamics/ContactManager;->m_broadPhase:Lorg/jbox2d/collision/broadphase/BroadPhase;
.line 1021
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
:goto_41
if-eqz v0, :cond_49
.line 1022
invoke-virtual {v0, v1}, Lorg/jbox2d/dynamics/Fixture;->destroyProxies(Lorg/jbox2d/collision/broadphase/BroadPhase;)V
.line 1021
iget-object v0, v0, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
goto :goto_41
.line 1026
:cond_49
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_contactList:Lorg/jbox2d/dynamics/contacts/ContactEdge;
.line 1027
:goto_4b
if-eqz v0, :cond_5a
.line 1029
iget-object v1, v0, Lorg/jbox2d/dynamics/contacts/ContactEdge;->next:Lorg/jbox2d/dynamics/contacts/ContactEdge;
.line 1030
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
iget-object v2, v2, Lorg/jbox2d/dynamics/World;->m_contactManager:Lorg/jbox2d/dynamics/ContactManager;
iget-object v0, v0, Lorg/jbox2d/dynamics/contacts/ContactEdge;->contact:Lorg/jbox2d/dynamics/contacts/Contact;
invoke-virtual {v2, v0}, Lorg/jbox2d/dynamics/ContactManager;->destroy(Lorg/jbox2d/dynamics/contacts/Contact;)V
move-object v0, v1
.line 1031
goto :goto_4b
.line 1032
:cond_5a
const/4 v0, 0x0
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_contactList:Lorg/jbox2d/dynamics/contacts/ContactEdge;
goto :goto_18
.end method
.method public final setAngularDamping(F)V
.registers 2
.prologue
.line 861
iput p1, p0, Lorg/jbox2d/dynamics/Body;->m_angularDamping:F
.line 862
return-void
.end method
.method public final setAngularVelocity(F)V
.registers 4
.prologue
.line 413
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->STATIC:Lorg/jbox2d/dynamics/BodyType;
if-ne v0, v1, :cond_7
.line 422
:goto_6
return-void
.line 417
:cond_7
mul-float v0, p1, p1
const/4 v1, 0x0
cmpl-float v0, v0, v1
if-lez v0, :cond_12
.line 418
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 421
:cond_12
iput p1, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
goto :goto_6
.end method
.method public setAwake(Z)V
.registers 4
.prologue
const/4 v1, 0x0
.line 963
if-eqz p1, :cond_12
.line 964
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, 0x2
if-nez v0, :cond_11
.line 965
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
or-int/lit8 v0, v0, 0x2
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 966
iput v1, p0, Lorg/jbox2d/dynamics/Body;->m_sleepTime:F
.line 976
:cond_11
:goto_11
return-void
.line 969
:cond_12
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, -0x3
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 970
iput v1, p0, Lorg/jbox2d/dynamics/Body;->m_sleepTime:F
.line 971
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0}, Lorg/jbox2d/common/Vec2;->setZero()V
.line 972
iput v1, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
.line 973
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_force:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0}, Lorg/jbox2d/common/Vec2;->setZero()V
.line 974
iput v1, p0, Lorg/jbox2d/dynamics/Body;->m_torque:F
goto :goto_11
.end method
.method public final setBullet(Z)V
.registers 3
.prologue
.line 926
if-eqz p1, :cond_9
.line 927
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
or-int/lit8 v0, v0, 0x8
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 931
:goto_8
return-void
.line 929
:cond_9
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, -0x9
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
goto :goto_8
.end method
.method public setFixedRotation(Z)V
.registers 3
.prologue
.line 1051
if-eqz p1, :cond_c
.line 1052
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
or-int/lit8 v0, v0, 0x10
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 1057
:goto_8
invoke-virtual {p0}, Lorg/jbox2d/dynamics/Body;->resetMassData()V
.line 1058
return-void
.line 1054
:cond_c
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, -0x11
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
goto :goto_8
.end method
.method public setGravityScale(F)V
.registers 2
.prologue
.line 448
iput p1, p0, Lorg/jbox2d/dynamics/Body;->m_gravityScale:F
.line 449
return-void
.end method
.method public final setLinearDamping(F)V
.registers 2
.prologue
.line 851
iput p1, p0, Lorg/jbox2d/dynamics/Body;->m_linearDamping:F
.line 852
return-void
.end method
.method public final setLinearVelocity(Lorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 386
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->STATIC:Lorg/jbox2d/dynamics/BodyType;
if-ne v0, v1, :cond_7
.line 395
:goto_6
return-void
.line 390
:cond_7
invoke-static {p1, p1}, Lorg/jbox2d/common/Vec2;->dot(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v0
const/4 v1, 0x0
cmpl-float v0, v0, v1
if-lez v0, :cond_14
.line 391
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 394
:cond_14
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, p1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
goto :goto_6
.end method
.method public final setMassData(Lorg/jbox2d/collision/shapes/MassData;)V
.registers 8
.prologue
const/high16 v5, 0x3f800000 # 1.0f
const/4 v4, 0x0
.line 610
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_15
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->isLocked()Z
move-result v0
if-eqz v0, :cond_15
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 611
:cond_15
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->isLocked()Z
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_1f
.line 652
:cond_1e
:goto_1e
return-void
.line 615
:cond_1f
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->DYNAMIC:Lorg/jbox2d/dynamics/BodyType;
if-ne v0, v1, :cond_1e
.line 619
iput v4, p0, Lorg/jbox2d/dynamics/Body;->m_invMass:F
.line 620
iput v4, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
.line 621
iput v4, p0, Lorg/jbox2d/dynamics/Body;->m_invI:F
.line 623
iget v0, p1, Lorg/jbox2d/collision/shapes/MassData;->mass:F
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
.line 624
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
cmpg-float v0, v0, v4
if-gtz v0, :cond_37
.line 625
iput v5, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
.line 628
:cond_37
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
div-float v0, v5, v0
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_invMass:F
.line 630
iget v0, p1, Lorg/jbox2d/collision/shapes/MassData;->I:F
cmpl-float v0, v0, v4
if-lez v0, :cond_6f
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, 0x10
if-nez v0, :cond_6f
.line 631
iget v0, p1, Lorg/jbox2d/collision/shapes/MassData;->I:F
iget v1, p0, Lorg/jbox2d/dynamics/Body;->m_mass:F
iget-object v2, p1, Lorg/jbox2d/collision/shapes/MassData;->center:Lorg/jbox2d/common/Vec2;
iget-object v3, p1, Lorg/jbox2d/collision/shapes/MassData;->center:Lorg/jbox2d/common/Vec2;
invoke-static {v2, v3}, Lorg/jbox2d/common/Vec2;->dot(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v2
mul-float/2addr v1, v2
sub-float/2addr v0, v1
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
.line 632
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_69
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
cmpl-float v0, v0, v4
if-gtz v0, :cond_69
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 633
:cond_69
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_I:F
div-float v0, v5, v0
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_invI:F
.line 636
:cond_6f
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->getPool()Lorg/jbox2d/pooling/IWorldPool;
move-result-object v0
invoke-interface {v0}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v0
.line 638
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 639
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget-object v2, p1, Lorg/jbox2d/collision/shapes/MassData;->center:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 641
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->c0:Lorg/jbox2d/common/Vec2;
invoke-static {v1, v2, v3}, Lorg/jbox2d/common/Transform;->mulToOutUnsafe(Lorg/jbox2d/common/Transform;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 642
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->c0:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 646
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v1}, Lorg/jbox2d/dynamics/World;->getPool()Lorg/jbox2d/pooling/IWorldPool;
move-result-object v1
invoke-interface {v1}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v1
.line 647
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v2
invoke-virtual {v2, v0}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 648
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
invoke-static {v0, v1, v1}, Lorg/jbox2d/common/Vec2;->crossToOut(FLorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 649
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 651
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->getPool()Lorg/jbox2d/pooling/IWorldPool;
move-result-object v0
const/4 v1, 0x2
invoke-interface {v0, v1}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
goto/16 :goto_1e
.end method
.method public setSleepingAllowed(Z)V
.registers 3
.prologue
.line 939
if-eqz p1, :cond_9
.line 940
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
or-int/lit8 v0, v0, 0x4
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 945
:goto_8
return-void
.line 942
:cond_9
iget v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
and-int/lit8 v0, v0, -0x5
iput v0, p0, Lorg/jbox2d/dynamics/Body;->m_flags:I
.line 943
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
goto :goto_8
.end method
.method public final setTransform(Lorg/jbox2d/common/Vec2;F)V
.registers 7
.prologue
.line 318
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_12
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->isLocked()Z
move-result v0
if-eqz v0, :cond_12
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 319
:cond_12
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->isLocked()Z
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_1c
.line 337
:cond_1b
return-void
.line 323
:cond_1c
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
invoke-virtual {v0, p2}, Lorg/jbox2d/common/Rot;->set(F)Lorg/jbox2d/common/Rot;
.line 324
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, p1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 327
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
invoke-static {v0, v1, v2}, Lorg/jbox2d/common/Transform;->mulToOutUnsafe(Lorg/jbox2d/common/Transform;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 328
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iput p2, v0, Lorg/jbox2d/common/Sweep;->a:F
.line 330
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v0, v0, Lorg/jbox2d/common/Sweep;->c0:Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 331
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v1, v1, Lorg/jbox2d/common/Sweep;->a:F
iput v1, v0, Lorg/jbox2d/common/Sweep;->a0:F
.line 333
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
iget-object v0, v0, Lorg/jbox2d/dynamics/World;->m_contactManager:Lorg/jbox2d/dynamics/ContactManager;
iget-object v1, v0, Lorg/jbox2d/dynamics/ContactManager;->m_broadPhase:Lorg/jbox2d/collision/broadphase/BroadPhase;
.line 334
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
:goto_56
if-eqz v0, :cond_1b
.line 335
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
invoke-virtual {v0, v1, v2, v3}, Lorg/jbox2d/dynamics/Fixture;->synchronize(Lorg/jbox2d/collision/broadphase/BroadPhase;Lorg/jbox2d/common/Transform;Lorg/jbox2d/common/Transform;)V
.line 334
iget-object v0, v0, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
goto :goto_56
.end method
.method public setType(Lorg/jbox2d/dynamics/BodyType;)V
.registers 7
.prologue
const/4 v3, 0x1
const/4 v2, 0x0
.line 874
sget-boolean v0, Lorg/jbox2d/dynamics/Body;->$assertionsDisabled:Z
if-nez v0, :cond_14
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->isLocked()Z
move-result v0
if-eqz v0, :cond_14
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 875
:cond_14
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
invoke-virtual {v0}, Lorg/jbox2d/dynamics/World;->isLocked()Z
move-result v0
if-ne v0, v3, :cond_1d
.line 917
:cond_1c
return-void
.line 879
:cond_1d
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
if-eq v0, p1, :cond_1c
.line 883
iput-object p1, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
.line 885
invoke-virtual {p0}, Lorg/jbox2d/dynamics/Body;->resetMassData()V
.line 887
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v1, Lorg/jbox2d/dynamics/BodyType;->STATIC:Lorg/jbox2d/dynamics/BodyType;
if-ne v0, v1, :cond_49
.line 888
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_linearVelocity:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0}, Lorg/jbox2d/common/Vec2;->setZero()V
.line 889
iput v2, p0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
.line 890
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v1, v1, Lorg/jbox2d/common/Sweep;->a:F
iput v1, v0, Lorg/jbox2d/common/Sweep;->a0:F
.line 891
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v0, v0, Lorg/jbox2d/common/Sweep;->c0:Lorg/jbox2d/common/Vec2;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 892
invoke-virtual {p0}, Lorg/jbox2d/dynamics/Body;->synchronizeFixtures()V
.line 895
:cond_49
invoke-virtual {p0, v3}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 897
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_force:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0}, Lorg/jbox2d/common/Vec2;->setZero()V
.line 898
iput v2, p0, Lorg/jbox2d/dynamics/Body;->m_torque:F
.line 901
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_contactList:Lorg/jbox2d/dynamics/contacts/ContactEdge;
.line 902
:goto_55
if-eqz v0, :cond_64
.line 904
iget-object v1, v0, Lorg/jbox2d/dynamics/contacts/ContactEdge;->next:Lorg/jbox2d/dynamics/contacts/ContactEdge;
.line 905
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
iget-object v2, v2, Lorg/jbox2d/dynamics/World;->m_contactManager:Lorg/jbox2d/dynamics/ContactManager;
iget-object v0, v0, Lorg/jbox2d/dynamics/contacts/ContactEdge;->contact:Lorg/jbox2d/dynamics/contacts/Contact;
invoke-virtual {v2, v0}, Lorg/jbox2d/dynamics/ContactManager;->destroy(Lorg/jbox2d/dynamics/contacts/Contact;)V
move-object v0, v1
.line 906
goto :goto_55
.line 907
:cond_64
const/4 v0, 0x0
iput-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_contactList:Lorg/jbox2d/dynamics/contacts/ContactEdge;
.line 910
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
iget-object v0, v0, Lorg/jbox2d/dynamics/World;->m_contactManager:Lorg/jbox2d/dynamics/ContactManager;
iget-object v2, v0, Lorg/jbox2d/dynamics/ContactManager;->m_broadPhase:Lorg/jbox2d/collision/broadphase/BroadPhase;
.line 911
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
move-object v1, v0
:goto_70
if-eqz v1, :cond_1c
.line 912
iget v3, v1, Lorg/jbox2d/dynamics/Fixture;->m_proxyCount:I
.line 913
const/4 v0, 0x0
:goto_75
if-ge v0, v3, :cond_83
.line 914
iget-object v4, v1, Lorg/jbox2d/dynamics/Fixture;->m_proxies:[Lorg/jbox2d/dynamics/FixtureProxy;
aget-object v4, v4, v0
iget v4, v4, Lorg/jbox2d/dynamics/FixtureProxy;->proxyId:I
invoke-interface {v2, v4}, Lorg/jbox2d/collision/broadphase/BroadPhase;->touchProxy(I)V
.line 913
add-int/lit8 v0, v0, 0x1
goto :goto_75
.line 911
:cond_83
iget-object v0, v1, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
move-object v1, v0
goto :goto_70
.end method
.method public final setUserData(Ljava/lang/Object;)V
.registers 2
.prologue
.line 1103
iput-object p1, p0, Lorg/jbox2d/dynamics/Body;->m_userData:Ljava/lang/Object;
.line 1104
return-void
.end method
.method public shouldCollide(Lorg/jbox2d/dynamics/Body;)Z
.registers 5
.prologue
const/4 v0, 0x0
.line 1159
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v2, Lorg/jbox2d/dynamics/BodyType;->DYNAMIC:Lorg/jbox2d/dynamics/BodyType;
if-eq v1, v2, :cond_e
iget-object v1, p1, Lorg/jbox2d/dynamics/Body;->m_type:Lorg/jbox2d/dynamics/BodyType;
sget-object v2, Lorg/jbox2d/dynamics/BodyType;->DYNAMIC:Lorg/jbox2d/dynamics/BodyType;
if-eq v1, v2, :cond_e
.line 1172
:cond_d
:goto_d
return v0
.line 1164
:cond_e
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_jointList:Lorg/jbox2d/dynamics/joints/JointEdge;
:goto_10
if-eqz v1, :cond_21
.line 1165
iget-object v2, v1, Lorg/jbox2d/dynamics/joints/JointEdge;->other:Lorg/jbox2d/dynamics/Body;
if-ne v2, p1, :cond_1e
.line 1166
iget-object v2, v1, Lorg/jbox2d/dynamics/joints/JointEdge;->joint:Lorg/jbox2d/dynamics/joints/Joint;
invoke-virtual {v2}, Lorg/jbox2d/dynamics/joints/Joint;->getCollideConnected()Z
move-result v2
if-eqz v2, :cond_d
.line 1164
:cond_1e
iget-object v1, v1, Lorg/jbox2d/dynamics/joints/JointEdge;->next:Lorg/jbox2d/dynamics/joints/JointEdge;
goto :goto_10
.line 1172
:cond_21
const/4 v0, 0x1
goto :goto_d
.end method
.method protected final synchronizeFixtures()V
.registers 6
.prologue
.line 1117
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->pxf:Lorg/jbox2d/common/Transform;
.line 1124
iget-object v0, v1, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v2, v2, Lorg/jbox2d/common/Sweep;->a0:F
invoke-static {v2}, Lorg/jbox2d/common/MathUtils;->sin(F)F
move-result v2
iput v2, v0, Lorg/jbox2d/common/Rot;->s:F
.line 1125
iget-object v0, v1, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v2, v2, Lorg/jbox2d/common/Sweep;->a0:F
invoke-static {v2}, Lorg/jbox2d/common/MathUtils;->cos(F)F
move-result v2
iput v2, v0, Lorg/jbox2d/common/Rot;->c:F
.line 1126
iget-object v0, v1, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->c0:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->x:F
iget-object v3, v1, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget v3, v3, Lorg/jbox2d/common/Rot;->c:F
iget-object v4, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v4, v4, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v3, v4
sub-float/2addr v2, v3
iget-object v3, v1, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget v3, v3, Lorg/jbox2d/common/Rot;->s:F
iget-object v4, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v4, v4, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v3, v4
add-float/2addr v2, v3
iput v2, v0, Lorg/jbox2d/common/Vec2;->x:F
.line 1127
iget-object v0, v1, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->c0:Lorg/jbox2d/common/Vec2;
iget v2, v2, Lorg/jbox2d/common/Vec2;->y:F
iget-object v3, v1, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget v3, v3, Lorg/jbox2d/common/Rot;->s:F
iget-object v4, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v4, v4, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v3, v4
sub-float/2addr v2, v3
iget-object v3, v1, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget v3, v3, Lorg/jbox2d/common/Rot;->c:F
iget-object v4, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v4, v4, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
iget v4, v4, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v3, v4
sub-float/2addr v2, v3
iput v2, v0, Lorg/jbox2d/common/Vec2;->y:F
.line 1130
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_fixtureList:Lorg/jbox2d/dynamics/Fixture;
:goto_60
if-eqz v0, :cond_70
.line 1131
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_world:Lorg/jbox2d/dynamics/World;
iget-object v2, v2, Lorg/jbox2d/dynamics/World;->m_contactManager:Lorg/jbox2d/dynamics/ContactManager;
iget-object v2, v2, Lorg/jbox2d/dynamics/ContactManager;->m_broadPhase:Lorg/jbox2d/collision/broadphase/BroadPhase;
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
invoke-virtual {v0, v2, v1, v3}, Lorg/jbox2d/dynamics/Fixture;->synchronize(Lorg/jbox2d/collision/broadphase/BroadPhase;Lorg/jbox2d/common/Transform;Lorg/jbox2d/common/Transform;)V
.line 1130
iget-object v0, v0, Lorg/jbox2d/dynamics/Fixture;->m_next:Lorg/jbox2d/dynamics/Fixture;
goto :goto_60
.line 1133
:cond_70
return-void
.end method
.method public final synchronizeTransform()V
.registers 7
.prologue
.line 1142
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v1, v1, Lorg/jbox2d/common/Sweep;->a:F
invoke-static {v1}, Lorg/jbox2d/common/MathUtils;->sin(F)F
move-result v1
iput v1, v0, Lorg/jbox2d/common/Rot;->s:F
.line 1143
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget v1, v1, Lorg/jbox2d/common/Sweep;->a:F
invoke-static {v1}, Lorg/jbox2d/common/MathUtils;->cos(F)F
move-result v1
iput v1, v0, Lorg/jbox2d/common/Rot;->c:F
.line 1144
iget-object v0, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v0, v0, Lorg/jbox2d/common/Transform;->q:Lorg/jbox2d/common/Rot;
.line 1145
iget-object v1, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v1, v1, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
.line 1146
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v2, v2, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->x:F
iget v4, v0, Lorg/jbox2d/common/Rot;->c:F
iget v5, v1, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v4, v5
sub-float/2addr v3, v4
iget v4, v0, Lorg/jbox2d/common/Rot;->s:F
iget v5, v1, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v4, v5
add-float/2addr v3, v4
iput v3, v2, Lorg/jbox2d/common/Vec2;->x:F
.line 1147
iget-object v2, p0, Lorg/jbox2d/dynamics/Body;->m_xf:Lorg/jbox2d/common/Transform;
iget-object v2, v2, Lorg/jbox2d/common/Transform;->p:Lorg/jbox2d/common/Vec2;
iget-object v3, p0, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v3, v3, Lorg/jbox2d/common/Sweep;->c:Lorg/jbox2d/common/Vec2;
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
iget v4, v0, Lorg/jbox2d/common/Rot;->s:F
iget v5, v1, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v4, v5
sub-float/2addr v3, v4
iget v0, v0, Lorg/jbox2d/common/Rot;->c:F
iget v1, v1, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v0, v1
sub-float v0, v3, v0
iput v0, v2, Lorg/jbox2d/common/Vec2;->y:F
.line 1148
return-void
.end method