WheelJoint.smali
.class public Lorg/jbox2d/dynamics/joints/WheelJoint;
.super Lorg/jbox2d/dynamics/joints/Joint;
.source "WheelJoint.java"
# instance fields
.field private final d:Lorg/jbox2d/common/Vec2;
.field private final m_ax:Lorg/jbox2d/common/Vec2;
.field private final m_ay:Lorg/jbox2d/common/Vec2;
.field private m_bias:F
.field private m_dampingRatio:F
.field private m_enableMotor:Z
.field private m_frequencyHz:F
.field private m_gamma:F
.field private m_impulse:F
.field private m_indexA:I
.field private m_indexB:I
.field private m_invIA:F
.field private m_invIB:F
.field private m_invMassA:F
.field private m_invMassB:F
.field private final m_localAnchorA:Lorg/jbox2d/common/Vec2;
.field private final m_localAnchorB:Lorg/jbox2d/common/Vec2;
.field private final m_localCenterA:Lorg/jbox2d/common/Vec2;
.field private final m_localCenterB:Lorg/jbox2d/common/Vec2;
.field private final m_localXAxisA:Lorg/jbox2d/common/Vec2;
.field private final m_localYAxisA:Lorg/jbox2d/common/Vec2;
.field private m_mass:F
.field private m_maxMotorTorque:F
.field private m_motorImpulse:F
.field private m_motorMass:F
.field private m_motorSpeed:F
.field private m_sAx:F
.field private m_sAy:F
.field private m_sBx:F
.field private m_sBy:F
.field private m_springImpulse:F
.field private m_springMass:F
.field private final rA:Lorg/jbox2d/common/Vec2;
.field private final rB:Lorg/jbox2d/common/Vec2;
# direct methods
.method protected constructor <init>(Lorg/jbox2d/pooling/IWorldPool;Lorg/jbox2d/dynamics/joints/WheelJointDef;)V
.registers 7
.prologue
const/4 v3, 0x0
.line 100
invoke-direct {p0, p1, p2}, Lorg/jbox2d/dynamics/joints/Joint;-><init>(Lorg/jbox2d/pooling/IWorldPool;Lorg/jbox2d/dynamics/joints/JointDef;)V
.line 64
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorA:Lorg/jbox2d/common/Vec2;
.line 65
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorB:Lorg/jbox2d/common/Vec2;
.line 66
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localXAxisA:Lorg/jbox2d/common/Vec2;
.line 67
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localYAxisA:Lorg/jbox2d/common/Vec2;
.line 80
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localCenterA:Lorg/jbox2d/common/Vec2;
.line 81
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localCenterB:Lorg/jbox2d/common/Vec2;
.line 87
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ax:Lorg/jbox2d/common/Vec2;
.line 88
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ay:Lorg/jbox2d/common/Vec2;
.line 226
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rA:Lorg/jbox2d/common/Vec2;
.line 227
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rB:Lorg/jbox2d/common/Vec2;
.line 228
new-instance v0, Lorg/jbox2d/common/Vec2;
invoke-direct {v0}, Lorg/jbox2d/common/Vec2;-><init>()V
iput-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->d:Lorg/jbox2d/common/Vec2;
.line 101
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorA:Lorg/jbox2d/common/Vec2;
iget-object v1, p2, Lorg/jbox2d/dynamics/joints/WheelJointDef;->localAnchorA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 102
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorB:Lorg/jbox2d/common/Vec2;
iget-object v1, p2, Lorg/jbox2d/dynamics/joints/WheelJointDef;->localAnchorB:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 103
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localXAxisA:Lorg/jbox2d/common/Vec2;
iget-object v1, p2, Lorg/jbox2d/dynamics/joints/WheelJointDef;->localAxisA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 104
const/high16 v0, 0x3f800000 # 1.0f
iget-object v1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localXAxisA:Lorg/jbox2d/common/Vec2;
iget-object v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localYAxisA:Lorg/jbox2d/common/Vec2;
invoke-static {v0, v1, v2}, Lorg/jbox2d/common/Vec2;->crossToOutUnsafe(FLorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 107
iput v3, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorMass:F
.line 108
iput v3, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
.line 110
iget v0, p2, Lorg/jbox2d/dynamics/joints/WheelJointDef;->maxMotorTorque:F
iput v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_maxMotorTorque:F
.line 111
iget v0, p2, Lorg/jbox2d/dynamics/joints/WheelJointDef;->motorSpeed:F
iput v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorSpeed:F
.line 112
iget-boolean v0, p2, Lorg/jbox2d/dynamics/joints/WheelJointDef;->enableMotor:Z
iput-boolean v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_enableMotor:Z
.line 114
iget v0, p2, Lorg/jbox2d/dynamics/joints/WheelJointDef;->frequencyHz:F
iput v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_frequencyHz:F
.line 115
iget v0, p2, Lorg/jbox2d/dynamics/joints/WheelJointDef;->dampingRatio:F
iput v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_dampingRatio:F
.line 116
return-void
.end method
# virtual methods
.method public enableMotor(Z)V
.registers 4
.prologue
const/4 v1, 0x1
.line 180
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0, v1}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 181
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0, v1}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 182
iput-boolean p1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_enableMotor:Z
.line 183
return-void
.end method
.method public getAnchorA(Lorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 128
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
iget-object v1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1, p1}, Lorg/jbox2d/dynamics/Body;->getWorldPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 129
return-void
.end method
.method public getAnchorB(Lorg/jbox2d/common/Vec2;)V
.registers 4
.prologue
.line 133
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
iget-object v1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorB:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1, p1}, Lorg/jbox2d/dynamics/Body;->getWorldPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 134
return-void
.end method
.method public getJointSpeed()F
.registers 3
.prologue
.line 172
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
iget v0, v0, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
iget-object v1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
iget v1, v1, Lorg/jbox2d/dynamics/Body;->m_angularVelocity:F
sub-float/2addr v0, v1
return v0
.end method
.method public getJointTranslation()F
.registers 7
.prologue
.line 150
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
.line 151
iget-object v1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
.line 153
iget-object v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v2}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v2
.line 154
iget-object v3, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v3}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v3
.line 155
iget-object v4, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v4}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v4
.line 156
iget-object v5, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v5, v2}, Lorg/jbox2d/dynamics/Body;->getWorldPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 157
iget-object v5, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v5, v3}, Lorg/jbox2d/dynamics/Body;->getWorldPointToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 158
invoke-virtual {v3, v2}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 159
iget-object v1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localXAxisA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1, v4}, Lorg/jbox2d/dynamics/Body;->getWorldVectorToOut(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 161
invoke-static {v3, v4}, Lorg/jbox2d/common/Vec2;->dot(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v0
.line 162
iget-object v1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v2, 0x3
invoke-interface {v1, v2}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 163
return v0
.end method
.method public getLocalAnchorA()Lorg/jbox2d/common/Vec2;
.registers 2
.prologue
.line 119
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorA:Lorg/jbox2d/common/Vec2;
return-object v0
.end method
.method public getLocalAnchorB()Lorg/jbox2d/common/Vec2;
.registers 2
.prologue
.line 123
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorB:Lorg/jbox2d/common/Vec2;
return-object v0
.end method
.method public getLocalAxisA()Lorg/jbox2d/common/Vec2;
.registers 2
.prologue
.line 168
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localXAxisA:Lorg/jbox2d/common/Vec2;
return-object v0
.end method
.method public getMaxMotorTorque()F
.registers 2
.prologue
.line 196
iget v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_maxMotorTorque:F
return v0
.end method
.method public getMotorSpeed()F
.registers 2
.prologue
.line 192
iget v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorSpeed:F
return v0
.end method
.method public getMotorTorque(F)F
.registers 3
.prologue
.line 206
iget v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
mul-float/2addr v0, p1
return v0
.end method
.method public getReactionForce(FLorg/jbox2d/common/Vec2;)V
.registers 6
.prologue
.line 138
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v0}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v0
.line 139
iget-object v1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ay:Lorg/jbox2d/common/Vec2;
invoke-virtual {v0, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v1
iget v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_impulse:F
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->mulLocal(F)Lorg/jbox2d/common/Vec2;
.line 140
iget-object v1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ax:Lorg/jbox2d/common/Vec2;
invoke-virtual {p2, v1}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v1
iget v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->mulLocal(F)Lorg/jbox2d/common/Vec2;
move-result-object v1
invoke-virtual {v1, v0}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v0
invoke-virtual {v0, p1}, Lorg/jbox2d/common/Vec2;->mulLocal(F)Lorg/jbox2d/common/Vec2;
.line 141
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v1, 0x1
invoke-interface {v0, v1}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 142
return-void
.end method
.method public getReactionTorque(F)F
.registers 3
.prologue
.line 146
iget v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
mul-float/2addr v0, p1
return v0
.end method
.method public getSpringDampingRatio()F
.registers 2
.prologue
.line 222
iget v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_dampingRatio:F
return v0
.end method
.method public getSpringFrequencyHz()F
.registers 2
.prologue
.line 214
iget v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_frequencyHz:F
return v0
.end method
.method public initVelocityConstraints(Lorg/jbox2d/dynamics/SolverData;)V
.registers 18
.prologue
.line 232
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
iget v1, v1, Lorg/jbox2d/dynamics/Body;->m_islandIndex:I
move-object/from16 v0, p0
iput v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
.line 233
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
iget v1, v1, Lorg/jbox2d/dynamics/Body;->m_islandIndex:I
move-object/from16 v0, p0
iput v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
.line 234
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localCenterA:Lorg/jbox2d/common/Vec2;
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
iget-object v2, v2, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 235
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localCenterB:Lorg/jbox2d/common/Vec2;
move-object/from16 v0, p0
iget-object v2, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
iget-object v2, v2, Lorg/jbox2d/dynamics/Body;->m_sweep:Lorg/jbox2d/common/Sweep;
iget-object v2, v2, Lorg/jbox2d/common/Sweep;->localCenter:Lorg/jbox2d/common/Vec2;
invoke-virtual {v1, v2}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 236
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
iget v1, v1, Lorg/jbox2d/dynamics/Body;->m_invMass:F
move-object/from16 v0, p0
iput v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassA:F
.line 237
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
iget v1, v1, Lorg/jbox2d/dynamics/Body;->m_invMass:F
move-object/from16 v0, p0
iput v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassB:F
.line 238
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
iget v1, v1, Lorg/jbox2d/dynamics/Body;->m_invI:F
move-object/from16 v0, p0
iput v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIA:F
.line 239
move-object/from16 v0, p0
iget-object v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
iget v1, v1, Lorg/jbox2d/dynamics/Body;->m_invI:F
move-object/from16 v0, p0
iput v1, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIB:F
.line 241
move-object/from16 v0, p0
iget v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassA:F
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassB:F
.line 242
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIA:F
move-object/from16 v0, p0
iget v6, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIB:F
.line 244
move-object/from16 v0, p1
iget-object v1, v0, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
move-object/from16 v0, p0
iget v2, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
aget-object v1, v1, v2
iget-object v7, v1, Lorg/jbox2d/dynamics/contacts/Position;->c:Lorg/jbox2d/common/Vec2;
.line 245
move-object/from16 v0, p1
iget-object v1, v0, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
move-object/from16 v0, p0
iget v2, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
aget-object v1, v1, v2
iget v8, v1, Lorg/jbox2d/dynamics/contacts/Position;->a:F
.line 246
move-object/from16 v0, p1
iget-object v1, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v2, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
aget-object v1, v1, v2
iget-object v9, v1, Lorg/jbox2d/dynamics/contacts/Velocity;->v:Lorg/jbox2d/common/Vec2;
.line 247
move-object/from16 v0, p1
iget-object v1, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v2, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
aget-object v1, v1, v2
iget v2, v1, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 249
move-object/from16 v0, p1
iget-object v1, v0, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
move-object/from16 v0, p0
iget v10, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
aget-object v1, v1, v10
iget-object v10, v1, Lorg/jbox2d/dynamics/contacts/Position;->c:Lorg/jbox2d/common/Vec2;
.line 250
move-object/from16 v0, p1
iget-object v1, v0, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
move-object/from16 v0, p0
iget v11, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
aget-object v1, v1, v11
iget v11, v1, Lorg/jbox2d/dynamics/contacts/Position;->a:F
.line 251
move-object/from16 v0, p1
iget-object v1, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v12, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
aget-object v1, v1, v12
iget-object v12, v1, Lorg/jbox2d/dynamics/contacts/Velocity;->v:Lorg/jbox2d/common/Vec2;
.line 252
move-object/from16 v0, p1
iget-object v1, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v13, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
aget-object v1, v1, v13
iget v1, v1, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 254
move-object/from16 v0, p0
iget-object v13, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v13}, Lorg/jbox2d/pooling/IWorldPool;->popRot()Lorg/jbox2d/common/Rot;
move-result-object v13
.line 255
move-object/from16 v0, p0
iget-object v14, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v14}, Lorg/jbox2d/pooling/IWorldPool;->popRot()Lorg/jbox2d/common/Rot;
move-result-object v14
.line 256
move-object/from16 v0, p0
iget-object v15, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v15}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v15
.line 258
invoke-virtual {v13, v8}, Lorg/jbox2d/common/Rot;->set(F)Lorg/jbox2d/common/Rot;
.line 259
invoke-virtual {v14, v11}, Lorg/jbox2d/common/Rot;->set(F)Lorg/jbox2d/common/Rot;
.line 262
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v15, v8}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
move-object/from16 v0, p0
iget-object v11, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localCenterA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v8, v11}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
move-object/from16 v0, p0
iget-object v11, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rA:Lorg/jbox2d/common/Vec2;
invoke-static {v13, v8, v11}, Lorg/jbox2d/common/Rot;->mulToOutUnsafe(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 263
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorB:Lorg/jbox2d/common/Vec2;
invoke-virtual {v15, v8}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
move-object/from16 v0, p0
iget-object v11, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localCenterB:Lorg/jbox2d/common/Vec2;
invoke-virtual {v8, v11}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
move-object/from16 v0, p0
iget-object v11, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rB:Lorg/jbox2d/common/Vec2;
invoke-static {v14, v8, v11}, Lorg/jbox2d/common/Rot;->mulToOutUnsafe(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 264
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->d:Lorg/jbox2d/common/Vec2;
invoke-virtual {v8, v10}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
move-object/from16 v0, p0
iget-object v10, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rB:Lorg/jbox2d/common/Vec2;
invoke-virtual {v8, v10}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
invoke-virtual {v8, v7}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v7
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v7, v8}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 268
move-object/from16 v0, p0
iget-object v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localYAxisA:Lorg/jbox2d/common/Vec2;
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ay:Lorg/jbox2d/common/Vec2;
invoke-static {v13, v7, v8}, Lorg/jbox2d/common/Rot;->mulToOut(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 269
move-object/from16 v0, p0
iget-object v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->d:Lorg/jbox2d/common/Vec2;
invoke-virtual {v15, v7}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v7
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v7, v8}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v7
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ay:Lorg/jbox2d/common/Vec2;
invoke-static {v7, v8}, Lorg/jbox2d/common/Vec2;->cross(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v7
move-object/from16 v0, p0
iput v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAy:F
.line 270
move-object/from16 v0, p0
iget-object v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rB:Lorg/jbox2d/common/Vec2;
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ay:Lorg/jbox2d/common/Vec2;
invoke-static {v7, v8}, Lorg/jbox2d/common/Vec2;->cross(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v7
move-object/from16 v0, p0
iput v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBy:F
.line 272
add-float v7, v3, v4
move-object/from16 v0, p0
iget v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAy:F
mul-float/2addr v8, v5
move-object/from16 v0, p0
iget v10, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAy:F
mul-float/2addr v8, v10
add-float/2addr v7, v8
move-object/from16 v0, p0
iget v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBy:F
mul-float/2addr v8, v6
move-object/from16 v0, p0
iget v10, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBy:F
mul-float/2addr v8, v10
add-float/2addr v7, v8
move-object/from16 v0, p0
iput v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_mass:F
.line 274
move-object/from16 v0, p0
iget v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_mass:F
const/4 v8, 0x0
cmpl-float v7, v7, v8
if-lez v7, :cond_198
.line 275
const/high16 v7, 0x3f800000 # 1.0f
move-object/from16 v0, p0
iget v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_mass:F
div-float/2addr v7, v8
move-object/from16 v0, p0
iput v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_mass:F
.line 280
:cond_198
const/4 v7, 0x0
move-object/from16 v0, p0
iput v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springMass:F
.line 281
const/4 v7, 0x0
move-object/from16 v0, p0
iput v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bias:F
.line 282
const/4 v7, 0x0
move-object/from16 v0, p0
iput v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_gamma:F
.line 283
move-object/from16 v0, p0
iget v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_frequencyHz:F
const/4 v8, 0x0
cmpl-float v7, v7, v8
if-lez v7, :cond_3a7
.line 284
move-object/from16 v0, p0
iget-object v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localXAxisA:Lorg/jbox2d/common/Vec2;
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ax:Lorg/jbox2d/common/Vec2;
invoke-static {v13, v7, v8}, Lorg/jbox2d/common/Rot;->mulToOut(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 285
move-object/from16 v0, p0
iget-object v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->d:Lorg/jbox2d/common/Vec2;
invoke-virtual {v15, v7}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v7
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v7, v8}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v7
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ax:Lorg/jbox2d/common/Vec2;
invoke-static {v7, v8}, Lorg/jbox2d/common/Vec2;->cross(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v7
move-object/from16 v0, p0
iput v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAx:F
.line 286
move-object/from16 v0, p0
iget-object v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rB:Lorg/jbox2d/common/Vec2;
move-object/from16 v0, p0
iget-object v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ax:Lorg/jbox2d/common/Vec2;
invoke-static {v7, v8}, Lorg/jbox2d/common/Vec2;->cross(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v7
move-object/from16 v0, p0
iput v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBx:F
.line 288
add-float/2addr v3, v4
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAx:F
mul-float/2addr v4, v5
move-object/from16 v0, p0
iget v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAx:F
mul-float/2addr v4, v7
add-float/2addr v3, v4
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBx:F
mul-float/2addr v4, v6
move-object/from16 v0, p0
iget v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBx:F
mul-float/2addr v4, v7
add-float/2addr v3, v4
.line 290
const/4 v4, 0x0
cmpl-float v4, v3, v4
if-lez v4, :cond_27b
.line 291
const/high16 v4, 0x3f800000 # 1.0f
div-float/2addr v4, v3
move-object/from16 v0, p0
iput v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springMass:F
.line 293
move-object/from16 v0, p0
iget-object v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->d:Lorg/jbox2d/common/Vec2;
move-object/from16 v0, p0
iget-object v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ax:Lorg/jbox2d/common/Vec2;
invoke-static {v4, v7}, Lorg/jbox2d/common/Vec2;->dot(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v4
.line 296
const v7, 0x40c90fdb
move-object/from16 v0, p0
iget v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_frequencyHz:F
mul-float/2addr v7, v8
.line 299
const/high16 v8, 0x40000000 # 2.0f
move-object/from16 v0, p0
iget v10, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springMass:F
mul-float/2addr v8, v10
move-object/from16 v0, p0
iget v10, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_dampingRatio:F
mul-float/2addr v8, v10
mul-float/2addr v8, v7
.line 302
move-object/from16 v0, p0
iget v10, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springMass:F
mul-float/2addr v10, v7
mul-float/2addr v7, v10
.line 305
move-object/from16 v0, p1
iget-object v10, v0, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget v10, v10, Lorg/jbox2d/dynamics/TimeStep;->dt:F
.line 306
mul-float v11, v10, v7
add-float/2addr v8, v11
mul-float/2addr v8, v10
move-object/from16 v0, p0
iput v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_gamma:F
.line 307
move-object/from16 v0, p0
iget v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_gamma:F
const/4 v11, 0x0
cmpl-float v8, v8, v11
if-lez v8, :cond_253
.line 308
const/high16 v8, 0x3f800000 # 1.0f
move-object/from16 v0, p0
iget v11, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_gamma:F
div-float/2addr v8, v11
move-object/from16 v0, p0
iput v8, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_gamma:F
.line 311
:cond_253
mul-float/2addr v4, v10
mul-float/2addr v4, v7
move-object/from16 v0, p0
iget v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_gamma:F
mul-float/2addr v4, v7
move-object/from16 v0, p0
iput v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bias:F
.line 313
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_gamma:F
add-float/2addr v3, v4
move-object/from16 v0, p0
iput v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springMass:F
.line 314
move-object/from16 v0, p0
iget v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springMass:F
const/4 v4, 0x0
cmpl-float v3, v3, v4
if-lez v3, :cond_27b
.line 315
const/high16 v3, 0x3f800000 # 1.0f
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springMass:F
div-float/2addr v3, v4
move-object/from16 v0, p0
iput v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springMass:F
.line 323
:cond_27b
:goto_27b
move-object/from16 v0, p0
iget-boolean v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_enableMotor:Z
if-eqz v3, :cond_3ae
.line 324
add-float v3, v5, v6
move-object/from16 v0, p0
iput v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorMass:F
.line 325
move-object/from16 v0, p0
iget v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorMass:F
const/4 v4, 0x0
cmpl-float v3, v3, v4
if-lez v3, :cond_29b
.line 326
const/high16 v3, 0x3f800000 # 1.0f
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorMass:F
div-float/2addr v3, v4
move-object/from16 v0, p0
iput v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorMass:F
.line 333
:cond_29b
:goto_29b
move-object/from16 v0, p1
iget-object v3, v0, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget-boolean v3, v3, Lorg/jbox2d/dynamics/TimeStep;->warmStarting:Z
if-eqz v3, :cond_3ba
.line 334
move-object/from16 v0, p0
iget-object v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v3}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v3
.line 336
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_impulse:F
move-object/from16 v0, p1
iget-object v5, v0, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget v5, v5, Lorg/jbox2d/dynamics/TimeStep;->dtRatio:F
mul-float/2addr v4, v5
move-object/from16 v0, p0
iput v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_impulse:F
.line 337
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
move-object/from16 v0, p1
iget-object v5, v0, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget v5, v5, Lorg/jbox2d/dynamics/TimeStep;->dtRatio:F
mul-float/2addr v4, v5
move-object/from16 v0, p0
iput v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
.line 338
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
move-object/from16 v0, p1
iget-object v5, v0, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget v5, v5, Lorg/jbox2d/dynamics/TimeStep;->dtRatio:F
mul-float/2addr v4, v5
move-object/from16 v0, p0
iput v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
.line 340
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_impulse:F
move-object/from16 v0, p0
iget-object v5, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ay:Lorg/jbox2d/common/Vec2;
iget v5, v5, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v4, v5
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
move-object/from16 v0, p0
iget-object v6, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ax:Lorg/jbox2d/common/Vec2;
iget v6, v6, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v5, v6
add-float/2addr v4, v5
iput v4, v3, Lorg/jbox2d/common/Vec2;->x:F
.line 341
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_impulse:F
move-object/from16 v0, p0
iget-object v5, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ay:Lorg/jbox2d/common/Vec2;
iget v5, v5, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v4, v5
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
move-object/from16 v0, p0
iget-object v6, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ax:Lorg/jbox2d/common/Vec2;
iget v6, v6, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v5, v6
add-float/2addr v4, v5
iput v4, v3, Lorg/jbox2d/common/Vec2;->y:F
.line 342
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_impulse:F
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAy:F
mul-float/2addr v4, v5
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
move-object/from16 v0, p0
iget v6, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAx:F
mul-float/2addr v5, v6
add-float/2addr v4, v5
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
add-float/2addr v4, v5
.line 343
move-object/from16 v0, p0
iget v5, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_impulse:F
move-object/from16 v0, p0
iget v6, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBy:F
mul-float/2addr v5, v6
move-object/from16 v0, p0
iget v6, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
move-object/from16 v0, p0
iget v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBx:F
mul-float/2addr v6, v7
add-float/2addr v5, v6
move-object/from16 v0, p0
iget v6, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
add-float/2addr v5, v6
.line 345
iget v6, v9, Lorg/jbox2d/common/Vec2;->x:F
move-object/from16 v0, p0
iget v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassA:F
iget v8, v3, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v7, v8
sub-float/2addr v6, v7
iput v6, v9, Lorg/jbox2d/common/Vec2;->x:F
.line 346
iget v6, v9, Lorg/jbox2d/common/Vec2;->y:F
move-object/from16 v0, p0
iget v7, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassA:F
iget v8, v3, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v7, v8
sub-float/2addr v6, v7
iput v6, v9, Lorg/jbox2d/common/Vec2;->y:F
.line 347
move-object/from16 v0, p0
iget v6, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIA:F
mul-float/2addr v4, v6
sub-float/2addr v2, v4
.line 349
iget v4, v12, Lorg/jbox2d/common/Vec2;->x:F
move-object/from16 v0, p0
iget v6, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassB:F
iget v7, v3, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v6, v7
add-float/2addr v4, v6
iput v4, v12, Lorg/jbox2d/common/Vec2;->x:F
.line 350
iget v4, v12, Lorg/jbox2d/common/Vec2;->y:F
move-object/from16 v0, p0
iget v6, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassB:F
iget v3, v3, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v3, v6
add-float/2addr v3, v4
iput v3, v12, Lorg/jbox2d/common/Vec2;->y:F
.line 351
move-object/from16 v0, p0
iget v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIB:F
mul-float/2addr v3, v5
add-float/2addr v1, v3
.line 352
move-object/from16 v0, p0
iget-object v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v4, 0x1
invoke-interface {v3, v4}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 358
:goto_37e
move-object/from16 v0, p0
iget-object v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v4, 0x2
invoke-interface {v3, v4}, Lorg/jbox2d/pooling/IWorldPool;->pushRot(I)V
.line 359
move-object/from16 v0, p0
iget-object v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v4, 0x1
invoke-interface {v3, v4}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 362
move-object/from16 v0, p1
iget-object v3, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v4, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
aget-object v3, v3, v4
iput v2, v3, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 364
move-object/from16 v0, p1
iget-object v2, v0, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
move-object/from16 v0, p0
iget v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
aget-object v2, v2, v3
iput v1, v2, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 365
return-void
.line 319
:cond_3a7
const/4 v3, 0x0
move-object/from16 v0, p0
iput v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
goto/16 :goto_27b
.line 329
:cond_3ae
const/4 v3, 0x0
move-object/from16 v0, p0
iput v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorMass:F
.line 330
const/4 v3, 0x0
move-object/from16 v0, p0
iput v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
goto/16 :goto_29b
.line 354
:cond_3ba
const/4 v3, 0x0
move-object/from16 v0, p0
iput v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_impulse:F
.line 355
const/4 v3, 0x0
move-object/from16 v0, p0
iput v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
.line 356
const/4 v3, 0x0
move-object/from16 v0, p0
iput v3, v0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
goto :goto_37e
.end method
.method public isMotorEnabled()Z
.registers 2
.prologue
.line 176
iget-boolean v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_enableMotor:Z
return v0
.end method
.method public setMaxMotorTorque(F)V
.registers 4
.prologue
const/4 v1, 0x1
.line 200
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0, v1}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 201
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0, v1}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 202
iput p1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_maxMotorTorque:F
.line 203
return-void
.end method
.method public setMotorSpeed(F)V
.registers 4
.prologue
const/4 v1, 0x1
.line 186
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyA:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0, v1}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 187
iget-object v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bodyB:Lorg/jbox2d/dynamics/Body;
invoke-virtual {v0, v1}, Lorg/jbox2d/dynamics/Body;->setAwake(Z)V
.line 188
iput p1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorSpeed:F
.line 189
return-void
.end method
.method public setSpringDampingRatio(F)V
.registers 2
.prologue
.line 218
iput p1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_dampingRatio:F
.line 219
return-void
.end method
.method public setSpringFrequencyHz(F)V
.registers 2
.prologue
.line 210
iput p1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_frequencyHz:F
.line 211
return-void
.end method
.method public solvePositionConstraints(Lorg/jbox2d/dynamics/SolverData;)Z
.registers 14
.prologue
const/4 v0, 0x0
.line 443
iget-object v1, p1, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
iget v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
aget-object v1, v1, v2
iget-object v1, v1, Lorg/jbox2d/dynamics/contacts/Position;->c:Lorg/jbox2d/common/Vec2;
.line 444
iget-object v2, p1, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
iget v3, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
aget-object v2, v2, v3
iget v2, v2, Lorg/jbox2d/dynamics/contacts/Position;->a:F
.line 445
iget-object v3, p1, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
iget v4, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
aget-object v3, v3, v4
iget-object v3, v3, Lorg/jbox2d/dynamics/contacts/Position;->c:Lorg/jbox2d/common/Vec2;
.line 446
iget-object v4, p1, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
iget v5, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
aget-object v4, v4, v5
iget v4, v4, Lorg/jbox2d/dynamics/contacts/Position;->a:F
.line 448
iget-object v5, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v5}, Lorg/jbox2d/pooling/IWorldPool;->popRot()Lorg/jbox2d/common/Rot;
move-result-object v5
.line 449
iget-object v6, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v6}, Lorg/jbox2d/pooling/IWorldPool;->popRot()Lorg/jbox2d/common/Rot;
move-result-object v6
.line 450
iget-object v7, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v7}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v7
.line 452
invoke-virtual {v5, v2}, Lorg/jbox2d/common/Rot;->set(F)Lorg/jbox2d/common/Rot;
.line 453
invoke-virtual {v6, v4}, Lorg/jbox2d/common/Rot;->set(F)Lorg/jbox2d/common/Rot;
.line 455
iget-object v8, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v7, v8}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
iget-object v9, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localCenterA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v8, v9}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
iget-object v9, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rA:Lorg/jbox2d/common/Vec2;
invoke-static {v5, v8, v9}, Lorg/jbox2d/common/Rot;->mulToOut(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 456
iget-object v8, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localAnchorB:Lorg/jbox2d/common/Vec2;
invoke-virtual {v7, v8}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
iget-object v9, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localCenterB:Lorg/jbox2d/common/Vec2;
invoke-virtual {v8, v9}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
iget-object v9, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rB:Lorg/jbox2d/common/Vec2;
invoke-static {v6, v8, v9}, Lorg/jbox2d/common/Rot;->mulToOut(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 457
iget-object v6, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->d:Lorg/jbox2d/common/Vec2;
invoke-virtual {v6, v3}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v6
invoke-virtual {v6, v1}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v6
iget-object v8, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rB:Lorg/jbox2d/common/Vec2;
invoke-virtual {v6, v8}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v6
iget-object v8, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v6, v8}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
.line 459
iget-object v6, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v6}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v6
.line 460
iget-object v8, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_localYAxisA:Lorg/jbox2d/common/Vec2;
invoke-static {v5, v8, v6}, Lorg/jbox2d/common/Rot;->mulToOut(Lorg/jbox2d/common/Rot;Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)V
.line 462
iget-object v5, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->d:Lorg/jbox2d/common/Vec2;
invoke-virtual {v7, v5}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v5
iget-object v7, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rA:Lorg/jbox2d/common/Vec2;
invoke-virtual {v5, v7}, Lorg/jbox2d/common/Vec2;->addLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v5
invoke-static {v5, v6}, Lorg/jbox2d/common/Vec2;->cross(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v5
.line 463
iget-object v7, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->rB:Lorg/jbox2d/common/Vec2;
invoke-static {v7, v6}, Lorg/jbox2d/common/Vec2;->cross(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v7
.line 465
iget-object v8, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->d:Lorg/jbox2d/common/Vec2;
invoke-static {v8, v6}, Lorg/jbox2d/common/Vec2;->dot(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v8
.line 467
iget v9, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassA:F
iget v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassB:F
add-float/2addr v9, v10
iget v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIA:F
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAy:F
mul-float/2addr v10, v11
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAy:F
mul-float/2addr v10, v11
add-float/2addr v9, v10
iget v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIB:F
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBy:F
mul-float/2addr v10, v11
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBy:F
mul-float/2addr v10, v11
add-float/2addr v9, v10
.line 470
cmpl-float v10, v9, v0
if-eqz v10, :cond_b4
.line 471
neg-float v0, v8
div-float/2addr v0, v9
.line 476
:cond_b4
iget-object v9, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v9}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v9
.line 477
iget v10, v6, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v10, v0
iput v10, v9, Lorg/jbox2d/common/Vec2;->x:F
.line 478
iget v6, v6, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v6, v0
iput v6, v9, Lorg/jbox2d/common/Vec2;->y:F
.line 479
mul-float/2addr v5, v0
.line 480
mul-float/2addr v0, v7
.line 482
iget v6, v1, Lorg/jbox2d/common/Vec2;->x:F
iget v7, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassA:F
iget v10, v9, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v7, v10
sub-float/2addr v6, v7
iput v6, v1, Lorg/jbox2d/common/Vec2;->x:F
.line 483
iget v6, v1, Lorg/jbox2d/common/Vec2;->y:F
iget v7, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassA:F
iget v10, v9, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v7, v10
sub-float/2addr v6, v7
iput v6, v1, Lorg/jbox2d/common/Vec2;->y:F
.line 484
iget v1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIA:F
mul-float/2addr v1, v5
sub-float v1, v2, v1
.line 485
iget v2, v3, Lorg/jbox2d/common/Vec2;->x:F
iget v5, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassB:F
iget v6, v9, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v5, v6
add-float/2addr v2, v5
iput v2, v3, Lorg/jbox2d/common/Vec2;->x:F
.line 486
iget v2, v3, Lorg/jbox2d/common/Vec2;->y:F
iget v5, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassB:F
iget v6, v9, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v5, v6
add-float/2addr v2, v5
iput v2, v3, Lorg/jbox2d/common/Vec2;->y:F
.line 487
iget v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIB:F
mul-float/2addr v0, v2
add-float/2addr v0, v4
.line 489
iget-object v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v3, 0x3
invoke-interface {v2, v3}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 490
iget-object v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v3, 0x2
invoke-interface {v2, v3}, Lorg/jbox2d/pooling/IWorldPool;->pushRot(I)V
.line 492
iget-object v2, p1, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
iget v3, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
aget-object v2, v2, v3
iput v1, v2, Lorg/jbox2d/dynamics/contacts/Position;->a:F
.line 494
iget-object v1, p1, Lorg/jbox2d/dynamics/SolverData;->positions:[Lorg/jbox2d/dynamics/contacts/Position;
iget v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
aget-object v1, v1, v2
iput v0, v1, Lorg/jbox2d/dynamics/contacts/Position;->a:F
.line 496
invoke-static {v8}, Lorg/jbox2d/common/MathUtils;->abs(F)F
move-result v0
sget v1, Lorg/jbox2d/common/Settings;->linearSlop:F
cmpg-float v0, v0, v1
if-gtz v0, :cond_11f
const/4 v0, 0x1
:goto_11e
return v0
:cond_11f
const/4 v0, 0x0
goto :goto_11e
.end method
.method public solveVelocityConstraints(Lorg/jbox2d/dynamics/SolverData;)V
.registers 16
.prologue
.line 369
iget v0, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassA:F
iget v1, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invMassB:F
.line 370
iget v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIA:F
iget v3, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_invIB:F
.line 372
iget-object v4, p1, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
iget v5, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
aget-object v4, v4, v5
iget-object v4, v4, Lorg/jbox2d/dynamics/contacts/Velocity;->v:Lorg/jbox2d/common/Vec2;
.line 373
iget-object v5, p1, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
iget v6, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
aget-object v5, v5, v6
iget v5, v5, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 374
iget-object v6, p1, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
iget v7, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
aget-object v6, v6, v7
iget-object v6, v6, Lorg/jbox2d/dynamics/contacts/Velocity;->v:Lorg/jbox2d/common/Vec2;
.line 375
iget-object v7, p1, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
iget v8, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
aget-object v7, v7, v8
iget v7, v7, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 377
iget-object v8, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v8}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v8
.line 378
iget-object v9, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
invoke-interface {v9}, Lorg/jbox2d/pooling/IWorldPool;->popVec2()Lorg/jbox2d/common/Vec2;
move-result-object v9
.line 382
iget-object v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ax:Lorg/jbox2d/common/Vec2;
invoke-virtual {v8, v6}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v11
invoke-virtual {v11, v4}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v11
invoke-static {v10, v11}, Lorg/jbox2d/common/Vec2;->dot(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v10
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBx:F
mul-float/2addr v11, v7
add-float/2addr v10, v11
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAx:F
mul-float/2addr v11, v5
sub-float/2addr v10, v11
.line 383
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springMass:F
neg-float v11, v11
iget v12, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_bias:F
add-float/2addr v10, v12
iget v12, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_gamma:F
iget v13, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
mul-float/2addr v12, v13
add-float/2addr v10, v12
mul-float/2addr v10, v11
.line 384
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
add-float/2addr v11, v10
iput v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_springImpulse:F
.line 386
iget-object v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ax:Lorg/jbox2d/common/Vec2;
iget v11, v11, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v11, v10
iput v11, v9, Lorg/jbox2d/common/Vec2;->x:F
.line 387
iget-object v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ax:Lorg/jbox2d/common/Vec2;
iget v11, v11, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v11, v10
iput v11, v9, Lorg/jbox2d/common/Vec2;->y:F
.line 388
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAx:F
mul-float/2addr v11, v10
.line 389
iget v12, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBx:F
mul-float/2addr v10, v12
.line 391
iget v12, v4, Lorg/jbox2d/common/Vec2;->x:F
iget v13, v9, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v13, v0
sub-float/2addr v12, v13
iput v12, v4, Lorg/jbox2d/common/Vec2;->x:F
.line 392
iget v12, v4, Lorg/jbox2d/common/Vec2;->y:F
iget v13, v9, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v13, v0
sub-float/2addr v12, v13
iput v12, v4, Lorg/jbox2d/common/Vec2;->y:F
.line 393
mul-float/2addr v11, v2
sub-float/2addr v5, v11
.line 395
iget v11, v6, Lorg/jbox2d/common/Vec2;->x:F
iget v12, v9, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v12, v1
add-float/2addr v11, v12
iput v11, v6, Lorg/jbox2d/common/Vec2;->x:F
.line 396
iget v11, v6, Lorg/jbox2d/common/Vec2;->y:F
iget v12, v9, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v12, v1
add-float/2addr v11, v12
iput v11, v6, Lorg/jbox2d/common/Vec2;->y:F
.line 397
mul-float/2addr v10, v3
add-float/2addr v7, v10
.line 402
sub-float v10, v7, v5
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorSpeed:F
sub-float/2addr v10, v11
.line 403
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorMass:F
neg-float v11, v11
mul-float/2addr v10, v11
.line 405
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
.line 406
iget-object v12, p1, Lorg/jbox2d/dynamics/SolverData;->step:Lorg/jbox2d/dynamics/TimeStep;
iget v12, v12, Lorg/jbox2d/dynamics/TimeStep;->dt:F
iget v13, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_maxMotorTorque:F
mul-float/2addr v12, v13
.line 407
iget v13, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
add-float/2addr v10, v13
neg-float v13, v12
invoke-static {v10, v13, v12}, Lorg/jbox2d/common/MathUtils;->clamp(FFF)F
move-result v10
iput v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
.line 408
iget v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_motorImpulse:F
sub-float/2addr v10, v11
.line 410
mul-float v11, v2, v10
sub-float/2addr v5, v11
.line 411
mul-float/2addr v10, v3
add-float/2addr v7, v10
.line 416
iget-object v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ay:Lorg/jbox2d/common/Vec2;
invoke-virtual {v8, v6}, Lorg/jbox2d/common/Vec2;->set(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
invoke-virtual {v8, v4}, Lorg/jbox2d/common/Vec2;->subLocal(Lorg/jbox2d/common/Vec2;)Lorg/jbox2d/common/Vec2;
move-result-object v8
invoke-static {v10, v8}, Lorg/jbox2d/common/Vec2;->dot(Lorg/jbox2d/common/Vec2;Lorg/jbox2d/common/Vec2;)F
move-result v8
iget v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBy:F
mul-float/2addr v10, v7
add-float/2addr v8, v10
iget v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAy:F
mul-float/2addr v10, v5
sub-float/2addr v8, v10
.line 417
iget v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_mass:F
neg-float v10, v10
mul-float/2addr v8, v10
.line 418
iget v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_impulse:F
add-float/2addr v10, v8
iput v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_impulse:F
.line 420
iget-object v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ay:Lorg/jbox2d/common/Vec2;
iget v10, v10, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v10, v8
iput v10, v9, Lorg/jbox2d/common/Vec2;->x:F
.line 421
iget-object v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_ay:Lorg/jbox2d/common/Vec2;
iget v10, v10, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v10, v8
iput v10, v9, Lorg/jbox2d/common/Vec2;->y:F
.line 422
iget v10, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sAy:F
mul-float/2addr v10, v8
.line 423
iget v11, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_sBy:F
mul-float/2addr v8, v11
.line 425
iget v11, v4, Lorg/jbox2d/common/Vec2;->x:F
iget v12, v9, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v12, v0
sub-float/2addr v11, v12
iput v11, v4, Lorg/jbox2d/common/Vec2;->x:F
.line 426
iget v11, v4, Lorg/jbox2d/common/Vec2;->y:F
iget v12, v9, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v0, v12
sub-float v0, v11, v0
iput v0, v4, Lorg/jbox2d/common/Vec2;->y:F
.line 427
mul-float v0, v2, v10
sub-float v0, v5, v0
.line 429
iget v2, v6, Lorg/jbox2d/common/Vec2;->x:F
iget v4, v9, Lorg/jbox2d/common/Vec2;->x:F
mul-float/2addr v4, v1
add-float/2addr v2, v4
iput v2, v6, Lorg/jbox2d/common/Vec2;->x:F
.line 430
iget v2, v6, Lorg/jbox2d/common/Vec2;->y:F
iget v4, v9, Lorg/jbox2d/common/Vec2;->y:F
mul-float/2addr v1, v4
add-float/2addr v1, v2
iput v1, v6, Lorg/jbox2d/common/Vec2;->y:F
.line 431
mul-float v1, v3, v8
add-float/2addr v1, v7
.line 433
iget-object v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->pool:Lorg/jbox2d/pooling/IWorldPool;
const/4 v3, 0x2
invoke-interface {v2, v3}, Lorg/jbox2d/pooling/IWorldPool;->pushVec2(I)V
.line 436
iget-object v2, p1, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
iget v3, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexA:I
aget-object v2, v2, v3
iput v0, v2, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 438
iget-object v0, p1, Lorg/jbox2d/dynamics/SolverData;->velocities:[Lorg/jbox2d/dynamics/contacts/Velocity;
iget v2, p0, Lorg/jbox2d/dynamics/joints/WheelJoint;->m_indexB:I
aget-object v0, v0, v2
iput v1, v0, Lorg/jbox2d/dynamics/contacts/Velocity;->w:F
.line 439
return-void
.end method